sites

public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log | Files | Refs

index.md (15304B)


      1 Stuff that rocks
      2 ================
      3 Software on this page should have ideas similar to the suckless
      4 [philosophy](//suckless.org/philosophy/). The software must be FOSS licensed.
      5 
      6 Libraries
      7 ---------
      8 This section is for small, usable development libraries, which can be used for
      9 writing software that sucks less. These should preferably be under the MIT/X
     10 consortium or BSD licenses, WTFPL, or public domain, or alternatively LGPL,
     11 because it makes them legally compatible with other suckless projects.
     12 
     13 ### Libc Implementations
     14 
     15 * [musl](http://www.musl-libc.org/) - standard C library that attempts to be even smaller than uClibc.
     16   See also: [embedded libc comparison](http://www.etalabs.net/compare_libcs.html)
     17 * [uClibc](https://uclibc.org/) - strives to be a minimalist C library suitable for embedded computing.
     18 
     19 ### Compilers
     20 
     21 * [tcc](https://bellard.org/tcc/) - Tiny C Compiler [git repo](http://repo.or.cz/w/tinycc.git)
     22 
     23 ### Compression
     24 
     25 * [liblzf](http://oldhome.schmorp.de/marc/liblzf.html) - very fast, legally unencumbered compression library.
     26 * [libz](https://sortix.org/libz/) - ABI and API compatible zlib fork with focus on correctness, proper portability, auditability, simplification and opportunities to optimize ([zlib license](http://zlib.net/zlib_license.html)).
     27 * [Lzip](http://lzip.nongnu.org) - Properly designed data compressor outperforming gzip and bzip2 (GPLv2+).
     28 * [miniz](https://github.com/richgel999/miniz) - single C-file reimplementation of zlib (MIT License).
     29 * [xz embedded](https://tukaani.org/xz/embedded.html) - lightweight decompressor for the xz LZMA compressor (public domain).
     30 * [zlib](http://zlib.net/) - the "standard" compression/decompression library, quite small, used in many applications ([zlib license](http://zlib.net/zlib_license.html)).
     31 
     32 
     33 ### Cryptography
     34 
     35 * [LibreSSL](https://www.libressl.org/) - LibreSSL is a version of the TLS/crypto stack forked from OpenSSL in 2014.
     36 
     37 ### Miscellaneous
     38 
     39 * [ccv](http://libccv.org/) - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library.
     40 * [libev](http://software.schmorp.de/pkg/libev.html) - high performance event-loop modelled after libevent but much smaller (dual licensed under 2-clause BSD and GPL).
     41 * [mandoc](http://mandoc.bsd.lv/) - The mandoc UNIX manpage compiler toolset.
     42 * [pjsip](http://www.pjsip.org/) - open-source SIP stack (GPL).
     43 * [raycastlib](https://gitlab.com/drummyfish/raycastlib) - Single-header public domain C raycasting renderer with no dependencies, using only integer math.
     44 * [sdhcp](https://git.2f30.org/sdhcp/) - IPv4 DHCP client.
     45 * [small3dlib](https://gitlab.com/drummyfish/small3dlib) - Single-header public domain C software 3D renderer with no dependencies, using only integer math.
     46 * [termbox](https://github.com/nsf/termbox) - simple ncurses-like library for creating TUIs.
     47 
     48 ### Distros
     49 
     50 * [bare](https://git.uggedal.com/unmaintained/bare/) - A simple distro using suckless software.
     51 * [morpheus](https://morpheus.2f30.org) - A statically linked musl-based Linux distro. Unmaintained currently.
     52 
     53 Programs
     54 --------
     55 Some programs work well with dwm. Some general rule of thumb for judging if a
     56 program is usable are:
     57 
     58 * The program will accept any window size.
     59 * The program consists of a single window (there are no nested windows, such as in Xpdf).
     60 
     61 This covers most console-based programs and programs from
     62 [plan9port](https://9fans.github.io/plan9port/).
     63 
     64 ### Audio Players
     65 
     66 * [C* Music Player](https://cmus.github.io/) - aka cmus, a ncurses music player that can be controlled with an UNIX socket.
     67 * [moc](https://moc.daper.net/) - console audio player for Linux/UNIX.
     68 * [mpd](https://www.musicpd.org/) - A client/server based music player with console and graphical front-ends.
     69 * [mpg123](http://www.mpg123.de/) - A console MPG player which doesn't use auto*hell or extra libraries.
     70 * [mpg321](http://mpg321.sourceforge.net) - A command-line MP3 player.
     71 * [vorbis-tools](https://www.xiph.org/) (Ogg/FLAC) - Command-line tools to play Ogg and FLAC files.
     72 
     73 ### BitTorrent clients
     74 
     75 * [btpd](https://github.com/btpd/btpd) - The BitTorrent Protocol Daemon.
     76 
     77 ### Feed aggregators
     78 
     79 * [sfeed](https://git.codemadness.org/sfeed/) - RSS and Atom parser + CLI programs.
     80 * [snownews](https://github.com/kouya/snownews/) - Text mode RSS newsreader for Linux and Unix.
     81 * [zs](http://r-36.net/scm/zs/) - Zeitungsschau RSS to email converter.
     82 
     83 ### File managers
     84 
     85 * [lf](https://github.com/gokcehan/lf) - ranger-like file manager written in Go (WIP but usable).
     86 * [mc](https://midnight-commander.org/) - Midnight Commander is a free cross-platform orthodox file manager.
     87 * [noice](https://git.2f30.org/noice/) - Small and portable file browser.
     88 * [nnn](https://github.com/jarun/nnn) - Noice is Not Noice, a fork of noice with more features.
     89 * [ranger](https://ranger.github.io/) - ranger is a file manager with vi key bindings written in python but with an interface that rocks.
     90 * [rover](https://lecram.github.io/p/rover/) - Simple file browser for the terminal.
     91 
     92 ### Git
     93 
     94 * [stagit](https://git.codemadness.org/stagit/) - static git page generator (HTML).
     95 * [stagit-gopher](https://git.codemadness.org/stagit-gopher/) - static git page generator for gopher (geomyidae .gph pages).
     96 
     97 ### Gopher clients
     98 
     99 * [Lynx](http://lynx.invisible-island.net/) - text-mode web browser, supports the Gopher protocol.
    100 * [sacc](gopher://bitreich.org/1/releases/sacc) - terminal gopher client by [quinq](//suckless.org/people/quinq/).
    101 
    102 ### IRC clients
    103 
    104 * [hii](https://github.com/nmeum/hii) - A file-based IRC client, inspired by ii, with a focus on easing [frontend development](https://github.com/nmeum/insomnia)
    105 * [ii](//tools.suckless.org/ii/) - A FIFO based IRC client which is part of the suckless.org project.
    106 * [irc.c from mpu](https://c9x.me/irc/) - A minimal curses IRC client.
    107 * [Irc](https://swtch.com/irc/) - IRC client for ACME.
    108 * [ircrc](http://plan9.bell-labs.com/sources/contrib/fgb/rc/ircrc) - An rc-based IRC client similar to ircc. Needs minor modification to run on UNIX.
    109 * [irssi](https://irssi.org/) - Text-mode IRC client.
    110 * [quIRC](https://github.com/ec429/quIRC) - a lightweight console IRC client.
    111 * [sic](//tools.suckless.org/sic/) - Another suckless.org IRC client. Similar to ircc.
    112 
    113 ### Image viewers
    114 
    115 * [feh](https://feh.finalrewind.org/) - A highly customizable image viewer that can also set a desktop background image.
    116 * [imv](https://github.com/exec64/imv) - Simple X11/Wayland Image Viewer. Depends on SDL2 and FreeImage.
    117 * [jpg/gif/bmp/png](https://9fans.github.io/plan9port/) - Simple programs from Plan 9 to display images in no-frills windows. Included with [plan9port](https://9fans.github.io/plan9port/).
    118 * [meh](https://www.johnhawthorn.com/meh/) - image viewer using raw XLib, libjpeg, libpng and libgif.
    119 * [page](https://9fans.github.io/plan9port/man/man1/page.html) - Plan 9's image/document viewer program. Included with [plan9port](https://9fans.github.io/plan9port/).
    120 * [qiv](http://spiegl.de/qiv/) - Quick Image Viewer.
    121 * [sxiv](https://github.com/muennich/sxiv) - Simple (or small or suckless) X Image Viewer. Depends on xlib and imlib2.
    122 * [xli](http://web.aanet.com.au/gwg/xli.html)
    123 * [xzgv](http://sourceforge.net/projects/xzgv/)
    124 
    125 ### Instant-Messaging clients
    126 
    127 * [bitlbee](https://www.bitlbee.org/main.php/news.r.html) - A program to translate IM protocols to IRC.
    128 * [CenterIM](http://www.centerim.org/index.php/Main_Page) - A centericq fork.
    129 * [irssi-xmpp](http://cybione.org/~irssi-xmpp/) - An irssi plugin to connect to the Jabber network.
    130 * [mcabber](http://mcabber.com/) - A console jabber client.
    131 * [ysm](http://ysmv7.sourceforge.net/) - A console-based ICQ client.
    132 
    133 ### Mail clients
    134 
    135 * [fdm](https://github.com/nicm/fdm) - fetch and deliver mail.
    136 * [heirloom-mailx](http://heirloom.sourceforge.net/mailx.html) - A mail client based on the original Berkeley Mail 8.1 with many new features.
    137 * [isync](http://isync.sourceforge.net/) - MDA that can work better for IMAP, also known as mbsync.
    138 * [mblaze](https://github.com/chneukirchen/mblaze) - Unix utilities to deal with Maildir.
    139 * [mmh](http://marmaro.de/prog/mmh/) - Meillo's mail handler (mmh), a fork of nmh.
    140 * [mpop](https://marlam.de/mpop/) - a POP3 mail client. It is much [faster and simpler than fetchmail](https://marlam.de/mpop/documentation).
    141 * [mutt](http://www.mutt.org/) - A ncurses mail client for fetching, reading and sending email.
    142 * [nmh](http://www.nongnu.org/nmh/) - Message Handling System.
    143 * [plan9port/Mail](https://9fans.github.io/usr/local/plan9/mail/) - A mail client for acme. Included with [plan9port](https://9fans.github.io/plan9port/).
    144 * [s-nail](https://www.sdaoden.eu/code.html) - An improved heirloom-mailx.
    145 
    146 
    147 ### Media players
    148 
    149 * [ffplay](https://www.ffmpeg.org/ffplay.html) - FFplay is a very simple and portable media player. It came with ffmpeg which depends on mplayer.
    150 * [mplayer](http://www.mplayerhq.hu/design7/news.html)
    151 * [mpv](https://mpv.io/) - a free, open-source and cross-platform media player.
    152 
    153 ### Password managers
    154 
    155 * [pass](https://www.passwordstore.org/) - "The standard unix password manager".
    156 * [tpm](https://github.com/nmeum/tpm/) - Tiny password manager.
    157 * [spm](https://notabug.org/kl3/spm/) - Simple password manager (actively maintained fork of nmeum's tpm).
    158 
    159 ### PDF viewers
    160 
    161 * [mupdf](https://mupdf.com/) - a lightweight PDF viewer written in C. It supports PDF, XPS, EPUB, XHTML, CBZ, PNG, JPEG, GIF and TIFF.
    162 * [zathura](https://pwmt.org/projects/zathura/) - an extensible document viewer/shell which can support CBZ, DJVU, PS, EPUB (with mupdf) and PDF (with mupdf or poppler).
    163 
    164 ### Shells
    165 
    166 * [dash](http://gondor.apana.org.au/~herbert/dash/) - DASH is a POSIX-compliant implementation of /bin/sh that aims to be as small as possible.
    167 * [mksh](https://www.mirbsd.org/mksh.htm) - MirBSD Korn Shell, an actively developed free implementation of the Korn Shell programming language
    168   and a successor to the Public Domain Korn Shell (pdksh).
    169 
    170 ### Text editors
    171 
    172 * [acme](http://acme.cat-v.org) - Rob Pike's framing text editor for Plan 9. Included in [plan9port](https://9fans.github.io/plan9port/).
    173 * [ed](https://9fans.github.io/plan9port/man/man1/ed.html) - [ED IS THE STANDARD TEXT EDITOR!](https://www.gnu.org/fun/jokes/ed-msg.html)
    174 * [ired](http://www.radare.org/r/) - A minimalist hexadecimal editor and bindiffer for p9, w32 and *nix.
    175 * [mg](https://homepage.boetes.org/software/mg/) - A portable version of mg maintained by the OpenBSD team.
    176 * [mle](https://github.com/adsr/mle) - A small, flexible console text editor.
    177 * [nano](https://www.nano-editor.org/) - A pico clone - this is small simple code and easy to use.
    178 * [nvi](https://sites.google.com/a/bostic.com/keithbostic/vi) - A small, multiple file vi-alike.
    179 * [sam](http://sam.cat-v.org/) - An editor by Rob Pike with inspiration from ed.
    180 * [traditional vi](http://ex-vi.sourceforge.net/) - A fixed version of the original vi.
    181 * [vim](https://www.vim.org) (With the GUI, use `:set go+=c` to kill popup dialogs). It can be compiled to be as minimal as possible (see vim-tiny in Debian repos).
    182 * [vis](https://github.com/martanne/vis) - A modern, legacy free, simple yet efficient vim-like editor.
    183 * [wily](http://www.cse.yorku.ca/~oz/wily/) - An acme clone for POSIX.
    184 
    185 
    186 ### Utilities
    187 
    188 * [9menu](https://github.com/arnoldrobbins/9menu/) - A menu program based on the Blit-style menus so prevalent in Plan 9.
    189 * [abduco](http://www.brain-dump.org/projects/abduco/) - session {at,de}tach support.
    190 * [dmenu](//tools.suckless.org/dmenu/) - dmenu is a dynamic menu for X.
    191 * [dvtm](http://www.brain-dump.org/projects/dvtm/) - dynamic virtual terminal manager.
    192 * [entr](http://entrproject.org/) - Run arbitrary commands when files change.
    193 * [nq](https://github.com/chneukirchen/nq) - unix command line queue utility.
    194 * [slmenu](https://bitbucket.org/rafaelgg/slmenu) - Dmenu spinoff for the console.
    195 * [snore](https://github.com/clamiax/snore) - Sleep with feedback.
    196 
    197 
    198 ### Web browsers
    199 
    200 * [Abaco](http://lab-fgb.com/abaco/)
    201   Another extension to make Firefox Vim-like. Less invasive than
    202 * [Conkeror](http://www.conkeror.org/) - A Gecko based browser, with Emacs-style key bindings, appearances and behaviors.
    203 * [Dillo](https://www.dillo.org/) - Blazingly fast graphical browser with basic CSS support.
    204 * [edbrowse](http://edbrowse.org/) - ed-alike webbrowser. Unfortunately it is not the standard web browser.
    205 * [ELinks](http://elinks.or.cz/) -  Feature-rich fork of Links, but without the graphical mode.
    206 * [Links](http://links.twibright.com/) - A text-based browser that also has a simple graphical mode.
    207 * [Lynx](http://lynx.invisible-island.net/) - text-mode web browser, supports the Gopher protocol.
    208 * [netsurf](http://www.netsurf-browser.org/) - Very fast graphical browser with custom engine that has near-perfect CSS support.
    209 * [surf](//surf.suckless.org/) - WebKit2 browser that can be embedded into other applications and uses dmenu as the address bar.
    210 * [Tridactyl](https://github.com/cmcaine/tridactyl) - A WebExtension that tries to make Firefox Vim like. Unlike many similar extensions it works with firefox 57+.
    211 * [uzbl](https://www.uzbl.org/) - Web interface tools which adhere to the unix philosophy.
    212 * [VimFX](https://addons.mozilla.org/en-US/firefox/addon/vimfx/) -
    213   Vimperator (Doesn't work with Firefox 57+)
    214 * [Vimperator](http://vimperator.org/) - An extension to make Firefox keyboard friendly and Vim-like. (Doesn't work with Firefox 57+).
    215 * [w3m](http://w3m.sourceforge.net/) - Text-based browser which can view images in the terminal (X11 hack).
    216 
    217 ### X11
    218 
    219 * [ffcast](https://github.com/lolilolicon/FFcast) - Simple screencasting.
    220 * [grabc](http://www.muquit.com/muquit/software/grabc/grabc.html) - Grab the color of some pixel in X11.
    221 * [keynav](http://www.semicomplete.com/projects/keynav/) - A new way for keyboard selection.
    222 * [wmutils](https://github.com/wmutils/core) - A set of utilities for managing windows. Can be used on their own or to augment a WM itself. Support for tiling present.
    223 * [xbanish](https://github.com/jcs/xbanish) - Hide the cursor while typing.
    224 * [xclip](https://github.com/astrand/xclip) - A tool for controlling the X11 clipboard.
    225 * [xdotool](http://www.semicomplete.com/projects/xdotool/) - A tool for scripting X11 actions.
    226 * [xzoom](http://r-36.net/scm/xzoom/) - A simple zoom application.
    227 
    228 Daemons
    229 -------
    230 This section is dedicated to daemons that are related to the UNIX philosophy.
    231 
    232 ### Web Servers
    233 
    234 * [darkhttpd](https://unix4lyfe.org/darkhttpd/) - Darkhttpd is a simple, fast HTTP 1.1 web server for static content.
    235 * [mini_httpd](http://acme.com/software/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.
    236 * [OpenBSD httpd/relayd](https://bsd.plumbing/) - Designed to combat the feature creep of modern webservers. Boasts concise configuration, with sane defaults.
    237 * [quark](//tools.suckless.org/quark/) - suckless simple static web server.
    238 * [thttpd](http://acme.com/software/thttpd/) - Outperforms many bigger httpds. Old, still works very well!
    239 
    240 
    241 ### Gopher servers
    242 
    243 * [geomyidae](http://r-36.net/scm/geomyidae/) - small gopher-daemon written by [20h](//suckless.org/people/20h/).
    244 
    245 ### Misc daemons
    246 
    247 * [scron](https://git.2f30.org/scron/) - simple crond.