Stuff that rocks
Libraries
This section is for small, usable development libraries, which can be used for writing software that sucks less. These should preferably be under the MIT/X consortium or BSD licenses, WTFPL, or public domain, or alternatively LGPL, because it makes them legally compatible with other suckless projects.
Libc Implementations
- musl - standard C library that attempts to be even smaller than uClibc
- uClibc - strives to be a minimalist C library suitable for embedded computing
- See also: embedded libc comparison
Compilers
Compression
- liblzf - very fast, legally unencumbered compression library
- miniz - single C-file reimplementation of zlib (MIT License).
- xz embedded - lightweight decompressor for the xz LZMA compressor (public domain)
- Lzip - Properly designed data compressor outperforming gzip and bzip2 (GPLv2+)
- zlib - the “standard” compression/decompression library, quite small, used in many applications (zlib license)
- libz - ABI and API compatible zlib fork with focus on correctness, proper portability, auditability, simplification and opportunities to optimize (zlib license)
Cryptography
- libressl - LibreSSL is a version of the TLS/crypto stack forked from OpenSSL in 2014
Miscellaneous
- ccv - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library
- libev - high performance event-loop modelled after libevent but much smaller (dual licensed under 2-clause BSD and GPL)
- mandoc - The mandoc UNIX manpage compiler toolset
- morpheus - a statically linked musl based Linux distro
- bare - simple distro using suckless software
- pjsip - open source SIP stack (GPL)
- sdhcp - IPV4 DHCP client
- termbox - simple ncurses-like library for creating TUIs
Programs
Some programs work well with dwm. Some general rules of thumb for judging a programs as usable are:
- The program will accept any window size
- The program consists of a single window (there are no nested windows, such as in Xpdf)
This covers most console-based programs and programs from plan9port.
Audio Players
- C* Music Player
- cplay
- DeaDBeeF
- moc
- mpd - A client/server based music player with console and graphical front-ends.
- mpg123 - A console mpg player which doesn’t use auto*hell, or extra libraries.
- mpg321
- vorbis-tools (Ogg/FLAC) - Command-line tools to play Ogg and FLAC files.
- RSound - Simple PCM audio server and client
BitTorrent Clients
- btpd - The BitTorrent Protocol Daemon
Feed Aggregators
- newsboat - RSS/Atom feed reader for text terminals (updated fork of newsbeuter)
- snownews - Text mode RSS newsreader for Linux and Unix
- sfeed - RSS and Atom parser + CLI programs
File Browsers
- noice - Small and portable file browser
- nnn - Noice is Not Noice, a noicer fork…
- rover - Simple file browser for the terminal
File Managers
- mc - Midnight Commander is a free cross-platform orthodox file manager
- ranger - ranger is a file manager with vi key bindings written in python but with an interface that rocks
Git
- stagit - static git page generator (HTML)
- stagit-gopher - static git page generator for gopher (geomyidae .gph pages)
IRC Clients
- Irc
- irc.c from mpu - A Minimal Curses IRC Client.
- ii - A FIFO based IRC client which is part of the suckless.org project.
- ircrc - An rc-based IRC client similar to ircc. Needs minor modification to run on UNIX.
- irssi
- sic - Another suckless.org IRC client. Similar to ircc.
- quIRC - a lightweight console IRC client
Image Viewers
- feh
- jpg/gif/bmp/png - Simple programs from Plan 9 to display images in no-frills windows. Included with plan9port.
- meh - image viewer using raw XLib, libjpeg, libpng and libgif
- page - Plan 9’s image/document viewer program. Included with plan9port.
- qiv
- sxiv - Simple (or small or suckless) X Image Viewer. Depends on xlib and imlib2.
- xli
- xzgv
- lel - Suckless imagefile viewer (WIP)
- imv - Simple X11/Wayland Image Viewer. Depends on SDL2 and FreeImage.
Instant Messaging Clients
- bitlbee - A program to translate IM protocols to IRC. You can now IM from your IRC client, and you don’t even need to install anything.
- CenterIM - A centericq fork.
- irssi-xmpp
- mcabber - A console jabber client.
- ysm
Mail Clients
- Mail - A mail client for acme. Included with plan9port.
- dmc - A minimalistic approach to a command-line mail client (WIP)
- fdm - fetch and deliver mail
- isync - MDA that can work better for IMAP
- heirloom-mailx - A mail client based on the original Berkeley Mail 8.1 with many new features.
- s-nail - An improved heirloom-mailx.
- mutt
- nmh
- mmh
- mblaze - Unix utilities to deal with Maildir
Media Players
- mplayer (without GUI) - You know mplayer, but you may not know that it works well without the GUI.
- mpv - a free, open source, and cross-platform media player
- ffplay - FFplay is a very simple and portable media player. It came with ffmpeg which is a mplayer dependence.
Password Managers
- pass - The standard unix password manager
- tpm - Tiny password manager
- spm - Simple password manager (actively maintained fork of nmeum’s tpm)
PDF Viewers
Shells
- mksh - MirBSD Korn Shell, an actively developed free implementation of the Korn Shell programming language and a successor to the Public Domain Korn Shell (pdksh)
- dash - DASH is a POSIX-compliant implementation of /bin/sh that aims to be as small as possible. It does this without sacrificing speed where possible.
Text Editors
- acme - Rob Pike’s framing text editor for Plan 9. Included in plan9port.
- ired (Minimalist hexadecimal editor and bindiffer for p9, w32 and *nix)
- mg (portable version of mg maintained by the OpenBSD team)
- nano - A pico clone - this is small simple code and easy to use.
- mle - A small, flexible console text editor.
- nvi - A small, multiple file vi-alike.
- sam - An editor by Rob Pike with inspiration from ed.
- traditional vi - A fixed version of the original vi.
- vim (With the GUI, use
:set go+=cto kill popup dialogs) - vis - A modern, legacy free, simple yet efficient vim-like editor.
- wily - An acme clone for POSIX.
- ed - ED IS THE STANDARD TEXT EDITOR!
Utilities
- 9menu - A menu program based on the Blit-style menus so prevalent in Plan 9. A take on it is included with wmii.
- dmenu - dmenu is a dynamic menu for X
- slmenu - Dmenu spinoff for the console
- dvtm - dynamic virtual terminal manager
- abduco - session {at,de}tach support
- nq - unix command line queue utility
- entr - Run arbitrary commands when files change
- snore - Sleep with feedback
Web Browsers
- Abaco
- Conkeror - A Gecko based browser, imparting it Emacs style key bindings, appearances, and behaviors.
- Dillo
- edbrowse
- ELinks
- Links
- Lynx
- netsurf
- surf
- Tridactyl - A WebExtension that tries to make Firefox Vim like. Unlike many similar extensions it works with firefox 57+
- uzbl - Web interface tools which adhere to the unix philosophy.
- Vimperator - An extension to make Firefox keyboard friendly and Vim-like. (Doesn’t work with firefox 57+)
- VimFX - Another extension to make Firefox Vim-like. Less invasive than Vimperator (Doesn’t work with firefox 57+)
- w3m
X11
- xclip - A tool for controlling the X11 clipboard.
- xdotool - A tool for scripting X11 actions.
- xzoom - A simple zoom application.
- keynav - A new way for keyboard selection.
- ffcast - Simple screencasting.
- wmutils - A set of utilities for managing windows. Can be used on their own or to augment a WM itself. Support for tiling present.
- grabc - Grab the color of some pixel in X11.
Daemons
This section is dedicated to Daemons that are related to the UNIX philosophy (but don’t really belong into the cool programs section which is about programs which work well with dwm).
Web Servers
- quark - suckless simple static web server
- OpenBSD httpd/relayd - Designed to combat the feature creep of modern webservers. Boasts extremely concise configuration, with sane default behavior.
- darkhttpd - Darkhttpd is a simple, fast HTTP 1.1 web server for static content.
- thttpd - Outperforms many bigger httpds. Old, still works very well!
- mini_httpd - By the thttpd developers. Even smaller subset of thttpd with support for .htpasswd, CGI, dirlisting, HTTP errors and SSL, nothing more or less than that.
- shus - A tiny HTTP server for static sites
Gopher Servers
- geomyidae - small gopher-daemon written by 20h
Misc Daemons
- scron - simple crond.