diff --git a/posts/Utilities.mdwn b/posts/Utilities.mdwn new file mode 100644 index 0000000..a3d5d7c --- /dev/null +++ b/posts/Utilities.mdwn @@ -0,0 +1,66 @@ +A fried of mine installed [Archlinux](http://archlinux.org) on his PC +the other day, for which I applaud him as it **is** the best distro +out there, and it got me thinking about some of the programs I've +found after venturing outside of the safety of a desktop environment +like [GNOME](http://gnome.org) or [KDE](http://kde.org). + +The closest thing I've come to a desktop environment *outside* of one +was the [awesome](http://awesome.naquadah.org) window manager. By +default it comes with a system tray and notifications (daemon). This +makes for a very easy transition as those are two of the things that +seem to be in a bit of a short supply. There are plenty of file +managers (although [ZSH](http://zsh.sourceforge.net/) and +[Emacs](http://gnu.org/software/emacs) are good enough for me) and, of +course, window managers. Another cool thing is that it is one of the +most programmable window managers around. If you learn a bit of lua +you can make some very nice customizations. + +There are lots, or at least a couple, of tray applications, like +[Stalonetray](http://stalonetray.sourceforge.net/) and *trayer* (part +of the [FVWM-Crystal](http://home.gna.org/fvwm-crystal/) project, but +seemingly also usable stand-alone), but I've never really tried them +since I don't use any applications that show an icon there. + +A notifications daemon seemed most difficult to find back when I +stopped using *GNOME*. I did without for a while, but eventually +someone wrote [dunst](http://knopwob.github.com/dunst/) and my problem +was solved. It's very easy, and is fairly configurable. Just start +it in the background from your `.xinitrc` and all should be well. + +[dmenu](http://tools.suckless.org/dmenu/) is a very nice menu system +with very few dependencies. *dunst* also seems to have based its +funcion/look on *dmenu*. I mostly use it as a program launcher, but +give it a list of possibilities and configure it the way you like and +you can use it for pretty much any kind of selection. + +[dzen2](https://sites.google.com/site/gotmor/dzen) is another very +versatile piece of software. It can be used to create a status bar. +It has a funky syntax, but once you get the hang of it it's really +cool. The most interesting part is that takes whatever you want it to +show from `stdin` and parses it for its own syntax and that's about +it. This means that it's pretty much configurable in *any* language. +A shell script might be most obvious, since piping input and output is +really easy, but if you know your way around python, lisp, C or pretty +much anything that can open pipes to other applications you can use +that too. + +If you have a window manager with some kind of IPC or another way to +call commands through an external application, like the +`awesome-client` for *awesome* you could also use +[xbindkeys](http://www.nongnu.org/xbindkeys/xbindkeys.html), which +offers a pretty nice way to configure your keybindings in a +WM-independent way. If you have it compiled with support for guile it +gets even cooler, because then you have a complete programming +language to configure it with, which offers tricks like multi-level +keybindings, kind of like *Emacs* (for example `C-i w` or `C-i p b c` +and things like that). + +That's most if what I've found that I still use. These don't replace +everything a desktop environment offers, of course, but automounting +is not something I miss a lot, though that too is +[possible](https://wiki.archlinux.org/index.php/Automount#Udisks), and +I don't even remember anything else a desktop environment does. So I +hope there is at least one interesting application you might use in +here. If you know any others, feel free to let me know about them. + +[[!tag wm linux software desktop]]