13 ms·
Superfile – A fancy, pretty terminal file manager
- teddyh 2y agoWhy is this better than Midnight Commander or GNU Interactive Tools?
- hidelooktropic 2y agoThere's not so much as a screenshot of MC on their official page. Hard to say. Did the author say their product was better?
- yjftsjthsd-h 2y agoI think it's fair to ask of any new program why to use it rather than an existing option. And there can be lots of reasons - more active development, new features, less buggy, smaller program (uses less disk/memory, easier to be less buggy), easier to install, easier to use, whatever. And the author of a program doesn't necessarily need to have an answer, especially not early on; programming is sometimes its own reward, and sometimes advantages only become obvious later. But as a user, yeah it's useful to know what advantage this thing has over all the other things that do the ~same stuff.
- logrot 2y ago> why to use it Of course. But that's not what he asked.
- nine_k 2y agoI won't say that mc is really buggy, nor that it's large. But even if it were, it's weird to not even mention it, let alone compare with it, while likely most of the target audience has been using mc for years (or decades, like me).
- deleted 2y ago[deleted]
- camgunz 2y agoIs the author really only 16? Wow!
- suction 2y ago[dead]
- idunnoman1222 2y agoBrew install superfile Now guess what the executable is called…
- fkyoureadthedoc 2y agoI almost didn't even try to figure it out after I installed and the `superfile` command didn't work.
- deleted 2y ago[deleted]
- lsllc 2y agoYes, I had the same question! (`spf` for the curious!) EDIT: To be fair, right at the beginning of the tutorial is: > First, if you want to open superfile by opening a terminal and typing spf.
- quesera 2y agoA symlink would be a good solution.
- eddd-ddde 2y agoThis happens to me quite often. pacman -Ql <package> | grep bin There must be similar commands for other package managers.
- micklemeal 2y agoThis looks pretty nice! I like the ability to add multiple file panels versus tabs that are common with nnn and ranger. Going to give this a spin today.
- TheAmazingRace 2y agoWow, this looks super slick! Kudos to the developer for a fantastic little project!
- qudat 2y agoLooks like it's using bubbletea, nice!
- berzzz 2y agoVery nice!
- schindlabua 2y agoLove all the terminal tooling that's come out in recent years. I'm this close to chrome and rofi being the only gui I'm using on my work machine. This looks great!
- ThrowawayTestr 2y ago[flagged]
- hiatus 2y agoThis program is available for multiple platforms, not just linux. Anyway, many people prefer keyboard navigation and already have a shell open for other tasks. Navigation by keyboard alone is not generally a feature in most GUI applications (see things like Vimium to add that capability to Chrome, for instance).
- Teever 2y agoNot only is it multiplatform, but through the magic of SSH TUIs are available on any platform. I think that a lot of people are drawn to the idea of being able to customize their UI the exact way they want it and have it be that way everywhere. There are compromises with TUIs but that idea of a universal interface is very alluring to some people who want to optimize that part of their life.
- ykonstant 2y agoThat's too much generalization. I like skeuomorphic GUI with proper shadows, separators, color gradients, 2.5D borders, menus, etc. Nobody is offering those these days, so I gravitated towards TUI; I also have a lot of nostalgia for the DOS days, and although terminal emulation is worse than a proper command line, I make do.
- skydhash 2y agoI came on macOS on Mojave, but have seen Maverick and Lion screenshots and I've used iOS 6 as well. Flat UI can be prettier, but the physicality of skeuomorphic design is better for interaction. There was something more when interacting with Winamp instead of the current batch of audio players we have today. Win7 was great.
- copperbrick25 2y agoTried it out for a minute and it crashed because I had a broken recursive symlink in my home directory: 1. Create a recursive symlink to itself: `ln -s test test` 2. open superfile and navigate to it. 3. Observe crash
- atlas_hugged 2y ago[flagged]
- dingnuts 2y agoNo, fix the issue and open a PR. This is a personal project. They need contributions, not a pile of discouraging issue reports for which they'll never have enough time.
- filcuk 2y agoNo, I'll raise an issue. Someone who actually knows Go can work on it.
- filcuk 2y agoNo, I'll raise an issue. Someone who actually knows Go can work on it.
- hiatus 2y agoI don't have to be a doctor to know something is wrong in my body, but I would have to be a doctor to fix it. Put another way: just because you figured out something is wrong does not mean you have the ability to fix it.
- klabb3 2y agoAs a maintainer that just makes it worse. Familiarity with the code base is typically necessary to make a good quality contribution. Issues are a sign of love, imo, because they don’t want to stop using your project, they want it to improve. Of course there are also entitled and rude people. But we should not set the standards based on a-holes. > not a pile of discouraging issue reports This is such a strange way to look at software development. Discouraging?
- kwhitefoot 2y ago"You can go to the latest release and download the binary file. Once it is downloaded please excrate the file after that enter the following in your terminal:" Is excrate some new jargon meaning to take something out of a crate? Or just a boring typo for extract?
- night_cat 2y agoJust typo..
- kwhitefoot 2y agoShame! :-)
- nine_k 2y agoIt's a perfectly cromulent word. Let's use it more widely, and it will become a real word, like "quiz" or "blog" have become.
- NikkiA 2y agoOr a typo for extricate
- wegwerff 2y agoTypo for "execrate" meaning "invoke a curse on". If you find the right spell to cast in your terminal, it will reveal its contents to you.
- kwhitefoot 2y ago$ spf spf: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by spf) spf: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by spf) I'm on Linux Mint 19
- mcbuilder 2y agoThis is a linking issue (you're missing a specific version of a dynamically linked standard library), and probably best in the issues on the repo, not Hacker News.
- antihero 2y agoThey could build it with CGO_ENABLED=0, if they are using Alpine, perhaps.
- opheliate 2y agoAn operating system from 2018 which is no longer maintained by its vendor? https://www.linuxmint.com/rel_tara_cinnamon_whatsnew.php https://www.linuxmint.com/rel_tara_cinnamon_whatsnew.php I think it's somewhat unreasonable to expect software released today will necessarily work on your environment without some legwork.
- isopede 2y agoIs it though? I can run Windows programs from 20 years ago on my Windows machine just fine. Issues with Linux binary distribution meanwhile are ubiquitous, with glibc probably being the single biggest offender. What's worse is that you can't even really statically link it without herculean effort. I've spent an inordinate amount of my life trying to wrangle third-party binaries on Linux libraries and it's just a sorry state of affairs. Try taking a binary package from a vendor from even just 5 years ago and there's a non-zero chance it won't run on your modern distro.
- donio 2y agoYou are talking about backward compatibility, the parent thread is about forward compatibility. You won't have much luck running a modern executable on XP unless the vendor went out of their way to make that happen. > What's worse is that you can't even really statically link it without herculean effort. The program we are discussing happens to be written in Go so it's trivial to build a statically linked executable.
- lupusreal 2y agoLooks very swanky. Not sure if I'll replace ranger but this is definitely a contender.
- anta40 2y agoVery cool. Seems like a revamped version of Midnight Commander. Let me try..
- srwest 2y agoIf didn't read the docs, noticed hkjl moved around, and accidentally deleted 3 folders with ctrl+d seeing if I could scroll down faster. Scary defaults if you have Vim muscle memory.
- likeclockwork 2y agoHoly shit, thanks for the warning.
- patwie 2y agoThese key-bindings are pure evil for vim users.
- gouggoug 2y agoEven for non-vim users this default is absolutely horrendous
- StrLght 2y agoSo there's no confirmation for deletion? Oof, that's probably the most unsafe default I have seen in a while.
- night_cat 2y agoThere will be a prompt for complete deletion, but there will be no prompt for putting it in the trash can.
- godelski 2y agoIt really weirds me out how many people use a sprinkling of vim keybindings but don't use more. Like how many vim users don't know <C-[> (esc) or contextual completion like <C-x><C-p> (:help ins-completion). I see so many people use plugins for things that already exist in vim but people never discuss. One that bites me a lot is when a vim keybinding is implemented, has insert mode, and they don't also rebind <C-w>. Go from trying to delete a word (backwards) but end up losing a whole session. It's such muscle memory I sometimes do it on webpages, but maybe that one is a feature instead of a bug lol
- 3523582908 2y agogorgeous!! did you build the ui yourself or did you use a package to help? how did that go?
- paranoidxprod 2y agoSeems like they're using Bubble Tea, a Terminal UI framework for Go. I've heard very good things about it and have been meaning to check it out. https://github.com/charmbracelet/bubbletea https://github.com/charmbracelet/bubbletea
- Cu3PO42 2y agoThe same project has an application called Gum which exposes primitives from their UI framework via a single CLI binary. It's intended to be used from a normal bash script and I've found it really quite pleasant to use. For example, you could write 'gum choose foo bar baz' to get a nice picker over the three provided options. Their repo has a ton of examples: https://github.com/charmbracelet/gum https://github.com/charmbracelet/gum
- safetytrick 2y agoWith a dependency on a font. Wow, it's been a while since I've seen that.
- explosion-s 2y agoFairly commonplace for TUIs that use icon. Tons of vim plugins rely on NerdFonts (A regular monospace font that also includes tons of icons)
- apitman 2y agoIs there any technical reason the font can't be shipped in the binary and installed automatically?
- wpm 2y agoWhich font? What license? Which one does the user want? Where does it get installed? Will the user consent? I did not use a Nerd Font until I tried superfile out today. It was not hard to build my own nerd font version of Berkeley Mono with font forge.
- medstrom 2y agoBesides, you still have to set your terminal to use that font. Not as if typing `spf` on the command line can reconfigure whichever terminal you are on.
- apitman 2y agoI very well might be in the minority of Linux users, but I don't particularly care about the answers to most of these questions. I just want it to work. Give me solid defaults[0]. I'm not saying you shouldn't be able to override those defaults. That's an important feature of Linux. My first experience running a cool-looking TUI file manager yesterday (I actually ended up trying yazi first) was that I got a lot of blank squares in place of missing icons and emojis due to missing fonts. I had to spend 20 minutes figuring that out before I got a good experience. Interestingly, I also tried wezterm[1] in the process. It actually ships with the required fonts as fallback, but the version from my distro's package manager didn't work (the AppImage did). I'm guessing my distro removed them, maybe for some of the reasons you cited. I started installing the nerd-fonts group for my distro. 6.5GB... no thanks. After manually poking through them and some googling I finally installed a couple and it's working now. My overall point is that it's possible for app developers to provide good defaults like wezterm does. It's also possible for distro's to break those defaults. Also, if size is a concern then at least detect that I don't have a working font and offer to download one for me. [0]: https://blog.codinghorror.com/the-power-of-defaults/ https://blog.codinghorror.com/the-power-of-defaults/ [1]: https://wezfurlong.org/wezterm/ https://wezfurlong.org/wezterm/
- terminaltrove 2y agosuperfile looks great, we have this listed on the trove (1) for other package managers, we love what's been done recently in the terminal / tui space. I encourage also supporting the author as well on their ko-fi page for a new laptop. (2) 1. https://terminaltrove.com/superfile/ https://terminaltrove.com/superfile/ 2. https://ko-fi.com/night_cat https://ko-fi.com/night_cat
- night_cat 2y agoThanks you so much,I really like terminal trove!
- pandemic_region 2y agoThanks for the terminal trove tip ! Subscribed. I feel the market is ripe for a terminal ide again. Anything interesting going in in that space?
- terminaltrove 2y ago[dead]
- gigatexal 2y agoplay this is very pretty
- insane_dreamer 2y agoLooks nice! Not sure if it's enough to pry me away from MC, but worth a look.
- insane_dreamer 2y agovery first impression after <30 sec: having to press ^F or any key to enable filename/folder search in a folder creates friction vs. MC's approach where typing automatically starts search of current folder so you can hit a couple of keys, press enter, etc. Would be nice if that were a mode here too.
- sooheon 2y agoThis type-to-search-immediately functionality is why I still have Launchbar installed on all my Macs -- there's nothing faster for navigation/moving/operations, even in the terminal.
- godisdad 2y agoDope. Reminds me of far.exe
- swozey 2y agoThis reminds me of a Windows 3.5 app called List (IIRC) that one day I lost the floppy to and as a 7 year old kid was completely lost without. So I installed bsd and broke my dads computer instead.
- anigbrowl 2y agobrew install superfile (ok) superfile (not found) find superfile (not sound) cd /usr/local/Cellar/superfile/1.1.2/bin ls spf This is mentioned in the tutorial but it's probably worth mentioning in the install section to save people 5-10 minutes of confusion. Once I found the filename I loved it.
- naikrovek 2y agook i'm a bit late to this post but can you explain why you use a terminal file manager UI? I've never found myself using these except very early in my computing career before I knew the DOS copy commands to use.
- dotancohen 2y agoI feel the same way. Bash is my file manager.
- medstrom 2y agoOr even provide superfile as an alias which prints a message saying "you can also call it as spf", once a day. People don't read install sections.
- stormking 2y agoThe problem is that it's not mentioned in the installation instructions, only in the tutorial.
- wkrsz 2y agoI'm waiting for preview feature: https://github.com/MHNightCat/superfile/issues/26 https://github.com/MHNightCat/superfile/issues/26 Fortunately it's now on top of the to-do list: https://github.com/users/MHNightCat/projects/4/views/1 https://github.com/users/MHNightCat/projects/4/views/1
- qwertox 2y agoThis did send me down a rabbit hole, and I ended up installing nnn (n³), only then to land on their GitHub page and staring at the keyboard layout and testing stuff out in the terminal. It is interesting and I wonder how it's getting used. [1] https://en.wikipedia.org/wiki/Nnn_(file_manager) https://en.wikipedia.org/wiki/Nnn_(file_manager)
- necrotic_comp 2y agoso I don't understand what the usecase for a terminal file manager is. I've always felt comfortable using cp/mv/mkdir/etc. but I feel like I'm missing out. Can someone explain how and why you'd use this ?
- wonger_ 2y agoThree advantages I realized, having done a lot of cd/ls/cp/mv/rm and also having used a file manager: - power user workflows may differ from typical dev workflows. Imagine things that a point-and-click file manager solves quicker than the command-line. Example: manually organizing a bunch of .mp3s, or cleaning out misc downloads. A TUI file manager makes these tasks quicker too. - quick directory navigation. cd is slow. There's solutions for a better cd, involving z or fzf or whatever. But a file manager should solve it too. - a file manager, especially a two-pane view, is cognitively easier. Better UX. Example: Having a src/ pane on one side and dst/ on the other, selecting a few src/ files, then performing a copy command. You get instant visual feedback to confirm that the files appeared in dst/. Compared to ls, cp file1 file2 file3 dst/, ls dst/. I always feel the need to ls after commands because the command-line doesn't give much feedback. tldr: speed, ux, comfort. But if you're already comfortable with your tools, I think that's the most important thing.
- necrotic_comp 2y agoThanks. That makes sense. I guess I'm just super entrenched - very comfortable with my tooling and would generally write a one-liner for something like the above. The way I do it is a bit nuts though, and you're right, the above is much more consistent and has its advantages
- bregma 2y agoHardly speed or UX. Type a quick command on the CLI yo do any of that stuff and it's finished before you can even use you arrow keys to move between various regions of the screen and move your eyes around the work area to confirm everything and select your actions and move your gaze again to confirm the result is what you expect. It's all about what you're used to and what you know. If you grew up in the age of the point-and-click GUI you might feel more comfortable using visual metaphors and stateful UIs for your intended actions. Others prefer to issue orders and have them obeyed without the song, dance, and lightshow.
- fernly 2y agoMy goodness but there is a whole lot of these! (Found the below table from the Nnn wiki page, mentioned above.) https://en.wikipedia.org/wiki/Comparison_of_file_managers https://en.wikipedia.org/wiki/Comparison_of_file_managers
- baobun 2y agoFor anyone else (considering) switching file manager: Check if it depends on the gvfs package or not. You either want it (virtual filesystem support, stuff working "out of the box", background daemon, DE integrations) or you don't. So there's one factor to cut the search-space in ~half :) I'm recently trying out worker[0] and so far it's great. [0]: http://www.boomerangsworld.de/cms/worker/index.html http://www.boomerangsworld.de/cms/worker/index.html
- monopoliessuck 2y agoThis looks neat, but has a lot going on. I really like how minimalist yet extensible lf [0] is and just use edir [1] to rename files in bulk. Gluing them both together is really easy too. - [0] https://github.com/gokcehan/lf https://github.com/gokcehan/lf - [1] https://github.com/bulletmark/edir https://github.com/bulletmark/edir
- christophilus 2y agoI love that there are a lot of great options in this space. This one looked nice due to its selection pane: https://xplr.dev/ https://xplr.dev/
- sneak 2y agoThe first thing this app does is connect to Microsoft servers to download theme files, which for some reason aren't bundled into the binary. If you block it from accessing the internet, it crashes.
- friend_and_foe 2y agoThat's pretty bad for a terminal utility and file manager. The thing should never, ever connect to the internet for anything unless explicitly told to by the user. I didn't notice this, thanks for pointing it out.
- sneak 2y agoWhy is that the standard for a terminal utility and not GUI software? Why do we accept GUI software that does update checks and phone-home telemetry without configuration or consent? I’m really curious about this, not to derail the thread.
- friend_and_foe 2y agoWell, I don't. I use almost exclusively FOSS software that has no telemetry whatsoever, and where there is any phoning home, I either turn it off or make sure I know what it's doing and am happy with it. I think it should be the standard, but fact is most computer users are entertainment consumers and their computing devices are just a new and improved TV. It doesn't even occur to them to ask what's going on, hence the ubiquity of proprietary spyware. With TUIs and other nerdy stuff like that, the userbase is generally going to give a shit more, hence the higher standard.
- night_cat 2y agoHey thanks for your feedback I just update it to make it a optional! Now you can by typing command to download all themes.
- friend_and_foe 2y agoJust tried this out... Looks nice. I dig the nerd font thing, I'd never used them because all of my TUI stuff is ncurses and the like, it's a nice thing to be able to do. I like the outline. I don't like a few things. - Ctrl keys galore. I'm partial to vim keys, a lot of the keybinds on here are vim style, why not make it all of them? - some of the defaults are weird or potentially dangerous. There's no confirmation for deletion for example, PageUp and PageDown don't work, cursor auto wraparound is a little confusing for something like this, and the cursor isn't a highlight, just a >. - Bubbletea always seem to have a minimum terminal size which drives me nuts. Btop and other programs I've used have this problem. All in all I like the ability to open multiple panes, the ability to open network drives, see ongoing/completed processes and see the clipboard. I find I virtually never need more than two panes though, and there are plenty of CLI utilities for FTP and stuff. I'm probably going to stick with an old school dual pane like vifm or MC. I'll keep this on my machine and test it out some more next time I need to connect to an ftp server or something, I like that it provides most of the functionality that graphical file managers like Nautilus have, I do miss some of that stuff in my terminal oriented environment, but not enough to go full mouse, so it's good to know I have an option that gives me some of both.
- shdisi 2y agoI tried this out and within a few minutes had delete a few directories. Luckily I was in a git repo but I still immediately uninstalled this
- stefandesu 2y agoWhen did you try it and do you have an idea why it could have happened? I'm simply curious about it, but this doesn't sound great. I found this issue [1] which should have been fixed in version 1.1.1 [2]. [1]: https://github.com/MHNightCat/superfile/issues/72 https://github.com/MHNightCat/superfile/issues/72 [2]: https://github.com/MHNightCat/superfile/releases/tag/v1.1.1 https://github.com/MHNightCat/superfile/releases/tag/v1.1.1
- deleted 2y ago[deleted]
- Iwan-Zotow 2y agoDoes it work in Windows terminal? Any good?
- opan 2y agoBased on the comments here about weird inconsistent keybinds and accidental file deletions, I won't be trying this for now, but I will keep an eye on it. I use ranger very heavily every day, but it being slow pythonware is sometimes a problem with extra large dirs and when changing the sort mode often. lf is too barebones for me, I don't know how to recreate everything I'm used to from ranger. Something fully-featured but faster than ranger would be ideal. If you're taking suggestions, making file copies use rsync under the hood would be great. I used to copy files over sshfs with ranger a lot and then found out the hard way that it was occasionally failing/being interrupted and then silently moving on in the transfer queue, so I had partial and corrupted video files it took months to notice. I do also use rsync for transfers a lot of the time, but sometimes you wanna move a bunch of files to different directories, and something like ranger is just faster and easier. Especially when you don't want everything from the source on the destination for space reasons, so can't just rsync whole dirs to grab the new stuff.
- LAC-Tech 2y agoWhat is a "nerd font" and why does this app need one? (Yes I know I could look it up but maybe this will spark a discussion)
- wormius 2y agoNerd Fonts contain glyphs that allow things like the git strip you see at the bottom of code editors ("powerline"), along with ligatures (e.g. if you type <= it merges so it looks more like the math symbol of a less than sign and a single line at the same angle just below the < sign...) https://www.nerdfonts.com/ https://www.nerdfonts.com/ And here's an example of ligatures (see the image on the right - you type what's on the left, and the right image is what shows in your editor): https://hilton.org.uk/blog/fira-code https://hilton.org.uk/blog/fira-code I think but am not sure as I haven't looked in a while, that the folder and file icons are part of the nerdfonts as well, that regular fonts would just show as the generic "missing glyph" symbol.
- apitman 2y agoAre there any terminals that ship with nerd fonts, or is it always something that has to be at the OS level? Is there any technical reason the font can't be shipped in the binary and installed automatically?
- globular-toast 2y agoOn Linux you can just chuck fonts in .local/share/fonts in your home directory. You can keep them in folders in there so just unzip the whole nerdfont archive there.
- qwery 2y agoThere's no technical reason the font couldn't be shipped in/with the binary. The main reasons this doesn't happen are probably: - this is what a package manager is for - installing the font/s (from the application?) would be a bit of a dick move and also presents a technical challenge (in other words: that's what a package manager is for) - concerns about the efficiency of many applications all shipping duplicate assets (package manager again) - concerns about distribution rights - not all users will want to use the same font and this is an unsolvable problem -- do you ship: no fonts | one unwanted font | the user's preferred font that they already have installed plus all the other user's fonts
- bomewish 2y agoStarted with nnn, switched to yazi — it’s amazing. Any other solution would have to be incredibly good to switch.
- deleted 2y ago[deleted]
- coppsilgold 2y agoIt appears to require network access. A file manager should not be dialing anything, especially not on startup. Error downloading theme: Get "https://github.com/MHNightCat/superfile/raw/main/themeZip/v1.1.2/theme.zip": dial tcp: lookup github.com on 8.8.8.8:53: dial udp 8.8.8.8:53: connect: network is unreachable
- slmjkdbtl 2y agoI find most ergonomic to write file manager as a vim plugin, I can just open things directly as buffers, only need to hit one key to toggle between file editor and file manager.
- courseofaction 2y agoLooks awesome, but it's hard to use intuitively without hotkeys on screen.
- pmarreck 2y ago"Thanks for use superfile!"
- hxii 2y agoI personally use broot[1] to achieve something similar. I’ve you open two panes, you can copy or move items between them. I also sometimes use it as a pseudo IDE. [1]: https://dystroy.org/broot https://dystroy.org/broot