Suckless
Suckless is a community that is best known for minimalist free software.
Notable works include dwm and dmenu.
Workflow for installation
Programs written by the suckless community are minimal by default.
.diff files are available to patch functionality.
Configuring is done in the config.h file.
Expressions in <> may need replacement.
- If not already created initialize a git repository
- Create and switch to the
basebrach withgit branch base - Download the default version of the suckless program you want to patch
- Add and commit all the files in the
basebranch - Clean the master branch
withmake clean & rm -f config.h & git reset --hard origin/base - Apply patches (this has to be done only once for each branch (except updates))
- Create and switch to a new branch for the patch with
git branch <feature> - Download the
.difffile of the according feature into your directory - Apply the patch to the current directory with
git apply <feature>.diff - Add and commit all the files in the
<feature>branch - Merge all branches into master branch (sometimes you can skip already merged
ones) - Merge each branch (except the new feature) into master with
git merge <feature>- (maybe you have to manually merge some errors)
- If you have a
configbranch mergeconfigintomasterbefore adding the
newfeature - Finally update the
configbranch - If not created already create a
configbranch from thebasebranch - Get the
config.def.hofmasterintoconfigwith
git checkout master config.def.h
Programs
- dmenu is a menu with prgram launcher functionality
- dwm is a window manager
- ii is an IRC client
- slock is a screen locker
- st is a terminal