179
submitted 7 months ago* (last edited 6 months ago) by christos@lemmy.world to c/linux@lemmy.ml

https://gitlab.com/christosangel/basht

This tui file manager bash script, provides image preview, theme selection, smooth directory navigation, opening files with default and other programs and easy configuring of keybindings. It uses fzf to navigate to and select files and directories. Image rendering can be done with the use of ueberzugpp, ueberzug, kitty terminal or chafa.

basht_img_3.png

The script also provides content preview for directories, and text files:

basht_text.png

As one can see in the screenshots, thanks to Nerd Fonts, each type of selection (directory, text file, office document, image file etc) is represented with the respective symbol.

Configuring of preferences can be done through editing a psv file.

Any feedback / suggestion will be appreciated.

top 16 comments
sorted by: hot top controversial new old
[-] gary_host_laptop@lemmy.ml 9 points 7 months ago

You still need a terminal emulator capable of displaying images, though, right? Like Kitty, Allacrity won't do the trick.

[-] callyral@pawb.social 1 points 7 months ago

idk, i've heard that ranger works in alacritty with image previews, so this could too.

[-] kelvie@lemmy.ca 1 points 7 months ago

Kitty supports images, not sure about alacritty, although there are many competing protocols for image display in a terminal emulator, so it could be that it just doesn't support a particular program.

[-] ProgrammingSocks@pawb.social 6 points 7 months ago

Is there a reason to use this over Ranger? Nice work still

[-] christos@lemmy.world 2 points 7 months ago

There is, if you like fzf, or if you are not comfortable with vim keybindings. Still, Ranger is awesome.

[-] beeng@discuss.tchncs.de 5 points 7 months ago

Hey, curious why your themes need to be dot txt files?

[-] christos@lemmy.world 4 points 7 months ago

Well, there is just one themes.txt file, created inside .config/basht/ directory. There is no particular reason why it should not be a .txt. Would you suggest another solution?

[-] florge@feddit.uk 9 points 7 months ago

.txt would imply the file is just some prose. A theme file might be better named with a .theme extension, so as to better communicate the nature of the file.

[-] christos@lemmy.world 3 points 7 months ago

Well, after a quick search, from that source, I found that :

...A .theme file is a .ini text file that is divided into sections, which specify visual elements that appear on a Windows desktop. Section names are wrapped in brackets ([]) in the .ini file.

I believe that the themes.txt file has not much to do with the above, furthermore, confusion between the two does not sound a good idea. What is more, one can say that file names such as themes.txt and current_theme.txt are quite descriptive and leave no doubts about their function. However, I think I understand your point of view. Perhaps I would consider renaming these in the future.

[-] eager_eagle@lemmy.world 5 points 7 months ago* (last edited 7 months ago)

which specify visual elements that appear on a Windows desktop

So that definition has no weight for Linux -case closed.

[-] beeng@discuss.tchncs.de 3 points 7 months ago* (last edited 7 months ago)

If you dev for Linux, you don't need a file extension for text files!

[-] baseless_discourse@mander.xyz 3 points 7 months ago

500 lines of bash script feels like one rm -rf away from disaster.

https://www.youtube.com/watch?v=qzZLvw2AdvM

[-] christos@lemmy.world 2 points 7 months ago

Fear not, there are no scary commands in this script.

[-] PipedLinkBot@feddit.rocks 2 points 7 months ago

Here is an alternative Piped link(s):

https://www.piped.video/watch?v=qzZLvw2AdvM

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I'm open-source; check me out at GitHub.

this post was submitted on 18 Feb 2024
179 points (97.9% liked)

Linux

47372 readers
811 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS