Software I Use
Page created: 2023-07-20 , updated: 2023-08-18This list is to remind myself of less-often-used software and also to list my favorites for others to consider. You might also notice that this is a pretty short list. That’s the idea! I like to limit my dependencies.
I’m sure I’m missing a few. I’ll try to keep this up to date as I think of them.
Currently in no particular order:
Everyday utilities
Vim 8 - (terminal) text editor
(No links here because Vim needs no introduction and comes with Slackware.)
I’m still using Vim, but have been very tempted by Kakoune and Helix. I’m currently not using plugins and I’ve started making my customizations simple shortcuts to shell scripts.
This page is being written in Vim 8 right now!
Xfce 4 Terminal - (GUI) terminal!
(Comes with Slackware.)
I symlink xfce4-terminal
to /usr/bin/st
so DWM will open it when I
hit the Super-Enter combo.
I’m sure there are more featureful terminal emulators and there are certainly ones with names that roll off the tongue a bit easier. But xfce4-terminal has been a workhorse for me for years. It’s light and fast and it comes with Slackware.
dwm - X11 window manager
There is a slackbuild for this, but the "right" way to use it is to compile it yourself. It’s the "suckless" way.
You can read all about dwm in my other articles Dave’s Visual Guide to dwm and https://ratfactor.com/dwm2.
The Silver Searcher - (terminal) search
I’ve tried many grep alternatives. This one hits the features/performance sweet spot for me. Written in C. It just works.
Basic usage: ag <search string> [optional path]
Ksnip - (GUI) screenshot/annotation utility
Extremely useful screenshot utility with basic editing and annotations. I love it so far.
Two notes about running Ksnip with a custom window manager setup like mine:
-
It needs a dbus notification daemon running on your system (lots of programs do now, so this is not an unusual requirement)
-
It won’t be windowed in your tiling window manager by default, so you may need to enforce this with your WM.
For an example of that second note, I needed to add a line to my
dwm config.h
with:
static const Rule rules[] = { ... /* class instance title tags mask isfloating monitor */ { "ksnip", NULL, NULL, 0, 1, -1 }, ...
(The important thing being the class
and isfloating
properties.)
How do we get the "class" of a GUI application? There’s a handy utility for that. Open a terminal and run:
$ xprop WM_CLASS
And then click on the window you want to know about. The answer appears in the terminal.
ncdu - (terminal) NCurses Disk Usage
This is a wonderful tool for figuring out what’s using your drive space. It’s extremely fast, works in the terminal, and the controls are completely intuitive to me. I love it.
Oh, and it’s also an extremely handy way to navigate around, safely delete files with weird filenames, and even spawn a shell in a specific subdirectory.
Usage: ncdu
(Type ?
to see a little menu of keyboard shortcuts.)
Thunderbird - (GUI) email client and RSS/Atom feed reader
(Comes with Slackware.)
I use this for email and feed reading. It’s not perfect, but it’ll do!
Follow the instructions here for plaintext email (Thunderbird is under "other clients"): https://useplaintext.email/
Another tip: When replying to email with long lines, you can do Edit > Rewrap (or Ctrl+R) to re-wrap them, preserving the quotation formatting.
UPDATE: Shortly after writing this page, I started test-driving Claws Mail. It’s a GUI application like Thunderbird, but does plaintext email only. There’s no tricky setup to avoid HTML mail because Claws doesn’t do HTML mail. yay!
I’ve also just now installed Aerc and am about to test-drive that as well. I would love to be able to access mail from SSH from any computer in the house. IMAP works fine to share access to a mailbox, but I’d love to be able to author in Vim (muscle memory!) and it looks like Aerc’s embedded terminal makes that a pretty amazing experience.
Firefox - (GUI) Web browser
(Slackware comes with the ESR version, but I install the current version. See new-computer for how I go about that.)
I use Firefox for ideological reasons, but it’s also a perfectly good browser.
Image creating/editing
Krita - (GUI) drawing application
(Comes with Slackware!)
Absolutely fantastic drawing software. Works great with my old Wacom drawing tablet.
For an idea of what you can do with Krita, check out artist (and open-source advocate and all-round awesome human) David Revoy’s webcomic Pepper & Carrot (peppercarrot.com).
I use it pretty frequently. Here’s a Tarot deck I drew with Krita: The Hoo? Deck.
Inkscape - (GUI) Vector (SVG) graphics
I love Inkscape and have been using it for a long time. This is my go-to for all kinds of vector graphics big and small.
I made this t-shirt design (scroll to the bottom) with Inkscape.
Gimp - (GUI) photo/raster manipulation
(Comes with Slackware!)
I’ve learned just enough to do some typical operations. Pro: Very powerful. Con: the UI is insane (but it might be improving: I love that they’ve finally changed how the default handling of non-Gimp files to allow you to, for example, edit a JPEG and then save your changes without jumping through hoops.)
Documents and other things
Well, I try to do just about everything in text files. So Vim and various scripts handle most of this sort of thing. But there are exceptions.
PDF Shelter.com - (Web) PDF manipulation tools
A fantastic set of free tools that run in the browser (you never have to upload a file) to do common PDF utility tasks. Highly recommended!
I used this site to help me make Mr. Tree Goes Down from a bunch of separate PDF pages. Also to extract the pages as images later.
Modern CSV - (GUI) CSV viewer/editor
(No slackbuild for this one, but the free version comes with a simple tarball download with an install shell script. Painless.)
This is commercial software but I suspect I’ll buy a license to support these people. I just found out about this one and I already love it. It does exactly what I want it to do: open super fast and display CSV files like a spreadsheet. Oh, how I’ve yearned for this.
UPDATE: I bought a license. Worth every penny.
I have yet to see how it handles HUGE files. I get those sometimes because businesses are insane.
Calibre - (GUI) Ebook management
Essential tool for e-book conversion, previewing, etc. Thankfully, the above slackbuild is for the binary package, not source. Building this thing is a nightmare.
Scribus - (GUI) Desktop publishing
I just found out about this one! I’m really excited for this because preparing documents for PDF or print is one of the things I’ve been lacking. Inkscape works great for a lot of that stuff, but it’s not really meant for making multi-page documents.
(It may seem silly to list this on a page titled "Software I Use", but remembering this exists is one of the catalysts for making this page in the first place.)
The slackbuild lists optional dependencies, but not what they do, so let’s do that here:
-
OpenSceneGraph
- 3d graphics library/framework - lets you import 3D objects into Scribus (apparently you can have 3D objects in exported PDF files) -
podofo
- parses existing PDF files (seems useful!) -
libpagemaker
- imports Adobe PageMaker files -
libfreehand
- imports Adobe FreeHand files -
libcdr
- imports CorelDRAW files -
libzmf
- imports Zoner Draw and Zebra files -
libqxp
- imports QuarkXPress files -
libmspub
- imports Microsoft Publisher files
Well, I certainly don’t need any of these. (I used Publisher quite a bit way back in the Windows 95 days, though. That brings back good memories.)
Installation was no problem and it works. But beyond that, I have not created any real projects with it. I’ll report back here when I have.