[HN Gopher] Superfile - A fancy, pretty terminal file manager
___________________________________________________________________
Superfile - A fancy, pretty terminal file manager
Author : oidar
Score : 384 points
Date : 2024-05-10 13:27 UTC (1 days ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| teddyh wrote:
| Why is this better than Midnight Commander or GNU Interactive
| Tools?
| hidelooktropic wrote:
| There'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 wrote:
| I 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 wrote:
| > why to use it
|
| Of course. But that's not what he asked.
| nine_k wrote:
| I 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).
| latchkey wrote:
| > _or decades, like me_
|
| Heh, I ported mc to Apple's A/UX back in the early 90's!
| nine_k wrote:
| Thank you! My first experience was building it from
| source under Digital Unix (on an Alpha 264) in 1995.
| camgunz wrote:
| Is the author really only 16? Wow!
| idunnoman1222 wrote:
| Brew install superfile
|
| Now guess what the executable is called...
| fkyoureadthedoc wrote:
| I _almost_ didn 't even try to figure it out after I installed
| and the `superfile` command didn't work.
| lsllc wrote:
| Yes, 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 wrote:
| A symlink would be a good solution.
| eddd-ddde wrote:
| This happens to me quite often.
|
| pacman -Ql <package> | grep bin
|
| There must be similar commands for other package managers.
| micklemeal wrote:
| This 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 wrote:
| Wow, this looks super slick! Kudos to the developer for a
| fantastic little project!
| qudat wrote:
| Looks like it's using bubbletea, nice!
| berzzz wrote:
| Very nice!
| schindlabua wrote:
| Love 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!
| jjuel wrote:
| Isn't the terminal program technically a GUI?
| ghodith wrote:
| Technically a TUI?
| Hasnep wrote:
| I think GP was referring to the terminal emulator, which
| normally has the minimal GUI decorations depending on the
| terminal emulator and your desktop environment.
| hxegon wrote:
| A lot of the new tooling is in Go, superfile included. Noticed
| this after I started using LazyGit (incredible tool btw, I
| can't go back to anything else even after being a die hard
| Magit user for years)
|
| There's some stellar libraries in Go for terminal stuff, in
| particular anything from charmcli. They have an elm style TUI
| framework called bubbletea (which superfile uses), a styling
| library, prebuilt components, it's really incredible. I'm
| building a multiplayer tetris you can play through ssh, which
| is using bubbletea and another lib of theirs called wish.
|
| they have a lot of stuff you can just use in regular shell
| stuff too: https://charm.sh
| leetrout wrote:
| They are VC backed now which makes me wonder if they will do
| a license switch later or something else to monetize...
|
| https://news.ycombinator.com/item?id=38126060
| medstrom wrote:
| I don't know about Charm so maybe someone can check their
| Github, but there's a dark pattern where you market
| yourself as open source but not all your components are
| actually released to the public, so you have a nice GitHub
| icon on your front page that just leads to silly minor
| extensions but not the main software. ObsidianMD does it.
| mynameisvlad wrote:
| Where does Obsidian claim they're open source? Where have
| they ever done that? And no, having a GitHub icon does
| not magically announce to the world "we are open source".
|
| In fact, their license page makes it abundantly clear
| they are not open source:
|
| > We own and reserve rights to our content, including
| text, images, and code in the app, which is protected by
| copyright and other laws.
|
| https://obsidian.md/license
|
| I get this argument if a company or product claimed it
| was open source and it wasn't, but it just doesn't work
| if the product in question makes it quite clear they are
| not, or even leaves it ambiguous.
| medstrom wrote:
| It may not be Obsidian's fault, but I know people who
| were indeed surprised. And are you suggesting that people
| normally click the license page?
| snapplebobapple wrote:
| For me its rofi and a tiny bar on top of (ne of my hyprland
| windows for basic information (clock,calendar,widgets for
| network/volume/screenbrightness) its awesome
| copperbrick25 wrote:
| Tried 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
| night_cat wrote:
| Hey, thanks for the report, I fixed it!
| kwhitefoot wrote:
| "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 wrote:
| Just typo..
| nine_k wrote:
| It'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 wrote:
| Or a typo for extricate
| wegwerff wrote:
| Typo 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 wrote:
| $ 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 wrote:
| This 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 wrote:
| They could build it with CGO_ENABLED=0, if they are using
| Alpine, perhaps.
| opheliate wrote:
| An operating system from 2018 which is no longer maintained by
| its vendor?
| 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 wrote:
| Is 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 wrote:
| You 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.
| worthless-trash wrote:
| Are you sure you want glibc statically linked into your
| go executable ?
| donio wrote:
| glibc won't be used at all.
|
| With Go on Linux libc is only needed when the libc DNS
| resolver is used (instead of Go's built-in one) or if C
| libraries are used. superfile doesn't need either of
| these so it's very simple to build it as a pure Go
| executable which will be statically linked and contain no
| C code at all.
| qwery wrote:
| It's an interesting comparison. I agree that five years is
| well within the expected period of viability of an
| operating system. Some points to consider:
|
| - any given release of a Linux distro will probably work on
| hardware released five years earlier -- one factor that
| reduces the cost of upgrading the OS (there are many more
| obvious factors)
|
| - Microsoft is highly motivated to get customers to upgrade
| to the new Windows at the time. The legacy support is well-
| known as a "bone" (or: "a factor that reduces the cost of
| upgrading the OS")
|
| - binary backwards/forwards compatibility is less of an
| issue in an environment that doesn't treat source code as a
| secret
|
| - why run old versions of software? In other words: xterm
| is older than Windows and also as new as Windows
|
| Also, I've always found it amusing that I have much less
| trouble running old windows software on a Linux (wine) than
| on new versions of windows.
| colatkinson wrote:
| Your version of glibc is too old. Mint 19 is based off Ubuntu
| 18.04, which ships glibc 2.27, whereas this binary seems to
| require symbol versions first shipped in glibc 2.34.
|
| You'll have to compile from source, or update your distro to a
| maintained version. Ubuntu 22.04 ships glibc 2.35, and so Mint
| 21 should work.
|
| Mostly commenting because while this isn't really a tech
| support channel, being able to identify glibc version mismatch
| errors comes up _extremely_ often, even in this day and age.
| anta40 wrote:
| Very cool. Seems like a revamped version of Midnight Commander.
| Let me try..
| lupusreal wrote:
| Looks very swanky. Not sure if I'll replace ranger but this is
| definitely a contender.
| srwest wrote:
| If 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 wrote:
| Holy shit, thanks for the warning.
| patwie wrote:
| These key-bindings are pure evil for vim users.
| gouggoug wrote:
| Even for non-vim users this default is absolutely horrendous
| StrLght wrote:
| So there's no confirmation for deletion? Oof, that's probably
| the most unsafe default I have seen in a while.
| night_cat wrote:
| There will be a prompt for complete deletion, but there will
| be no prompt for putting it in the trash can.
| godelski wrote:
| It 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
| jez wrote:
| This is my biggest complaint with keybindings on
| Linux/Windows, that Ctrl means "escape codes" in terminal
| emulator applications and "window/UI operations" in every
| other application.
|
| By contrast, in macOS all the window/UI keybindings are
| typically Cmd (Cmd-W) which means that GUI applications
| attempting to layer on vi keybindings don't have to also
| audit all the Ctrl keybindings that might be doing something
| wildly different compared to what vi users expect.
|
| Cmd for UI and Ctrl for terminal just makes for such a nice
| default convention.
| mikepurvis wrote:
| I agree-- having switched back to Windows five years ago,
| this is one of the biggest things I miss about the Mac
| hardware. Having a separate key just avoids the whole drama
| around whether Ctrl-C is "copy the thing" or "shut it all
| down", and which of those functions is going to get
| remapped to Ctrl-Shift-C and all the fallout from that.
| sshine wrote:
| Configurable windows managers on Linux let you code a
| "super" key. I like the Window key, since it serves no
| other purpose, and never overlaps with default bindings on
| Linux.
|
| So the Cmd/Ctrl split on Mac maps nicely to the Win/Ctrl
| split on Linux.
| godelski wrote:
| While I do this too I understand the above complaint. I
| think naturally linux should have more of a system
| similar to what OSX does. I mean I'm constantly switching
| between OSX and Linux machines but more and more recently
| I've been at at mac computer while inside a linux system
| and that is very seemless because it is the GUI that
| fucks shit up. But now there's so much momentum that I'm
| not sure they can go back. I think the only way to make
| this correction is for a big distro like
| Ubuntu/Pop/Manjaro/Endeavor to switch to a default with
| alt or super as they windowed operating key but have the
| option to switch back (should be implemented in the
| install process and made clear and easy to undo. But
| without making it the default it'll always stay the other
| way. (first introduction should be non-default)).
| opan wrote:
| Super _is_ the "Windows" key (or the Command key), it's
| the "mod key" that can then be set to super or alt/meta
| or whatever.
|
| For the reasons you suggest (WMs often heavily using the
| super key), I would not want it to be used in the macOS
| way as I have a few dozen keybinds I'd lose or have to
| remap then. Stuff like focusing or moving windows or
| workspaces. Emacs can also make use of the super key,
| though I don't know if it has anything bound using it by
| default.
|
| The macOS approach is cool and makes some sense, but I
| wouldn't want it forced on me, and I'm kinda glad I
| didn't imprint on it.
| medstrom wrote:
| When you use EXWM (Emacs X Window Manager), this is
| actually a blessing! It means you can bind Super keys only
| in Emacs and have them do exactly the same thing every
| time, while the other X apps (terminals, browsers...) get
| the Control key to themselves.
| likeclockwork wrote:
| This isn't true though. Control + arrow keys for example
| navigate desktops on MacOS. On Linux I can at least
| restrict my desktop environment's shortcuts to super,
| leaving the other mods open for applications. MacOS uses
| every single modifier, sometimes together.
| moelf wrote:
| >and they don't also rebind <C-w>. Go from trying to delete a
| word (backwards) but end up losing a whole session
|
| This is literally why Vim binding for Jupyter doesn't work
| for me and also why the "terminal" in Jupyter Lab is worse
| than not existing -- I can't help but press C-w
| slim wrote:
| we old vi users don't use key combinations, that's an emacs
| thing :)
| godelski wrote:
| I don't think old means better. I agree that you should use
| whatever is best for you and makes you more productive (why
| I doing care about vim vs emacs debates) but I think you're
| giving up a lot. You're given and unless color blind then
| you are missing the added dimensions you searching with
| things like syntax highlighting. All your commands exist in
| vim, but come on, you've had the last 33 years to update.
| My configs update as I change too, so I hope that you
| aren't stuck because I don't like vi for the same reason I
| don't like GUIs: not all holes are round and not all pegs
| are square.
| night_cat wrote:
| Btw, this is not actually deleted, but put in the trash can.
|
| But it seems that this hotkey is not good for many people. It
| may be changed in the next version. Thanks for your feedback.
| ghostly_s wrote:
| I use a number of apps where ctrl-d is a common non-
| destructive shortcut, and can't recall ever encountering one
| where it was used for delete.
| 2024throwaway wrote:
| k9s does a delete for ctrl+d
| gray_-_wolf wrote:
| With a prompt, asking for confirmation if I recall
| correctly...
| opan wrote:
| In ranger, dd is cut/mv and dD is delete, but dD on one file
| spawns a command with :delete typed in so you have to hit
| enter to pull the trigger, and doing it with multiple files
| has the same behavior plus adds a y/N prompt asking if you're
| sure you want to delete those specific files. This is enough
| friction to prevent most mishaps, but not enough to be
| annoying. I would suggest taking inspiration from this.
| behnamoh wrote:
| How do I undo CTRL-d deletes? I almost deleted all my home
| dir...
| night_cat wrote:
| I am so sorry to hear about that:(
|
| You can go to "~/.local/share/Trash" all files that you
| deleted are at there
| luqtas wrote:
| what's even the point of downloading something so banal & not
| read the docs; comment at the post WITH the warning of it not
| complaining with Vim shortcuts when it's clear that Emacs is
| ballparks better? /s
| twobitshifter wrote:
| Yes those defaults won't really work for vim. Escape exits the
| program, without even using it, I already know I am going to
| exit a zillion times once my brain thinks I am in Vim.
|
| But the good thing is they are just defaults. Hopefully there
| are already no legions of users resistant to any changes to
| defaults.
| tmtvl wrote:
| I used vim for 5 years and never knew about C-d for scrolling
| until after I had switched to Emacs and one day, on a whim,
| decided to install and activate evil and look what various
| commands were bound to. I removed evil immediately afterwards
| as 5 years of vim taught me to hate modal editing with a
| passion.
| 3523582908 wrote:
| gorgeous!! did you build the ui yourself or did you use a package
| to help? how did that go?
| paranoidxprod wrote:
| Seems 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
| Cu3PO42 wrote:
| The 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
| safetytrick wrote:
| With a dependency on a font. Wow, it's been a while since I've
| seen that.
| explosion-s wrote:
| Fairly commonplace for TUIs that use icon. Tons of vim plugins
| rely on NerdFonts (A regular monospace font that also includes
| tons of icons)
| apitman wrote:
| Is there any technical reason the font can't be shipped in
| the binary and installed automatically?
| wpm wrote:
| Which 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 wrote:
| Besides, 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 wrote:
| I 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/
|
| [1]: https://wezfurlong.org/wezterm/
| pinusc wrote:
| Regardless of wanting sane defaults, this is not
| something superfile can do on itself: it runs in a
| terminal, and normally terminal programs do not get to
| choose what font is used.
|
| So the "best" it could do is bundle the font file, but
| then you would still have to configure your terminal to
| use it. At that point, it's easier to just tell you you
| need a nerd font and link to their repo.
|
| That being said, I kind of agree that, since NerdFonts
| are pretty good and by now quite widespread, it wouldn't
| be a bad idea for major distros to patch their default
| monospace fonts so that you get NerdFonts out of the box
| in the default terminal.
|
| But, in general, if you go out of your way to install a
| different terminal emulator, it's unlikely you'd have
| much trouble changing its font anyway; still, getting
| everything to look nice and pretty is sometimes harder,
| so I suppose wezterm is commendable for including fonts
| and colorschemes.
|
| (The above really mostly applies to fonts as they are an
| additional dependency and also highly dependent on user
| preference. For pretty much everything else I agree that
| good defaults are under-emphasized in CLI/TUI utilities.
| Probably because options usually get added incrementally
| and breaking historical defaults is not a good idea.)
| apitman wrote:
| Would it be possible for the program to detect that the
| current font doesn't support all the features you need
| and tell you?
| terminaltrove wrote:
| superfile 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/
|
| 2. https://ko-fi.com/night_cat
| night_cat wrote:
| Thanks you so much,I really like terminal trove!
| pandemic_region wrote:
| Thanks 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 wrote:
| We think so too, as an example there is harlequin, a
| beautiful terminal based SQL IDE.
|
| https://terminaltrove.com/harlequin/
|
| https://harlequin.sh/
| gigatexal wrote:
| play this is very pretty
| insane_dreamer wrote:
| Looks nice! Not sure if it's enough to pry me away from MC, but
| worth a look.
| insane_dreamer wrote:
| very 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 wrote:
| This 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 wrote:
| Dope. Reminds me of far.exe
| swozey wrote:
| This 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 wrote:
| brew 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.
| medstrom wrote:
| Or 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.
| wkrsz wrote:
| I'm waiting for preview feature:
| 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
| qwertox wrote:
| This did send me down a rabbit hole, and I ended up installing
| nnn (n3), 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)
| necrotic_comp wrote:
| so 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_ wrote:
| Three 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 wrote:
| Thanks. 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 wrote:
| Hardly 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.
| wonger_ wrote:
| I agree that looking around multiple panes is slow and
| arrow keys are slow, and that typical UI ceremony is
| unnecessary. But there's a benefit to seeing state changes
| and holding less state in your head. Kinda like `ed` versus
| `vim`. Someone comfortable with both editors would
| acknowledge vim makes some edits easier.
|
| Of course, issuing orders still has its advantages. And
| yes, growing up with GUIs makes a big difference.
| massysett wrote:
| With long filenames with characters like spaces, it can be
| easier to see them in a list, pick the ones you want, and
| operate on them in a GUI or TUI (same principle applies to
| Emacs Dired) than in a CLI. I can use the CLI and stumble
| around running ls multiple times and using tab completion, but
| the GUI or TUI can just be easier.
| fernly wrote:
| My 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
| baobun wrote:
| For 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
| monopoliessuck wrote:
| This 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
|
| - [1] https://github.com/bulletmark/edir
| christophilus wrote:
| I love that there are a lot of great options in this space. This
| one looked nice due to its selection pane: https://xplr.dev/
| sneak wrote:
| The 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 wrote:
| That'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 wrote:
| Why 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.
| night_cat wrote:
| Hey thanks for your feedback I just update it to make it a
| optional! Now you can by typing command to download all themes.
| shdisi wrote:
| I 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 wrote:
| When 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 [2]:
| https://github.com/MHNightCat/superfile/releases/tag/v1.1.1
| friend_and_foe wrote:
| Just 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.
| Iwan-Zotow wrote:
| Does it work in Windows terminal? Any good?
| opan wrote:
| Based 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.
| sudddddd wrote:
| As an alternative to ranger, I have switched to yazi
| completely.
| behnamoh wrote:
| yazi is written in Rust. Holy shit, this is the 10th app I
| try that's written in Rust and all of them are super fast and
| snappy!
| LAC-Tech wrote:
| What 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 wrote:
| Nerd 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/
|
| 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
|
| 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 wrote:
| Are 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 wrote:
| On 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 wrote:
| There'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
| apitman wrote:
| > this is what a package manager is for
|
| 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.
|
| > 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
|
| For me, I would absolutely prefer one unwanted font
| instead of losing those 20 minutes. If I don't like the
| font it ships with I should be able to override it. If
| size is a concern then don't ship the font, but detect
| that I don't have a working one and offer to download a
| default for me.
|
| [0]: https://blog.codinghorror.com/the-power-of-defaults/
|
| [1]: https://wezfurlong.org/wezterm/
| bomewish wrote:
| Started with nnn, switched to yazi -- it's amazing. Any other
| solution would have to be incredibly good to switch.
| coppsilgold wrote:
| It 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/super
| file/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
| night_cat wrote:
| This is theoretically only needed the first time a new version
| is used and its purpose is to download the themes.
| night_cat wrote:
| Hey thanks for your feedback I just update it to make it a
| optional! Now you can by typing command to download all themes.
| slmjkdbtl wrote:
| I 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 wrote:
| Looks awesome, but it's hard to use intuitively without hotkeys
| on screen.
___________________________________________________________________
(page generated 2024-05-11 23:01 UTC)