Spyke

Syndicated from the fediverse. Read and engage on the original instance.

View original on lemmy.zip

Some desktop on cli

Is there a CLI/TUI start menu like tool, with favorites/categories?

Or even better, a whole status bar at the top/bottom (also without X/wayland/framebuffer), with time, battery, maybe even launched background processes listed you can bring to front?

No reason that we can't have some Desktop metaphor niceties on shell too, no?

View original on lemmy.zip
7

6 replies

You can display status stuff in tmux, like a clock or syatem load or whatever. I believe that there are some premade things to configure it. I tried it, found something always sitting there to not be worthwhile for me.

For battery, on a laptop, I'm pretty much always in a graphical environment and have the notification manager handle warning me. I guess if someone ran in terminal-only mode, low battery warnings could be important. I don't think that the terminal has a great standard way to display a notification without disrupting existing content and ensuring that something stays visible until someone sees it. Shutdown warnings and similar on multiuser systems typically used wall, which would write a message to all ttys, but if you missed the message or something, that's on you, and it might garble what you were looking at. I guess terminals might also be configured to show high-priority kernel log messages.

There's probably some ncurses launchers out there, but I can't recall using one at any point over the years. There's enough overlap with shell aliases and symlinks to create short forms of commands, tab completion, apropos to look for commands related to a topic, and some related features that I haven't really wanted a console "launcher". I've gone the other direction, if anything, using tofi, which is a dmenu-alike, sort of like replacing a graphical start menu in X11/wayland with something closer to bash.

I do sometimes use dired in emacs as something like an orthodox file manager, where it will take actions whose default is based on a file extension, but that's not really a launcher, something to just do filetype-based starting of programs. You're wanting something that isn't tied to operating on files.

There are some simple ncurses utilities for displaying menus with whatever you want. Red Hat used to use newt. I think that that's been supplanted by the dialog package. I do use that to display a menu of YouTube channels to download that I'm interested in. But that may be more of a framework to roll your own setup than you want, if you want something off-the-shelf.

I think that part of the problem is that the great majority of terminal programs take an argument when you're usefully using them. You don't normally just launch them without taking a filename or some other arguments. There are exceptions --- I'll normally run top without arguments, though it can take them, and the few console games I play. I think that most ncurses programs are run without arguments...so I guess ncdu or one of the ncurses mpd clients for me. But they're the exception. The Start Menu paradigm is really oriented towards starting a program without arguments. That's a better fit for graphical programs, where the norm is to be invoked without arguments, and then to specify what operations the program should perform from within the program.

The dmenu paradigm is also aimed at "launch without arguments", and I guess that that's why I don't really use a dmenu analog in the terminal either (though I imagine that someone has probably made one).

2

you can easily do this with tmux. here's an example of mine it shows the time and battery:

as far as the start menu, i mean you just use your terminal. use fuzzy finder or something which pretty much all launchers like fuzzel use anyways.

2

The shell IS the start menu. You type the name of the program you want to start, and it starts. If you want to know the time, you type "date"; if you want to know which background processes are running, you type "jobs", etc. That’s everything we shell people need. If you need a GUI then use a GUI.

-1

You reached the end