sites

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

commit 62e2a0f9aff22892cc8c2270655b82d3ccb54db9
parent 9aa693f20a928ba8a8f03f6e068ff6bd8ceed9e4
Author: Josuah Demangeon <mail@josuah.net>
Date:   Thu,  6 Sep 2018 00:53:08 +0200

always use index.md as a file name

Other assets might have different name, but to keep the generation
simpler, all '<file>.md' files are renamed to be '<file>/index.md'.

Diffstat:
core.suckless.org/init-scripts.md | 9---------
core.suckless.org/init-scripts/index.md | 9+++++++++
core.suckless.org/nldev.md | 8--------
core.suckless.org/nldev/index.md | 8++++++++
core.suckless.org/sbase.md | 8--------
core.suckless.org/sbase/index.md | 8++++++++
core.suckless.org/sdhcp.md | 4----
core.suckless.org/sdhcp/index.md | 4++++
core.suckless.org/sinit.md | 11-----------
core.suckless.org/sinit/index.md | 11+++++++++++
core.suckless.org/smdev.md | 5-----
core.suckless.org/smdev/index.md | 5+++++
core.suckless.org/svc.md | 5-----
core.suckless.org/svc/index.md | 5+++++
core.suckless.org/ubase.md | 8--------
core.suckless.org/ubase/index.md | 8++++++++
dwm.suckless.org/patches/historical/altmovefocus.md | 10----------
dwm.suckless.org/patches/historical/altmovefocus/index.md | 10++++++++++
dwm.suckless.org/patches/historical/ansistatuscolors.md | 100-------------------------------------------------------------------------------
dwm.suckless.org/patches/historical/ansistatuscolors/index.md | 100+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dwm.suckless.org/patches/historical/bottom_stack.md | 47-----------------------------------------------
dwm.suckless.org/patches/historical/bottom_stack/index.md | 47+++++++++++++++++++++++++++++++++++++++++++++++
dwm.suckless.org/patches/historical/color_status_bar.md | 35-----------------------------------
dwm.suckless.org/patches/historical/color_status_bar/index.md | 35+++++++++++++++++++++++++++++++++++
dwm.suckless.org/patches/historical/fibonacci.md | 58----------------------------------------------------------
dwm.suckless.org/patches/historical/fibonacci/index.md | 58++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dwm.suckless.org/patches/historical/focusatom.md | 44--------------------------------------------
dwm.suckless.org/patches/historical/focusatom/index.md | 44++++++++++++++++++++++++++++++++++++++++++++
dwm.suckless.org/patches/historical/gridmode.md | 40----------------------------------------
dwm.suckless.org/patches/historical/gridmode/index.md | 40++++++++++++++++++++++++++++++++++++++++
dwm.suckless.org/patches/historical/mouseontitle.md | 37-------------------------------------
dwm.suckless.org/patches/historical/mouseontitle/index.md | 37+++++++++++++++++++++++++++++++++++++
dwm.suckless.org/patches/historical/movestack.md | 32--------------------------------
dwm.suckless.org/patches/historical/movestack/index.md | 32++++++++++++++++++++++++++++++++
dwm.suckless.org/patches/historical/multimon.md | 61-------------------------------------------------------------
dwm.suckless.org/patches/historical/multimon/index.md | 61+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dwm.suckless.org/patches/historical/nmaster.md | 56--------------------------------------------------------
dwm.suckless.org/patches/historical/nmaster/index.md | 56++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dwm.suckless.org/patches/historical/raiselower.md | 12------------
dwm.suckless.org/patches/historical/raiselower/index.md | 12++++++++++++
dwm.suckless.org/patches/historical/taglayouts.md | 21---------------------
dwm.suckless.org/patches/historical/taglayouts/index.md | 21+++++++++++++++++++++
dwm.suckless.org/patches/historical/tilemovemouse.md | 20--------------------
dwm.suckless.org/patches/historical/tilemovemouse/index.md | 20++++++++++++++++++++
dwm.suckless.org/patches/historical/workspaces.md | 84-------------------------------------------------------------------------------
dwm.suckless.org/patches/historical/workspaces/index.md | 84+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dwm.suckless.org/patches/historical/xft.md | 44--------------------------------------------
dwm.suckless.org/patches/historical/xft/index.md | 44++++++++++++++++++++++++++++++++++++++++++++
tools.suckless.org/dmenu/patches/case-insensitive.md | 18------------------
tools.suckless.org/dmenu/patches/case-insensitive/index.md | 18++++++++++++++++++
tools.suckless.org/dmenu/patches/center.md | 25-------------------------
tools.suckless.org/dmenu/patches/center/index.md | 25+++++++++++++++++++++++++
tools.suckless.org/dmenu/patches/fuzzymatch.md | 25-------------------------
tools.suckless.org/dmenu/patches/fuzzymatch/index.md | 25+++++++++++++++++++++++++
tools.suckless.org/dmenu/patches/incremental.md | 17-----------------
tools.suckless.org/dmenu/patches/incremental/index.md | 17+++++++++++++++++
tools.suckless.org/dmenu/patches/initialtext.md | 12------------
tools.suckless.org/dmenu/patches/initialtext/index.md | 12++++++++++++
tools.suckless.org/dmenu/patches/instant.md | 14--------------
tools.suckless.org/dmenu/patches/instant/index.md | 14++++++++++++++
tools.suckless.org/dmenu/patches/line-height.md | 36------------------------------------
tools.suckless.org/dmenu/patches/line-height/index.md | 36++++++++++++++++++++++++++++++++++++
tools.suckless.org/dmenu/patches/mouse-support.md | 35-----------------------------------
tools.suckless.org/dmenu/patches/mouse-support/index.md | 35+++++++++++++++++++++++++++++++++++
tools.suckless.org/dmenu/patches/navhistory.md | 19-------------------
tools.suckless.org/dmenu/patches/navhistory/index.md | 19+++++++++++++++++++
tools.suckless.org/dmenu/patches/non_blocking_stdin.md | 21---------------------
tools.suckless.org/dmenu/patches/non_blocking_stdin/index.md | 21+++++++++++++++++++++
tools.suckless.org/dmenu/patches/password.md | 17-----------------
tools.suckless.org/dmenu/patches/password/index.md | 17+++++++++++++++++
tools.suckless.org/dmenu/patches/pipeout.md | 22----------------------
tools.suckless.org/dmenu/patches/pipeout/index.md | 22++++++++++++++++++++++
tools.suckless.org/dmenu/patches/prefix-completion.md | 25-------------------------
tools.suckless.org/dmenu/patches/prefix-completion/index.md | 25+++++++++++++++++++++++++
tools.suckless.org/dmenu/patches/printinputtext.md | 29-----------------------------
tools.suckless.org/dmenu/patches/printinputtext/index.md | 29+++++++++++++++++++++++++++++
tools.suckless.org/dmenu/patches/reject-no-match.md | 13-------------
tools.suckless.org/dmenu/patches/reject-no-match/index.md | 13+++++++++++++
tools.suckless.org/dmenu/patches/scroll.md | 14--------------
tools.suckless.org/dmenu/patches/scroll/index.md | 14++++++++++++++
tools.suckless.org/dmenu/patches/vertfull.md | 11-----------
tools.suckless.org/dmenu/patches/vertfull/index.md | 11+++++++++++
tools.suckless.org/dmenu/patches/xyw.md | 22----------------------
tools.suckless.org/dmenu/patches/xyw/index.md | 22++++++++++++++++++++++
tools.suckless.org/farbfeld/examples.md | 27---------------------------
tools.suckless.org/farbfeld/examples/index.md | 27+++++++++++++++++++++++++++
tools.suckless.org/farbfeld/faq.md | 99-------------------------------------------------------------------------------
tools.suckless.org/farbfeld/faq/index.md | 99+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tools.suckless.org/ii/bots.md | 109-------------------------------------------------------------------------------
tools.suckless.org/ii/bots/index.md | 109+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tools.suckless.org/ii/patches/action.md | 19-------------------
tools.suckless.org/ii/patches/action/index.md | 19+++++++++++++++++++
tools.suckless.org/ii/patches/autojoin.md | 20--------------------
tools.suckless.org/ii/patches/autojoin/index.md | 20++++++++++++++++++++
tools.suckless.org/ii/patches/exec.md | 19-------------------
tools.suckless.org/ii/patches/exec/index.md | 19+++++++++++++++++++
tools.suckless.org/ii/patches/joinuser.md | 21---------------------
tools.suckless.org/ii/patches/joinuser/index.md | 21+++++++++++++++++++++
tools.suckless.org/ii/patches/ssl.md | 19-------------------
tools.suckless.org/ii/patches/ssl/index.md | 19+++++++++++++++++++
tools.suckless.org/ii/patches/ucspi.md | 21---------------------
tools.suckless.org/ii/patches/ucspi/index.md | 21+++++++++++++++++++++
tools.suckless.org/ii/patches/usernames.md | 27---------------------------
tools.suckless.org/ii/patches/usernames/index.md | 27+++++++++++++++++++++++++++
tools.suckless.org/ii/usage.md | 81-------------------------------------------------------------------------------
tools.suckless.org/ii/usage/index.md | 81+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tools.suckless.org/sent/patches/bilinear_scaling.md | 33---------------------------------
tools.suckless.org/sent/patches/bilinear_scaling/index.md | 33+++++++++++++++++++++++++++++++++
tools.suckless.org/sent/patches/progress-bar.md | 21---------------------
tools.suckless.org/sent/patches/progress-bar/index.md | 21+++++++++++++++++++++
tools.suckless.org/sent/patches/toggle_cursor.md | 18------------------
tools.suckless.org/sent/patches/toggle_cursor/index.md | 18++++++++++++++++++
tools.suckless.org/sic/patches/alert.md | 14--------------
tools.suckless.org/sic/patches/alert/index.md | 14++++++++++++++
tools.suckless.org/sic/patches/hidecommand.md | 21---------------------
tools.suckless.org/sic/patches/hidecommand/index.md | 21+++++++++++++++++++++
tools.suckless.org/sic/patches/lineprint.md | 24------------------------
tools.suckless.org/sic/patches/lineprint/index.md | 24++++++++++++++++++++++++
tools.suckless.org/sic/patches/nodefaultchan.md | 15---------------
tools.suckless.org/sic/patches/nodefaultchan/index.md | 15+++++++++++++++
tools.suckless.org/slock/patches/capscolor.md | 20--------------------
tools.suckless.org/slock/patches/capscolor/index.md | 20++++++++++++++++++++
tools.suckless.org/slock/patches/control-clear.md | 20--------------------
tools.suckless.org/slock/patches/control-clear/index.md | 20++++++++++++++++++++
tools.suckless.org/slock/patches/dpms.md | 29-----------------------------
tools.suckless.org/slock/patches/dpms/index.md | 29+++++++++++++++++++++++++++++
tools.suckless.org/slock/patches/mediakeys.md | 27---------------------------
tools.suckless.org/slock/patches/mediakeys/index.md | 27+++++++++++++++++++++++++++
tools.suckless.org/slock/patches/message.md | 38--------------------------------------
tools.suckless.org/slock/patches/message/index.md | 38++++++++++++++++++++++++++++++++++++++
tools.suckless.org/slock/patches/pam_auth.md | 23-----------------------
tools.suckless.org/slock/patches/pam_auth/index.md | 23+++++++++++++++++++++++
tools.suckless.org/slock/patches/quickcancel.md | 28----------------------------
tools.suckless.org/slock/patches/quickcancel/index.md | 28++++++++++++++++++++++++++++
tools.suckless.org/slock/patches/terminalkeys.md | 29-----------------------------
tools.suckless.org/slock/patches/terminalkeys/index.md | 29+++++++++++++++++++++++++++++
tools.suckless.org/slock/patches/unlock_screen.md | 18------------------
tools.suckless.org/slock/patches/unlock_screen/index.md | 18++++++++++++++++++
tools.suckless.org/tabbed/patches/alpha.md | 38--------------------------------------
tools.suckless.org/tabbed/patches/alpha/index.md | 38++++++++++++++++++++++++++++++++++++++
tools.suckless.org/tabbed/patches/autohide.md | 20--------------------
tools.suckless.org/tabbed/patches/autohide/index.md | 20++++++++++++++++++++
tools.suckless.org/tabbed/patches/clientnumber.md | 13-------------
tools.suckless.org/tabbed/patches/clientnumber/index.md | 13+++++++++++++
tools.suckless.org/tabbed/patches/keycode.md | 13-------------
tools.suckless.org/tabbed/patches/keycode/index.md | 13+++++++++++++
tools.suckless.org/tabbed/patches/xft.md | 18------------------
tools.suckless.org/tabbed/patches/xft/index.md | 18++++++++++++++++++
tools.suckless.org/x/lsw.md | 8--------
tools.suckless.org/x/lsw/index.md | 8++++++++
tools.suckless.org/x/sprop.md | 15---------------
tools.suckless.org/x/sprop/index.md | 15+++++++++++++++
tools.suckless.org/x/sselp.md | 9---------
tools.suckless.org/x/sselp/index.md | 9+++++++++
tools.suckless.org/x/svkbd.md | 44--------------------------------------------
tools.suckless.org/x/svkbd/index.md | 44++++++++++++++++++++++++++++++++++++++++++++
tools.suckless.org/x/swarp.md | 12------------
tools.suckless.org/x/swarp/index.md | 12++++++++++++
tools.suckless.org/x/wmname.md | 31-------------------------------
tools.suckless.org/x/wmname/index.md | 31+++++++++++++++++++++++++++++++
tools.suckless.org/x/xssstate.md | 17-----------------
tools.suckless.org/x/xssstate/index.md | 17+++++++++++++++++
162 files changed, 2212 insertions(+), 2212 deletions(-)

diff --git a/core.suckless.org/init-scripts.md b/core.suckless.org/init-scripts.md @@ -1,9 +0,0 @@ -init scripts -============ - -The long-term goal is to unify the following parallel -solutions: - -[Morpheus init scripts](http://git.2f30.org/fs/) - -[Stali init scripts](http://git.r-36.net/stali-init/) diff --git a/core.suckless.org/init-scripts/index.md b/core.suckless.org/init-scripts/index.md @@ -0,0 +1,9 @@ +init scripts +============ + +The long-term goal is to unify the following parallel +solutions: + +[Morpheus init scripts](http://git.2f30.org/fs/) + +[Stali init scripts](http://git.r-36.net/stali-init/) diff --git a/core.suckless.org/nldev.md b/core.suckless.org/nldev.md @@ -1,8 +0,0 @@ -nldev - netlink device manager -============================== - -[nldev](http://git.r-36.net/nldev/) is a netlink frontend for mdev, -replacing the over-engineered udevd. - -[nlmon](http://git.r-36.net/nlmon/) replaces udevadm for monitoring -network devices. diff --git a/core.suckless.org/nldev/index.md b/core.suckless.org/nldev/index.md @@ -0,0 +1,8 @@ +nldev - netlink device manager +============================== + +[nldev](http://git.r-36.net/nldev/) is a netlink frontend for mdev, +replacing the over-engineered udevd. + +[nlmon](http://git.r-36.net/nlmon/) replaces udevadm for monitoring +network devices. diff --git a/core.suckless.org/sbase.md b/core.suckless.org/sbase.md @@ -1,8 +0,0 @@ -sbase - suckless base -===================== - -[sbase](//git.suckless.org/sbase/) is a collection of unix -tools that are portable across unix-systems. - -For a list of tools that are currently implemented, please refer -to the [README](//git.suckless.org/sbase/tree/README). diff --git a/core.suckless.org/sbase/index.md b/core.suckless.org/sbase/index.md @@ -0,0 +1,8 @@ +sbase - suckless base +===================== + +[sbase](//git.suckless.org/sbase/) is a collection of unix +tools that are portable across unix-systems. + +For a list of tools that are currently implemented, please refer +to the [README](//git.suckless.org/sbase/tree/README). diff --git a/core.suckless.org/sdhcp.md b/core.suckless.org/sdhcp.md @@ -1,4 +0,0 @@ -sdhcp - suckless dhcp client -============================ - -[sdhcp](http://git.2f30.org/sdhcp/) is a suckless dhcp client. diff --git a/core.suckless.org/sdhcp/index.md b/core.suckless.org/sdhcp/index.md @@ -0,0 +1,4 @@ +sdhcp - suckless dhcp client +============================ + +[sdhcp](http://git.2f30.org/sdhcp/) is a suckless dhcp client. diff --git a/core.suckless.org/sinit.md b/core.suckless.org/sinit.md @@ -1,11 +0,0 @@ -sinit - suckless init -===================== - -[sinit](//git.suckless.org/sinit/) is a suckless init, initially based on -Rich Felker's minimal [init](https://gist.github.com/rofl0r/6168719). - -sinit is considered complete and no further development is expected to happen. - -Relevant links --------------- -* [sinit + daemontools-encore](http://troubleshooters.com/linux/diy/suckless_init_on_plop.htm) diff --git a/core.suckless.org/sinit/index.md b/core.suckless.org/sinit/index.md @@ -0,0 +1,11 @@ +sinit - suckless init +===================== + +[sinit](//git.suckless.org/sinit/) is a suckless init, initially based on +Rich Felker's minimal [init](https://gist.github.com/rofl0r/6168719). + +sinit is considered complete and no further development is expected to happen. + +Relevant links +-------------- +* [sinit + daemontools-encore](http://troubleshooters.com/linux/diy/suckless_init_on_plop.htm) diff --git a/core.suckless.org/smdev.md b/core.suckless.org/smdev.md @@ -1,5 +0,0 @@ -smdev - suckless mdev -===================== - -[smdev](//git.suckless.org/smdev/) is a mostly mdev-compatible suckless program to -manage device nodes. diff --git a/core.suckless.org/smdev/index.md b/core.suckless.org/smdev/index.md @@ -0,0 +1,5 @@ +smdev - suckless mdev +===================== + +[smdev](//git.suckless.org/smdev/) is a mostly mdev-compatible suckless program to +manage device nodes. diff --git a/core.suckless.org/svc.md b/core.suckless.org/svc.md @@ -1,5 +0,0 @@ -svc - service scripts and control programs -========================================== - -[svc](gopher://gopher.r-36.net/1/scm/svc/) is a set of suckless service scripts and -control programs. diff --git a/core.suckless.org/svc/index.md b/core.suckless.org/svc/index.md @@ -0,0 +1,5 @@ +svc - service scripts and control programs +========================================== + +[svc](gopher://gopher.r-36.net/1/scm/svc/) is a set of suckless service scripts and +control programs. diff --git a/core.suckless.org/ubase.md b/core.suckless.org/ubase.md @@ -1,8 +0,0 @@ -ubase - unportable base -======================= - -[ubase](//git.suckless.org/ubase) is a collection of unportable -tools, similar in spirit to util-linux but much simpler. - -For a list of tools that are currently implemented, please refer -to the [README](//git.suckless.org/ubase/tree/README). diff --git a/core.suckless.org/ubase/index.md b/core.suckless.org/ubase/index.md @@ -0,0 +1,8 @@ +ubase - unportable base +======================= + +[ubase](//git.suckless.org/ubase) is a collection of unportable +tools, similar in spirit to util-linux but much simpler. + +For a list of tools that are currently implemented, please refer +to the [README](//git.suckless.org/ubase/tree/README). diff --git a/dwm.suckless.org/patches/historical/altmovefocus.md b/dwm.suckless.org/patches/historical/altmovefocus.md @@ -1,10 +0,0 @@ -ANOTHER FOCUS MOVING MODEL -========================== - -Description ------------ -When a single tag is displayed, calling view() or tag() with it as an argument is useless. This patch enables moving focus forward with view() calls and backward with tag() instead of doing nothing. Of course, those who toggle several tags at time or just have more than 3-4 tags won't benefit much from such behaviour. - -Download --------- -* [dwm-5.2-altmovefocus.diff](http://mkmks.org/files/patches/dwm-5.2-altmovefocus.diff) diff --git a/dwm.suckless.org/patches/historical/altmovefocus/index.md b/dwm.suckless.org/patches/historical/altmovefocus/index.md @@ -0,0 +1,10 @@ +ANOTHER FOCUS MOVING MODEL +========================== + +Description +----------- +When a single tag is displayed, calling view() or tag() with it as an argument is useless. This patch enables moving focus forward with view() calls and backward with tag() instead of doing nothing. Of course, those who toggle several tags at time or just have more than 3-4 tags won't benefit much from such behaviour. + +Download +-------- +* [dwm-5.2-altmovefocus.diff](http://mkmks.org/files/patches/dwm-5.2-altmovefocus.diff) diff --git a/dwm.suckless.org/patches/historical/ansistatuscolors.md b/dwm.suckless.org/patches/historical/ansistatuscolors.md @@ -1,100 +0,0 @@ -# AnsiStatusColors - colorize your status bar using ansi escape sequences# - -## Description ## - -Lets you put colored text in your status bar, but you don't have define them in your config.h. Instead, just put the ansi escape sequence in the output of your status bar script to print in color, as you would in a terminal. - -## Configuration ## - -get the patch from github: [https://gist.github.com/4054818](https://gist.github.com/4054818) - -apply it to dwm.c like so: - - patch -p1 dwm.c < ansistatuscolors.diff - -## Usage ## - -Just like you'd use them for colorizing a shell script. - -more info is here: [http://www.frexx.de/xterm-256-notes/](http://www.frexx.de/xterm-256-notes/) - -an ansi escape sequence is in the form: - - \e[<code>m - -where: - - \e - escape - ascii 27 / hex 1b / octal 033 - [ - literal bracket - m - literal 'm' - -the code is one of the following: - - 0 - - reset colors to default - - n;m - - n - - o - normal color - 1 - 'bright' color - - m - - 30-37 - foreground - 40-47 - background - - n;5;m - - n - - 38 - foreground - 48 - background - 5 - - literal '5' - m - - 0-15 - classic ansi color - 16-231 - xterm 256-color rgb color - 232-255 - grayscale - -in vim, to create a literal 'escape' character, type ctrl-v, esc. -in perl/python/c, within a string literal, it's "\x1b". - -### Example ### - #!/usr/bin/env python - ##testcoloredstatus.py - - from subprocess import call,check_output - - redfg = '\x1b[38;5;196m' #hex - redbg = '\033[48;5;196m' #octal - blackbg = '\x1b[48;5;16m' - reset = '\x1b[0m' - - call(['xsetroot','-name',''.join( - [ - redfg, - 'hello ', - reset, - redbg, - 'world', - reset, - '! bar graph: 50% ', - redbg, - ' '*5, - blackbg, - ' '*5, - reset, - ' ', - check_output("date").strip() - ] - )], shell=False) -###Screenshot### -my battery is discharging and my wifi signal is iffy ... - -![alt text](ansistatuscolors.png) - -###Author### -Brandon Dowell <brandon DOT dowell AT gmail> - -github.com/la11111 - -holler if you find a bug, or fork it on github and fix it! diff --git a/dwm.suckless.org/patches/historical/ansistatuscolors/index.md b/dwm.suckless.org/patches/historical/ansistatuscolors/index.md @@ -0,0 +1,100 @@ +# AnsiStatusColors - colorize your status bar using ansi escape sequences# + +## Description ## + +Lets you put colored text in your status bar, but you don't have define them in your config.h. Instead, just put the ansi escape sequence in the output of your status bar script to print in color, as you would in a terminal. + +## Configuration ## + +get the patch from github: [https://gist.github.com/4054818](https://gist.github.com/4054818) + +apply it to dwm.c like so: + + patch -p1 dwm.c < ansistatuscolors.diff + +## Usage ## + +Just like you'd use them for colorizing a shell script. + +more info is here: [http://www.frexx.de/xterm-256-notes/](http://www.frexx.de/xterm-256-notes/) + +an ansi escape sequence is in the form: + + \e[<code>m + +where: + + \e - escape - ascii 27 / hex 1b / octal 033 + [ - literal bracket + m - literal 'm' + +the code is one of the following: + + 0 + - reset colors to default + + n;m + + n - + o - normal color + 1 - 'bright' color + + m - + 30-37 - foreground + 40-47 - background + + n;5;m + + n - + 38 - foreground + 48 - background + 5 - + literal '5' + m - + 0-15 - classic ansi color + 16-231 - xterm 256-color rgb color + 232-255 - grayscale + +in vim, to create a literal 'escape' character, type ctrl-v, esc. +in perl/python/c, within a string literal, it's "\x1b". + +### Example ### + #!/usr/bin/env python + ##testcoloredstatus.py + + from subprocess import call,check_output + + redfg = '\x1b[38;5;196m' #hex + redbg = '\033[48;5;196m' #octal + blackbg = '\x1b[48;5;16m' + reset = '\x1b[0m' + + call(['xsetroot','-name',''.join( + [ + redfg, + 'hello ', + reset, + redbg, + 'world', + reset, + '! bar graph: 50% ', + redbg, + ' '*5, + blackbg, + ' '*5, + reset, + ' ', + check_output("date").strip() + ] + )], shell=False) +###Screenshot### +my battery is discharging and my wifi signal is iffy ... + +![alt text](ansistatuscolors.png) + +###Author### +Brandon Dowell <brandon DOT dowell AT gmail> + +github.com/la11111 + +holler if you find a bug, or fork it on github and fix it! diff --git a/dwm.suckless.org/patches/historical/bottom_stack.md b/dwm.suckless.org/patches/historical/bottom_stack.md @@ -1,47 +0,0 @@ -BOTTOM STACK -============ - -Description ------------ -`bstack` and `bstackhoriz` are two bottom stack layouts for dwm. - -Include the sources in your `config.h` (after the definition of `mfact`) -and update the layouts and key bindings. - - #include "bstack.c" - #include "bstackhoriz.c" - - static const Layout layouts[] = { - /* symbol arrange function */ - ... - { "TTT", bstack }, - { "===", bstackhoriz }, - - -Bottom Stack Tiling -------------------- - - bstack (TTT) - +-----------------+ - | | - | | - | | - +-----+-----+-----+ - | | | | - | | | | - +-----+-----+-----+ - - bstackhoriz (===) - +-----------------+ - | | - | | - | | - +-----------------+ - +-----------------+ - +-----------------+ - +-----------------+ - -Download --------- -* [bstack.c](bstack.c) (dwm 5.6.1) (20090908) -* [bstackhoriz.c](bstackhoriz.c) (dwm 5.6.1) (20090908) diff --git a/dwm.suckless.org/patches/historical/bottom_stack/index.md b/dwm.suckless.org/patches/historical/bottom_stack/index.md @@ -0,0 +1,47 @@ +BOTTOM STACK +============ + +Description +----------- +`bstack` and `bstackhoriz` are two bottom stack layouts for dwm. + +Include the sources in your `config.h` (after the definition of `mfact`) +and update the layouts and key bindings. + + #include "bstack.c" + #include "bstackhoriz.c" + + static const Layout layouts[] = { + /* symbol arrange function */ + ... + { "TTT", bstack }, + { "===", bstackhoriz }, + + +Bottom Stack Tiling +------------------- + + bstack (TTT) + +-----------------+ + | | + | | + | | + +-----+-----+-----+ + | | | | + | | | | + +-----+-----+-----+ + + bstackhoriz (===) + +-----------------+ + | | + | | + | | + +-----------------+ + +-----------------+ + +-----------------+ + +-----------------+ + +Download +-------- +* [bstack.c](bstack.c) (dwm 5.6.1) (20090908) +* [bstackhoriz.c](bstackhoriz.c) (dwm 5.6.1) (20090908) diff --git a/dwm.suckless.org/patches/historical/color_status_bar.md b/dwm.suckless.org/patches/historical/color_status_bar.md @@ -1,35 +0,0 @@ -# COLOR STATUS BAR # - -## Description ## - -This patch adds some color to the status bar. It allows you to change the colorset of text portions from "norm" to "sel" (and back) and to invert the colorset (the foreground becomes the background color and vice versa). - - -## Usage ## - -Download the patch and apply it according to the [general instructions](.). The patch will make the following changes: - - * colorstatus.c: adding the file - * dwm.c: adding the include-line for 'colorstatus.c' - * dwm.c ('drawbar' function): adding the int-variable 'stextw' - * dwm.c ('drawbar' function): changing the 'drawtext' section for stext - - -## Configuration ## - -The configuration is done in the file '.xinitrc', where you define the status bar text. You can add the following tags: - - * '[c]' (without quotes): toggles the colorset (norm -> sel or sel -> norm depending on the currently selected colorset) - * '[i]' (without quotes): inverts the current colorset (fgcolor -> bgcolor and bgcolor -> fgcolor) - -The change is applied from the position of the tag onwards. To revert the change you have to set the same tag again. - -### Example ### -echo -e NEW mail: $mailnew \| VOL front: $audiofront \| BAT:[i]$batpercent[i]\| CPU: $cpuavgload \| $datestr[c]$timestr - - -## Download ## - - * [dwm-5.2-colorstatus.diff](dwm-5.2-colorstatus.diff) (4.1k, 131 additional lines) (20081117) - * [.xinitrc example](dwm-5.2-colorstatus.xinitrc) (0.8k) (20081117) - diff --git a/dwm.suckless.org/patches/historical/color_status_bar/index.md b/dwm.suckless.org/patches/historical/color_status_bar/index.md @@ -0,0 +1,35 @@ +# COLOR STATUS BAR # + +## Description ## + +This patch adds some color to the status bar. It allows you to change the colorset of text portions from "norm" to "sel" (and back) and to invert the colorset (the foreground becomes the background color and vice versa). + + +## Usage ## + +Download the patch and apply it according to the [general instructions](.). The patch will make the following changes: + + * colorstatus.c: adding the file + * dwm.c: adding the include-line for 'colorstatus.c' + * dwm.c ('drawbar' function): adding the int-variable 'stextw' + * dwm.c ('drawbar' function): changing the 'drawtext' section for stext + + +## Configuration ## + +The configuration is done in the file '.xinitrc', where you define the status bar text. You can add the following tags: + + * '[c]' (without quotes): toggles the colorset (norm -> sel or sel -> norm depending on the currently selected colorset) + * '[i]' (without quotes): inverts the current colorset (fgcolor -> bgcolor and bgcolor -> fgcolor) + +The change is applied from the position of the tag onwards. To revert the change you have to set the same tag again. + +### Example ### +echo -e NEW mail: $mailnew \| VOL front: $audiofront \| BAT:[i]$batpercent[i]\| CPU: $cpuavgload \| $datestr[c]$timestr + + +## Download ## + + * [dwm-5.2-colorstatus.diff](dwm-5.2-colorstatus.diff) (4.1k, 131 additional lines) (20081117) + * [.xinitrc example](dwm-5.2-colorstatus.xinitrc) (0.8k) (20081117) + diff --git a/dwm.suckless.org/patches/historical/fibonacci.md b/dwm.suckless.org/patches/historical/fibonacci.md @@ -1,58 +0,0 @@ -# FIBONACCI LAYOUTS - -## Description - -This patch adds two new layouts (`spiral` and `dwindle`) that arranges all -windows in Fibonacci tiles: The first window uses half the screen, the second -the half of the remainder, etc. ASCII art and a real screenshot of the spiral -arrangement can be seen below. - - +-----------+-----------+ +-----------+-----------+ - | | | | | | - | | 2 | | | 2 | - | | | | | | - | 1 +--+--+-----+ | 1 +-----+-----+ - | | 5|-.| | | | | 4 | - | +--+--+ 3 | | | 3 +--+--+ - | | 4 | | | | | 5|-.| - +-----------+-----+-----+ +-----------+-----+-----+ - spiral dwindle - -[![dwm in spiral layout.][1]][2] - -*Links2, sic, xterm & xclock in spiral layout.* - -## Usage - - 1. Download the patch and apply according to the [general instructions](.). - 2. Include the `fibonacci.c` source file and add `spiral` and/or `dwindle` to - the `Layout` section of your `config.h` file. - Example from `config.default.h`: - - #include "fibonacci.c" - static Layout layout[] = { \ - /* symbol function */ \ - { "[]=", tile }, /* first entry is default */ \ - { "><>", floating }, \ - { "(@)", spiral }, \ - { "[\\]", dwindle }, \ - }; - -## Download - - * [dwm-5.2-fibonacci.diff][5] (1.9k) (20081003) - * [dwm-5.1-fibonacci.diff][3] (1.9k) (20080731) - -## Author - - * Jeroen Schot - <schot@a-eskwadraat.nl> - -Joe Thornber's spiral tiling for [Xmonad][4] formed the inspiration for this -patch. Thanks to Jan Christoph Ebersbach for updating this patch for versions -4.5 to 4.9. - -[1]: http://schot.a-eskwadraat.nl/images/dwm-spiral_small.png -[2]: http://schot.a-eskwadraat.nl/images/dwm-spiral.png -[3]: http://schot.a-eskwadraat.nl/files/dwm-5.1-fibonacci.diff -[4]: http://www.xmonad.org -[5]: http://www.aplusbi.com/dwm/dwm-5.2-fibonacci.diff diff --git a/dwm.suckless.org/patches/historical/fibonacci/index.md b/dwm.suckless.org/patches/historical/fibonacci/index.md @@ -0,0 +1,58 @@ +# FIBONACCI LAYOUTS + +## Description + +This patch adds two new layouts (`spiral` and `dwindle`) that arranges all +windows in Fibonacci tiles: The first window uses half the screen, the second +the half of the remainder, etc. ASCII art and a real screenshot of the spiral +arrangement can be seen below. + + +-----------+-----------+ +-----------+-----------+ + | | | | | | + | | 2 | | | 2 | + | | | | | | + | 1 +--+--+-----+ | 1 +-----+-----+ + | | 5|-.| | | | | 4 | + | +--+--+ 3 | | | 3 +--+--+ + | | 4 | | | | | 5|-.| + +-----------+-----+-----+ +-----------+-----+-----+ + spiral dwindle + +[![dwm in spiral layout.][1]][2] + +*Links2, sic, xterm & xclock in spiral layout.* + +## Usage + + 1. Download the patch and apply according to the [general instructions](.). + 2. Include the `fibonacci.c` source file and add `spiral` and/or `dwindle` to + the `Layout` section of your `config.h` file. + Example from `config.default.h`: + + #include "fibonacci.c" + static Layout layout[] = { \ + /* symbol function */ \ + { "[]=", tile }, /* first entry is default */ \ + { "><>", floating }, \ + { "(@)", spiral }, \ + { "[\\]", dwindle }, \ + }; + +## Download + + * [dwm-5.2-fibonacci.diff][5] (1.9k) (20081003) + * [dwm-5.1-fibonacci.diff][3] (1.9k) (20080731) + +## Author + + * Jeroen Schot - <schot@a-eskwadraat.nl> + +Joe Thornber's spiral tiling for [Xmonad][4] formed the inspiration for this +patch. Thanks to Jan Christoph Ebersbach for updating this patch for versions +4.5 to 4.9. + +[1]: http://schot.a-eskwadraat.nl/images/dwm-spiral_small.png +[2]: http://schot.a-eskwadraat.nl/images/dwm-spiral.png +[3]: http://schot.a-eskwadraat.nl/files/dwm-5.1-fibonacci.diff +[4]: http://www.xmonad.org +[5]: http://www.aplusbi.com/dwm/dwm-5.2-fibonacci.diff diff --git a/dwm.suckless.org/patches/historical/focusatom.md b/dwm.suckless.org/patches/historical/focusatom.md @@ -1,44 +0,0 @@ -# FOCUS SETTING ATOM - -## Description - -With this patch, dwm monitors the content of the `_DWM_FOCUS` property in the -root window (a 32-bit cardinal) and sets the focus accordingly, selecting the -client tags and monitor if needed. - -## Usage - -After patching, you can use a modified verwion of lsw to print the window id: - - diff -up lsw-0.1/lsw.c lsw.new/lsw.c - --- lsw-0.1/lsw.c 2006-10-13 11:09:18.000000000 +0200 - +++ lsw.new/lsw.c 2010-02-23 15:15:41.468637549 +0100 - @@ -63,7 +63,7 @@ main(int argc, char *argv[]) { - continue; - getname(wins[i]); - if(buf[0]) - - fprintf(stdout, "%s\n", buf); - + fprintf(stdout, "%s - %i\n", buf, wins[i]); - } - } - if(wins) - -And then call dmenu to choose a window by title, xprop to set it: - - win="$(lsw | grep -v ^\<unknown\> | dmenu | awk '{print $NF}')" - test $win && xprop -root -f _DWM_FOCUS 32c -set _DWM_FOCUS $win - -## Notes - -* May not be extremely portable -* You can now use this with mainline lsw by using the -l parameter -* This patch is now historical since dwm supports _NET_ACTIVE_WINDOW - -## Download - -* [dwm-r1507-focusatom.diff](dwm-r1507-focusatom.diff) (2057 bytes) (20100226) - -## Author - -* Rafael Garcia - <rafael.garcia.gallego@gmail.com> - diff --git a/dwm.suckless.org/patches/historical/focusatom/index.md b/dwm.suckless.org/patches/historical/focusatom/index.md @@ -0,0 +1,44 @@ +# FOCUS SETTING ATOM + +## Description + +With this patch, dwm monitors the content of the `_DWM_FOCUS` property in the +root window (a 32-bit cardinal) and sets the focus accordingly, selecting the +client tags and monitor if needed. + +## Usage + +After patching, you can use a modified verwion of lsw to print the window id: + + diff -up lsw-0.1/lsw.c lsw.new/lsw.c + --- lsw-0.1/lsw.c 2006-10-13 11:09:18.000000000 +0200 + +++ lsw.new/lsw.c 2010-02-23 15:15:41.468637549 +0100 + @@ -63,7 +63,7 @@ main(int argc, char *argv[]) { + continue; + getname(wins[i]); + if(buf[0]) + - fprintf(stdout, "%s\n", buf); + + fprintf(stdout, "%s - %i\n", buf, wins[i]); + } + } + if(wins) + +And then call dmenu to choose a window by title, xprop to set it: + + win="$(lsw | grep -v ^\<unknown\> | dmenu | awk '{print $NF}')" + test $win && xprop -root -f _DWM_FOCUS 32c -set _DWM_FOCUS $win + +## Notes + +* May not be extremely portable +* You can now use this with mainline lsw by using the -l parameter +* This patch is now historical since dwm supports _NET_ACTIVE_WINDOW + +## Download + +* [dwm-r1507-focusatom.diff](dwm-r1507-focusatom.diff) (2057 bytes) (20100226) + +## Author + +* Rafael Garcia - <rafael.garcia.gallego@gmail.com> + diff --git a/dwm.suckless.org/patches/historical/gridmode.md b/dwm.suckless.org/patches/historical/gridmode.md @@ -1,40 +0,0 @@ -# GRIDMODE PATCH # - -## Description ## - -This patch adds an extra layout mode to dwm called `grid` in which the windows are arranged in a grid of windows of equal sizes. It comes very in handy especially with tools that operate on multiple windows at once such Cluster SSH. - -## Usage ## - -Add a grid-symbol to your `config.h` file. - -## Screenshots ## - -[Grid mode][5] (it also includes a minor patch to make dwm more colourful :D) - -## Download ## - * [dwm-5.2-gridmode.diff][7] - * [dwm-4.4.1-gridmode.diff][6] - * [dwm-4.3-gridmode.diff][4] - * [dwm-4.0-gridmode.diff][3] - * [dwm-3.9-gridmode.diff][2] - * [dwm-3.8-gridmode.diff][1] - -## Author ## - - * Alexandru E. Ungur <grid@rb.no-ip.biz> - * Updated by Jan Christoph Ebersbach - <jceb@e-jc.de> - * Updated to 5.2 & small fix by V4hn - v4hn.de -Feedback is more than welcome :-) - -## Acknowledgments ## - -The patch would look a lot uglier without Jukka Salmi's constant help. Thanks Jukka :-) - -[1]: http://dwm.slax.no-ip.biz/dwm-3.8-gridmode.diff -[2]: http://dwm.slax.no-ip.biz/dwm-3.9-gridmode.diff -[3]: http://dwm.slax.no-ip.biz/dwm-4.0-gridmode.diff -[4]: http://dwm.slax.no-ip.biz/dwm-4.3-gridmode.diff -[5]: http://dwm.slax.no-ip.biz/dwm4.3.png -[6]: http://schot.a-eskwadraat.nl/files/dwm-4.4.1-gridmode.diff -[7]: http://www.v4hn.de/patches/dwm-5.2-gridmode.diff diff --git a/dwm.suckless.org/patches/historical/gridmode/index.md b/dwm.suckless.org/patches/historical/gridmode/index.md @@ -0,0 +1,40 @@ +# GRIDMODE PATCH # + +## Description ## + +This patch adds an extra layout mode to dwm called `grid` in which the windows are arranged in a grid of windows of equal sizes. It comes very in handy especially with tools that operate on multiple windows at once such Cluster SSH. + +## Usage ## + +Add a grid-symbol to your `config.h` file. + +## Screenshots ## + +[Grid mode][5] (it also includes a minor patch to make dwm more colourful :D) + +## Download ## + * [dwm-5.2-gridmode.diff][7] + * [dwm-4.4.1-gridmode.diff][6] + * [dwm-4.3-gridmode.diff][4] + * [dwm-4.0-gridmode.diff][3] + * [dwm-3.9-gridmode.diff][2] + * [dwm-3.8-gridmode.diff][1] + +## Author ## + + * Alexandru E. Ungur <grid@rb.no-ip.biz> + * Updated by Jan Christoph Ebersbach - <jceb@e-jc.de> + * Updated to 5.2 & small fix by V4hn - v4hn.de +Feedback is more than welcome :-) + +## Acknowledgments ## + +The patch would look a lot uglier without Jukka Salmi's constant help. Thanks Jukka :-) + +[1]: http://dwm.slax.no-ip.biz/dwm-3.8-gridmode.diff +[2]: http://dwm.slax.no-ip.biz/dwm-3.9-gridmode.diff +[3]: http://dwm.slax.no-ip.biz/dwm-4.0-gridmode.diff +[4]: http://dwm.slax.no-ip.biz/dwm-4.3-gridmode.diff +[5]: http://dwm.slax.no-ip.biz/dwm4.3.png +[6]: http://schot.a-eskwadraat.nl/files/dwm-4.4.1-gridmode.diff +[7]: http://www.v4hn.de/patches/dwm-5.2-gridmode.diff diff --git a/dwm.suckless.org/patches/historical/mouseontitle.md b/dwm.suckless.org/patches/historical/mouseontitle.md @@ -1,37 +0,0 @@ -MOUSE EVENTS ON TITLE -===================== - -Last update: 2009-12-11 - -Adds mouse events on the title bar to switch between clients using -the mouse wheel and using the left click to zoom, right click kill -and middle click for toggling the floating. - -This way you can easily manage tiled clients with the mouse. - -The right click on the layout area maximizes the client. - -If you are using the nmaster patch you will be able to change the nmaster -value using the mouse wheel. - -Change the mwfact using the wheel at x=0 placing the cursor inside the bar. - -Notes ------ -Last versions of dwm (5.x series) allow to bind mouse events to actions, -so this patch can be replaced by a proper config.h tweak. - -Patch ------ - -Patch for [dwm 4.6][1] is here. - -See in event.c at function 'buttonpress()' to patch older dwm releases. - -Author ------- - -* pancake &lt;youterm.com&gt; - -[1]:http://www.lolcathost.org/b/dwm/mouseontitle-4.6.diff - diff --git a/dwm.suckless.org/patches/historical/mouseontitle/index.md b/dwm.suckless.org/patches/historical/mouseontitle/index.md @@ -0,0 +1,37 @@ +MOUSE EVENTS ON TITLE +===================== + +Last update: 2009-12-11 + +Adds mouse events on the title bar to switch between clients using +the mouse wheel and using the left click to zoom, right click kill +and middle click for toggling the floating. + +This way you can easily manage tiled clients with the mouse. + +The right click on the layout area maximizes the client. + +If you are using the nmaster patch you will be able to change the nmaster +value using the mouse wheel. + +Change the mwfact using the wheel at x=0 placing the cursor inside the bar. + +Notes +----- +Last versions of dwm (5.x series) allow to bind mouse events to actions, +so this patch can be replaced by a proper config.h tweak. + +Patch +----- + +Patch for [dwm 4.6][1] is here. + +See in event.c at function 'buttonpress()' to patch older dwm releases. + +Author +------ + +* pancake &lt;youterm.com&gt; + +[1]:http://www.lolcathost.org/b/dwm/mouseontitle-4.6.diff + diff --git a/dwm.suckless.org/patches/historical/movestack.md b/dwm.suckless.org/patches/historical/movestack.md @@ -1,32 +0,0 @@ -# MOVESTACK - -## Description - -This plugin allows you to move clients around in the stack and swap them with -the master. It emulates the behavior off mod+shift+j and mod+shift+k in Xmonad. -movestack(+1) will swap the client with the current focus with the next client. -movestack(-1) will swap the client with the current focus with the previous client. - -## Usage - - 1. Download the patch and apply according to the [general instructions](.). - 2. Include the `movestack.c` source file and add keys that call movestack. - Example from `config.default.h`: - - #include "movestack.c" - static Key keys[] = { - /* modifier key function argument */ - ... - { MODKEY|ShiftMask, XK_j, movestack, {.i = +1 } }, - { MODKEY|ShiftMask, XK_k, movestack, {.i = -1 } }, - ... - -## Download - - * [dwm-5.2-movestack.diff][1] (1.9k) (20081003) - -## Author - - * Niki Yoshiuchi - <aplusbi@gmail.com> - -[1]: http://www.aplusbi.com/dwm/dwm-5.2-movestack.diff diff --git a/dwm.suckless.org/patches/historical/movestack/index.md b/dwm.suckless.org/patches/historical/movestack/index.md @@ -0,0 +1,32 @@ +# MOVESTACK + +## Description + +This plugin allows you to move clients around in the stack and swap them with +the master. It emulates the behavior off mod+shift+j and mod+shift+k in Xmonad. +movestack(+1) will swap the client with the current focus with the next client. +movestack(-1) will swap the client with the current focus with the previous client. + +## Usage + + 1. Download the patch and apply according to the [general instructions](.). + 2. Include the `movestack.c` source file and add keys that call movestack. + Example from `config.default.h`: + + #include "movestack.c" + static Key keys[] = { + /* modifier key function argument */ + ... + { MODKEY|ShiftMask, XK_j, movestack, {.i = +1 } }, + { MODKEY|ShiftMask, XK_k, movestack, {.i = -1 } }, + ... + +## Download + + * [dwm-5.2-movestack.diff][1] (1.9k) (20081003) + +## Author + + * Niki Yoshiuchi - <aplusbi@gmail.com> + +[1]: http://www.aplusbi.com/dwm/dwm-5.2-movestack.diff diff --git a/dwm.suckless.org/patches/historical/multimon.md b/dwm.suckless.org/patches/historical/multimon.md @@ -1,61 +0,0 @@ -multimon -======== - -Last Updated: 2014-03-25 - -Description ------------ - -These patches provide enhancements for working in a multi-monitor environment. - - * monitor marker - * Adds a small token to the bar that displays the dwm monitor number. - * The token has a mouse binding, just like the rest of the bar objects. - * unified view - * Provides two wrapper functions that work across all monitors simultaneously. - * Can change/toggle the view for all monitors, creating a unified workspace. - * reset view - * Function and settings for a "default view", for checking on primary tasks which may have been shuffled out of view doing more focused work. - * Per-monitor default settings for nmaster and tags. - * status all - * Show/update the status on all bars. - * Based on [statusbar on all monitors](//dwm.suckless.org/patches/statusallmons), but uses a configurable boolean. - -Each can be applied independently, if desired, except for "reset view" which references "ClkMonNum" from "unified view" in "config.def.h". Simply remove the reference to get it to apply and compile. - -Example configuration settings with comments are included in "config.def.h" within each patch. - -The default settings and behavior of dwm are not modified by these patches. They provide enhancements and new options only, so there should be minimal conflict with other dwm patches. - -Usage ------ - -Each patch can be applied using "patch -p1" or "git am": - - cd dwm; patch -p1 < multimon-1-added-monitor-marker-to-bar.diff - --OR- - - cd dwm; git pull; git am multimon-1-added-monitor-marker-to-bar.diff - -There are default settings and bindings in "config.def.h" which you will likely want to customize. - -Download --------- - -Each of the patches was created by "format-patch" based on commit: [cdec9782a1789bd5c3a84772fd59abb9da288597](//git.suckless.org/dwm/commit/?id=cdec9782a1789bd5c3a84772fd59abb9da288597) - - * monitor marker (6228b): [multimon-1-added-monitor-marker-to-bar.diff](multimon-1-added-monitor-marker-to-bar.diff) ([GitHub](https://github.com/garybgenett/.dwm/commit/143e7f2f3caa047469c7219cd6b0cb704466683f)) - * unified view (6558b): [multimon-2-added-n-view-wrappers-for-unified-multi-monitor.diff](multimon-2-added-n-view-wrappers-for-unified-multi-monitor.diff) ([GitHub](https://github.com/garybgenett/.dwm/commit/2521a74714bb7c4b8787f30584f1565cc582928b)) - * reset view (6816b): [multimon-3-added-reset_view-function.diff](multimon-3-added-reset_view-function.diff) ([GitHub](https://github.com/garybgenett/.dwm/commit/b9f79c3dd07b285e974b2dfdf2371a72467539bb)) - * status all (6165b): [multimon-4-added-statusall-toggle-replacing-need-for-patch.diff](multimon-4-added-statusall-toggle-replacing-need-for-patch.diff) ([GitHub](https://github.com/garybgenett/.dwm/commit/d318ffdc7ab7a365e548776a1d8ed5ccbd67cd42)) - -The patches are intended to be applied in order, one after the other, but can also be used independently. - -Author ------- - - * Gary B. Genett - [me@garybgenett.net](mailto:me@garybgenett.net) - ---- -Original Submission: [//lists.suckless.org/dev/1403/20488.html](//lists.suckless.org/dev/1403/20488.html) diff --git a/dwm.suckless.org/patches/historical/multimon/index.md b/dwm.suckless.org/patches/historical/multimon/index.md @@ -0,0 +1,61 @@ +multimon +======== + +Last Updated: 2014-03-25 + +Description +----------- + +These patches provide enhancements for working in a multi-monitor environment. + + * monitor marker + * Adds a small token to the bar that displays the dwm monitor number. + * The token has a mouse binding, just like the rest of the bar objects. + * unified view + * Provides two wrapper functions that work across all monitors simultaneously. + * Can change/toggle the view for all monitors, creating a unified workspace. + * reset view + * Function and settings for a "default view", for checking on primary tasks which may have been shuffled out of view doing more focused work. + * Per-monitor default settings for nmaster and tags. + * status all + * Show/update the status on all bars. + * Based on [statusbar on all monitors](//dwm.suckless.org/patches/statusallmons), but uses a configurable boolean. + +Each can be applied independently, if desired, except for "reset view" which references "ClkMonNum" from "unified view" in "config.def.h". Simply remove the reference to get it to apply and compile. + +Example configuration settings with comments are included in "config.def.h" within each patch. + +The default settings and behavior of dwm are not modified by these patches. They provide enhancements and new options only, so there should be minimal conflict with other dwm patches. + +Usage +----- + +Each patch can be applied using "patch -p1" or "git am": + + cd dwm; patch -p1 < multimon-1-added-monitor-marker-to-bar.diff + +-OR- + + cd dwm; git pull; git am multimon-1-added-monitor-marker-to-bar.diff + +There are default settings and bindings in "config.def.h" which you will likely want to customize. + +Download +-------- + +Each of the patches was created by "format-patch" based on commit: [cdec9782a1789bd5c3a84772fd59abb9da288597](//git.suckless.org/dwm/commit/?id=cdec9782a1789bd5c3a84772fd59abb9da288597) + + * monitor marker (6228b): [multimon-1-added-monitor-marker-to-bar.diff](multimon-1-added-monitor-marker-to-bar.diff) ([GitHub](https://github.com/garybgenett/.dwm/commit/143e7f2f3caa047469c7219cd6b0cb704466683f)) + * unified view (6558b): [multimon-2-added-n-view-wrappers-for-unified-multi-monitor.diff](multimon-2-added-n-view-wrappers-for-unified-multi-monitor.diff) ([GitHub](https://github.com/garybgenett/.dwm/commit/2521a74714bb7c4b8787f30584f1565cc582928b)) + * reset view (6816b): [multimon-3-added-reset_view-function.diff](multimon-3-added-reset_view-function.diff) ([GitHub](https://github.com/garybgenett/.dwm/commit/b9f79c3dd07b285e974b2dfdf2371a72467539bb)) + * status all (6165b): [multimon-4-added-statusall-toggle-replacing-need-for-patch.diff](multimon-4-added-statusall-toggle-replacing-need-for-patch.diff) ([GitHub](https://github.com/garybgenett/.dwm/commit/d318ffdc7ab7a365e548776a1d8ed5ccbd67cd42)) + +The patches are intended to be applied in order, one after the other, but can also be used independently. + +Author +------ + + * Gary B. Genett - [me@garybgenett.net](mailto:me@garybgenett.net) + +--- +Original Submission: [//lists.suckless.org/dev/1403/20488.html](//lists.suckless.org/dev/1403/20488.html) diff --git a/dwm.suckless.org/patches/historical/nmaster.md b/dwm.suckless.org/patches/historical/nmaster.md @@ -1,56 +0,0 @@ -# NMASTER PATCH - -## Description - -This patch restores the ability to have multiple clients in the master area of the tiled layout. -This feature was dropped from vanilla dwm in version 4.4. - -See [nmaster.c][1] header documentation for installing this patch with tilecols and clientspertag for dwm 4.6. - - ntile (-|=) - +----------+------+ - | | | - | +------+ - |----------| | - | +------+ - | | | - +----------+------+ - -NOTE: The nmaster.c (patch for dwm 4.6) mixes the clientspertag patch together with another layout called tilecols. - -## Usage - - 1. Download the patch and apply according to the [general instructions](.). - 2. Add the `NMASTER` value to your `config.h`. - Example from `config.default.h`: - - #define NMASTER 2 /* clients in master area*/ - - 3. Add keybindings to `incmaster()` to your `config.h`. - Example from `config.default.h`: - - { MODKEY|ShiftMask, XK_k, incnmaster, "-1" }, \ - { MODKEY|ShiftMask, XK_j, incnmaster, "1" }, \ - -The nmaster patch for dwm 4.6 (current development hg branch) installation is far more simple. -Installation instructions are placed on the top of the .c file. - -The nmaster patch for dwm 4.6 adds two new layouts called ntile (classic) and dntile (dinamic). - -## Download - - * [nmaster-4.7.c][3] (dwm 4.7) (7.3kb (20071123) - * [nmaster.c][2] (dwm 4.6) (7.3kb) (20071025) - - contains ntile, dntile and tilecols. Also supports the clients-per-tag - * [dwm-4.4.1-nmaster.diff][1] (dwm 4.4) (2.8kb) (20070826) - * [nmaster+bstack-5.6.1.diff](nmaster+bstack-5.6.1.diff) (dwm 5.6.1) (5.9kb) (20090824) - - another variation; contains bstack with nmaster support - -[1]: http://schot.a-eskwadraat.nl/files/dwm-4.4.1-nmaster.diff -[2]: http://www.lolcathost.org/b/dwm/nmaster.c -[3]: http://www.lolcathost.org/b/dwm/nmaster-4.7.c - -## Maintainer - - * pancake &lt;youterm.com&gt; - diff --git a/dwm.suckless.org/patches/historical/nmaster/index.md b/dwm.suckless.org/patches/historical/nmaster/index.md @@ -0,0 +1,56 @@ +# NMASTER PATCH + +## Description + +This patch restores the ability to have multiple clients in the master area of the tiled layout. +This feature was dropped from vanilla dwm in version 4.4. + +See [nmaster.c][1] header documentation for installing this patch with tilecols and clientspertag for dwm 4.6. + + ntile (-|=) + +----------+------+ + | | | + | +------+ + |----------| | + | +------+ + | | | + +----------+------+ + +NOTE: The nmaster.c (patch for dwm 4.6) mixes the clientspertag patch together with another layout called tilecols. + +## Usage + + 1. Download the patch and apply according to the [general instructions](.). + 2. Add the `NMASTER` value to your `config.h`. + Example from `config.default.h`: + + #define NMASTER 2 /* clients in master area*/ + + 3. Add keybindings to `incmaster()` to your `config.h`. + Example from `config.default.h`: + + { MODKEY|ShiftMask, XK_k, incnmaster, "-1" }, \ + { MODKEY|ShiftMask, XK_j, incnmaster, "1" }, \ + +The nmaster patch for dwm 4.6 (current development hg branch) installation is far more simple. +Installation instructions are placed on the top of the .c file. + +The nmaster patch for dwm 4.6 adds two new layouts called ntile (classic) and dntile (dinamic). + +## Download + + * [nmaster-4.7.c][3] (dwm 4.7) (7.3kb (20071123) + * [nmaster.c][2] (dwm 4.6) (7.3kb) (20071025) + - contains ntile, dntile and tilecols. Also supports the clients-per-tag + * [dwm-4.4.1-nmaster.diff][1] (dwm 4.4) (2.8kb) (20070826) + * [nmaster+bstack-5.6.1.diff](nmaster+bstack-5.6.1.diff) (dwm 5.6.1) (5.9kb) (20090824) + - another variation; contains bstack with nmaster support + +[1]: http://schot.a-eskwadraat.nl/files/dwm-4.4.1-nmaster.diff +[2]: http://www.lolcathost.org/b/dwm/nmaster.c +[3]: http://www.lolcathost.org/b/dwm/nmaster-4.7.c + +## Maintainer + + * pancake &lt;youterm.com&gt; + diff --git a/dwm.suckless.org/patches/historical/raiselower.md b/dwm.suckless.org/patches/historical/raiselower.md @@ -1,12 +0,0 @@ -# RAISELOWER # - -## Description ## - -This patch enables you to raise or lower the selected floating window. - -## Download ## - * None anymore, the last download location was: http://www.e-jc.de/dwm/5.0/current/dwm-5.0-raiselower.diff - -## Author ## - - * Jan Christoph Ebersbach - <jceb@e-jc.de> diff --git a/dwm.suckless.org/patches/historical/raiselower/index.md b/dwm.suckless.org/patches/historical/raiselower/index.md @@ -0,0 +1,12 @@ +# RAISELOWER # + +## Description ## + +This patch enables you to raise or lower the selected floating window. + +## Download ## + * None anymore, the last download location was: http://www.e-jc.de/dwm/5.0/current/dwm-5.0-raiselower.diff + +## Author ## + + * Jan Christoph Ebersbach - <jceb@e-jc.de> diff --git a/dwm.suckless.org/patches/historical/taglayouts.md b/dwm.suckless.org/patches/historical/taglayouts.md @@ -1,21 +0,0 @@ -# TAGLAYOUTS # - -## Description ## - -This patch enables one layout per tag in contrast of one layout for all tags. - A more general approach is the [pertag patch][1]. - -## Download ## - * None anymore - -## Known Bugs ## - - * If you had selected multiple tags and try to get back to them with the - viewprevtag method, keep in mind that the layout of the FIRST tag is used, - that was previously selected. - -## Author ## - - * http://na.srck.net/dwm - * Updated by Jan Christoph Ebersbach - <jceb@e-jc.de> - -[1]: /patches/pertag diff --git a/dwm.suckless.org/patches/historical/taglayouts/index.md b/dwm.suckless.org/patches/historical/taglayouts/index.md @@ -0,0 +1,21 @@ +# TAGLAYOUTS # + +## Description ## + +This patch enables one layout per tag in contrast of one layout for all tags. - A more general approach is the [pertag patch][1]. + +## Download ## + * None anymore + +## Known Bugs ## + + * If you had selected multiple tags and try to get back to them with the + viewprevtag method, keep in mind that the layout of the FIRST tag is used, + that was previously selected. + +## Author ## + + * http://na.srck.net/dwm + * Updated by Jan Christoph Ebersbach - <jceb@e-jc.de> + +[1]: /patches/pertag diff --git a/dwm.suckless.org/patches/historical/tilemovemouse.md b/dwm.suckless.org/patches/historical/tilemovemouse.md @@ -1,20 +0,0 @@ -MOVE TILED WINDOW WITH MOUSE -============================ - -Description ------------ -tilemovemouse() lets you drag a client to a different position *without* -floating it. Reordering windows this way is fun. - - static Button buttons[] = { - /* click event mask button function argument */ - { ClkClientWin, MODKEY, Button1, tilemovemouse, {0} }, - }; - - -Download --------- -[tilemovemouse](//lists.suckless.org/dwm/0903/7773.html) - - -Last update: 2009-03-20 diff --git a/dwm.suckless.org/patches/historical/tilemovemouse/index.md b/dwm.suckless.org/patches/historical/tilemovemouse/index.md @@ -0,0 +1,20 @@ +MOVE TILED WINDOW WITH MOUSE +============================ + +Description +----------- +tilemovemouse() lets you drag a client to a different position *without* +floating it. Reordering windows this way is fun. + + static Button buttons[] = { + /* click event mask button function argument */ + { ClkClientWin, MODKEY, Button1, tilemovemouse, {0} }, + }; + + +Download +-------- +[tilemovemouse](//lists.suckless.org/dwm/0903/7773.html) + + +Last update: 2009-03-20 diff --git a/dwm.suckless.org/patches/historical/workspaces.md b/dwm.suckless.org/patches/historical/workspaces.md @@ -1,84 +0,0 @@ -Workspaces -========== - -*by [Jesus Galan (yiyus)](mailto:yiyu dot jgl at gmail>) (aug 30 21:41:42 CEST 2008)* - -Adds to dwm the functionality of remembering tagset, layout and mfact for a given number of workspaces. You can also define preconfigured workspaces. - -Code ----- - -Insert this code before your keys definitions in config.h or in an included .c file: - - typedef struct Workspace Workspace; - struct Workspace { - unsigned int tagset; - Layout *lt; - float mfact; - }; - - static Workspace workspaces[] = { - /* tagset layout fact */ - { (1 << 0), &layouts[0], 0.55}, - { (1 << 0) | (1<< 8), &layouts[0], 0.75}, - { (1 << 0) | (1<< 1) | (1<< 8), &layouts[1], 0}, - { (1<< 8), &layouts[2], 0}, - }; - - static unsigned int ws = 0; - - static void - setws(int nws) { - workspaces[ws].tagset = tagset[seltags]; - workspaces[ws].lt = lt[sellt]; - workspaces[ws].mfact = (workspaces[ws].lt == &layouts[0]) ? mfact : 0; - if(nws < LENGTH(workspaces)) - ws = nws; - if(workspaces[ws].tagset) { - tagset[seltags] = workspaces[ws].tagset; - lt[sellt] = workspaces[ws].lt; - if(workspaces[ws].mfact != 0) - mfact = workspaces[ws].mfact; - arrange(); - } - } - - static void - prevws(const Arg *arg) { - setws((ws == 0) ? LENGTH(workspaces) - 1 : ws - 1); - } - - static void - nextws(const Arg *arg) { - setws((ws == LENGTH(workspaces) - 1) ? 0 : ws + 1); - } - -And then, you can define keys: - - { MODKEY, XK_Tab, nextws, {0} }, - { MODKEY|ShiftMask, XK_Tab, prevws, {0} }, - -Or mouse buttons: - - { ClkTagBar, 0, Button4, prevws, {0} }, - { ClkTagBar, 0, Button5, nextws, {0} }, - -Comments --------- - -It is so easy to change the viewed tags, layout and mfact in dwm than having artifacts to remember them are not necessary, this patch is just an example of how it could be implemented, but it won't be updated for future releases. - -It should be easy to add to the workspaces the possibility to remember bar position too. - -It is not necessary to define all your workspaces (or any of them). You can perfectly do: - - static Workspace workspaces[16] = { - /* tagset layout fact */ - { (1 << 0), &layouts[0], 0.55}, - { (1 << 0) | (1<< 8), &layouts[0], 0.75}, - }; - -or: - - static Workspace workspaces[16]; - diff --git a/dwm.suckless.org/patches/historical/workspaces/index.md b/dwm.suckless.org/patches/historical/workspaces/index.md @@ -0,0 +1,84 @@ +Workspaces +========== + +*by [Jesus Galan (yiyus)](mailto:yiyu dot jgl at gmail>) (aug 30 21:41:42 CEST 2008)* + +Adds to dwm the functionality of remembering tagset, layout and mfact for a given number of workspaces. You can also define preconfigured workspaces. + +Code +---- + +Insert this code before your keys definitions in config.h or in an included .c file: + + typedef struct Workspace Workspace; + struct Workspace { + unsigned int tagset; + Layout *lt; + float mfact; + }; + + static Workspace workspaces[] = { + /* tagset layout fact */ + { (1 << 0), &layouts[0], 0.55}, + { (1 << 0) | (1<< 8), &layouts[0], 0.75}, + { (1 << 0) | (1<< 1) | (1<< 8), &layouts[1], 0}, + { (1<< 8), &layouts[2], 0}, + }; + + static unsigned int ws = 0; + + static void + setws(int nws) { + workspaces[ws].tagset = tagset[seltags]; + workspaces[ws].lt = lt[sellt]; + workspaces[ws].mfact = (workspaces[ws].lt == &layouts[0]) ? mfact : 0; + if(nws < LENGTH(workspaces)) + ws = nws; + if(workspaces[ws].tagset) { + tagset[seltags] = workspaces[ws].tagset; + lt[sellt] = workspaces[ws].lt; + if(workspaces[ws].mfact != 0) + mfact = workspaces[ws].mfact; + arrange(); + } + } + + static void + prevws(const Arg *arg) { + setws((ws == 0) ? LENGTH(workspaces) - 1 : ws - 1); + } + + static void + nextws(const Arg *arg) { + setws((ws == LENGTH(workspaces) - 1) ? 0 : ws + 1); + } + +And then, you can define keys: + + { MODKEY, XK_Tab, nextws, {0} }, + { MODKEY|ShiftMask, XK_Tab, prevws, {0} }, + +Or mouse buttons: + + { ClkTagBar, 0, Button4, prevws, {0} }, + { ClkTagBar, 0, Button5, nextws, {0} }, + +Comments +-------- + +It is so easy to change the viewed tags, layout and mfact in dwm than having artifacts to remember them are not necessary, this patch is just an example of how it could be implemented, but it won't be updated for future releases. + +It should be easy to add to the workspaces the possibility to remember bar position too. + +It is not necessary to define all your workspaces (or any of them). You can perfectly do: + + static Workspace workspaces[16] = { + /* tagset layout fact */ + { (1 << 0), &layouts[0], 0.55}, + { (1 << 0) | (1<< 8), &layouts[0], 0.75}, + }; + +or: + + static Workspace workspaces[16]; + diff --git a/dwm.suckless.org/patches/historical/xft.md b/dwm.suckless.org/patches/historical/xft.md @@ -1,44 +0,0 @@ -xft -=== - -Description ------------ - -The `xft` patch patch implements Xft. This allows users to utilize the UTF8 -character set. Look at the patch below which is more advance. - -The `xft-with-fallback-font` patch adds Xft and fallback-font support to dwm. -This patch was built on top of the [Xft patch written by -Quentin](//lists.suckless.org/dev/1311/18279.html). With fallback font -support, multiple fonts can now be specified in config.h which are used to -render characters not present in the first font. If none of the user-specified -fonts contains a given character, this patch attempts to automatically fallback -to whatever suitable font it can find on the host system. -**NOTE: This is enabled by default when you are using the latest dwm-git.** - -With this patch, the "font" variable in config.h is superseded by the "fonts" -variable which is a priority-ordered list of fonts that should be used to -render text. Here's an example "fonts" definition: - - static const char *fonts[] = { - "Sans:size=10.5", - "VL Gothic:size=10.5", - "WenQuanYi Micro Hei:size=10.5", - }; - -At least one font must be specified, and a maximum of `DRW_FONT_CACHE_SIZE` -fonts can be used. - - -Download --------- -* [dwm-6.0-xft.diff](dwm-6.0-xft.diff) (6.6k) (16 May 2012) - * memory leak fixed and improved implementation. - * include config.def.h and config.mk changes. - -* [dwm-6.1-xft-with-fallback-font.diff](dwm-6.1-xft-with-fallback-font.diff) (20k) - -Author ------- -* Lee Fallat (lf94)<ircsurfer33@gmail.com> -* [Eric Pruitt](https://github.com/ericpruitt/) diff --git a/dwm.suckless.org/patches/historical/xft/index.md b/dwm.suckless.org/patches/historical/xft/index.md @@ -0,0 +1,44 @@ +xft +=== + +Description +----------- + +The `xft` patch patch implements Xft. This allows users to utilize the UTF8 +character set. Look at the patch below which is more advance. + +The `xft-with-fallback-font` patch adds Xft and fallback-font support to dwm. +This patch was built on top of the [Xft patch written by +Quentin](//lists.suckless.org/dev/1311/18279.html). With fallback font +support, multiple fonts can now be specified in config.h which are used to +render characters not present in the first font. If none of the user-specified +fonts contains a given character, this patch attempts to automatically fallback +to whatever suitable font it can find on the host system. +**NOTE: This is enabled by default when you are using the latest dwm-git.** + +With this patch, the "font" variable in config.h is superseded by the "fonts" +variable which is a priority-ordered list of fonts that should be used to +render text. Here's an example "fonts" definition: + + static const char *fonts[] = { + "Sans:size=10.5", + "VL Gothic:size=10.5", + "WenQuanYi Micro Hei:size=10.5", + }; + +At least one font must be specified, and a maximum of `DRW_FONT_CACHE_SIZE` +fonts can be used. + + +Download +-------- +* [dwm-6.0-xft.diff](dwm-6.0-xft.diff) (6.6k) (16 May 2012) + * memory leak fixed and improved implementation. + * include config.def.h and config.mk changes. + +* [dwm-6.1-xft-with-fallback-font.diff](dwm-6.1-xft-with-fallback-font.diff) (20k) + +Author +------ +* Lee Fallat (lf94)<ircsurfer33@gmail.com> +* [Eric Pruitt](https://github.com/ericpruitt/) diff --git a/tools.suckless.org/dmenu/patches/case-insensitive.md b/tools.suckless.org/dmenu/patches/case-insensitive.md @@ -1,18 +0,0 @@ -case-insensitive -================ - -Description ------------ - -This patch adds support for case-insensitive searching to dmenu. This patch -works on top of fuzzymatch. - -Download --------- - -* [dmenu-caseinsensitive-20161201-e90b88e.diff](dmenu-caseinsensitive-20161201-e90b88e.diff) - -Authors ------- - -* fengshaun diff --git a/tools.suckless.org/dmenu/patches/case-insensitive/index.md b/tools.suckless.org/dmenu/patches/case-insensitive/index.md @@ -0,0 +1,18 @@ +case-insensitive +================ + +Description +----------- + +This patch adds support for case-insensitive searching to dmenu. This patch +works on top of fuzzymatch. + +Download +-------- + +* [dmenu-caseinsensitive-20161201-e90b88e.diff](dmenu-caseinsensitive-20161201-e90b88e.diff) + +Authors +------ + +* fengshaun diff --git a/tools.suckless.org/dmenu/patches/center.md b/tools.suckless.org/dmenu/patches/center.md @@ -1,25 +0,0 @@ -center -====== - -Description ------------ - -This patch centers dmenu in the middle of the screen. - -Previously this has been achieved through the [xyw patch][1] and a bash script -to calculate the centered x and y positions. However, this is a slow and overly -complex way which is hard to integrate into programs which call dmenu directly, -eg surf or tabbed. On the other hand, This small standalone patch is -instantaneous and works globally. - -[1]: https://tools.suckless.org/dmenu/patches/xyw - -Download --------- - -* [dmenu-center-4.8.diff](dmenu-center-4.8.diff) - -Authors -------- - -* Ed van Bruggen <edvb@uw.edu> diff --git a/tools.suckless.org/dmenu/patches/center/index.md b/tools.suckless.org/dmenu/patches/center/index.md @@ -0,0 +1,25 @@ +center +====== + +Description +----------- + +This patch centers dmenu in the middle of the screen. + +Previously this has been achieved through the [xyw patch][1] and a bash script +to calculate the centered x and y positions. However, this is a slow and overly +complex way which is hard to integrate into programs which call dmenu directly, +eg surf or tabbed. On the other hand, This small standalone patch is +instantaneous and works globally. + +[1]: https://tools.suckless.org/dmenu/patches/xyw + +Download +-------- + +* [dmenu-center-4.8.diff](dmenu-center-4.8.diff) + +Authors +------- + +* Ed van Bruggen <edvb@uw.edu> diff --git a/tools.suckless.org/dmenu/patches/fuzzymatch.md b/tools.suckless.org/dmenu/patches/fuzzymatch.md @@ -1,25 +0,0 @@ -fuzzymatch -========== - -Description ------------ - -This patch adds support for fuzzy matching to dmenu, allowing users to type -non-consecutive portions of the string to be matched. - -Notes ------ - -* Supports dmenu's case insensitive switch (`-i`) - -Download --------- - -* [dmenu-fuzzymatch-20170603-f428f3e.diff](dmenu-fuzzymatch-20170603-f428f3e.diff) -* [dmenu-fuzzymatch-4.6.diff](dmenu-fuzzymatch-4.6.diff) - -Authors ------- - -* Jan Christoph Ebersbach - jceb@e-jc.de -* Laslo Hunhold - dev@frign.de (dmenu-4.6) diff --git a/tools.suckless.org/dmenu/patches/fuzzymatch/index.md b/tools.suckless.org/dmenu/patches/fuzzymatch/index.md @@ -0,0 +1,25 @@ +fuzzymatch +========== + +Description +----------- + +This patch adds support for fuzzy matching to dmenu, allowing users to type +non-consecutive portions of the string to be matched. + +Notes +----- + +* Supports dmenu's case insensitive switch (`-i`) + +Download +-------- + +* [dmenu-fuzzymatch-20170603-f428f3e.diff](dmenu-fuzzymatch-20170603-f428f3e.diff) +* [dmenu-fuzzymatch-4.6.diff](dmenu-fuzzymatch-4.6.diff) + +Authors +------ + +* Jan Christoph Ebersbach - jceb@e-jc.de +* Laslo Hunhold - dev@frign.de (dmenu-4.6) diff --git a/tools.suckless.org/dmenu/patches/incremental.md b/tools.suckless.org/dmenu/patches/incremental.md @@ -1,17 +0,0 @@ -Incremental output -================== - -This patch causes dmenu to print out the current text each time a key is pressed. - -This is useful as an incremental search feature, for example in surf's config.h: - -`#define INCSEARCH { .v = (char *[]){ "/bin/sh", "-c", - "dmenu -r < /dev/null | while read -r find; do xprop -id $0 -f _SURF_FIND 8s " - "-set _SURF_FIND \"$find\"; done", - winid, NULL } }` - - -Download --------- - -* [dmenu-incremental-20160702-3c91eed.diff](dmenu-incremental-20160702-3c91eed.diff) diff --git a/tools.suckless.org/dmenu/patches/incremental/index.md b/tools.suckless.org/dmenu/patches/incremental/index.md @@ -0,0 +1,17 @@ +Incremental output +================== + +This patch causes dmenu to print out the current text each time a key is pressed. + +This is useful as an incremental search feature, for example in surf's config.h: + +`#define INCSEARCH { .v = (char *[]){ "/bin/sh", "-c", + "dmenu -r < /dev/null | while read -r find; do xprop -id $0 -f _SURF_FIND 8s " + "-set _SURF_FIND \"$find\"; done", + winid, NULL } }` + + +Download +-------- + +* [dmenu-incremental-20160702-3c91eed.diff](dmenu-incremental-20160702-3c91eed.diff) diff --git a/tools.suckless.org/dmenu/patches/initialtext.md b/tools.suckless.org/dmenu/patches/initialtext.md @@ -1,12 +0,0 @@ -Initial Text -============ - -Adds an option to provide preselected text. - -Download --------- -* [dmenu-initialtext-4.7.diff](dmenu-initialtext-4.7.diff) - -Author ------- -* Michael Stummvoll (stummi)<suckless@stummi.org> diff --git a/tools.suckless.org/dmenu/patches/initialtext/index.md b/tools.suckless.org/dmenu/patches/initialtext/index.md @@ -0,0 +1,12 @@ +Initial Text +============ + +Adds an option to provide preselected text. + +Download +-------- +* [dmenu-initialtext-4.7.diff](dmenu-initialtext-4.7.diff) + +Author +------ +* Michael Stummvoll (stummi)<suckless@stummi.org> diff --git a/tools.suckless.org/dmenu/patches/instant.md b/tools.suckless.org/dmenu/patches/instant.md @@ -1,14 +0,0 @@ -Instant Mode -============ - -Adds an flag which will cause dmenu to select an item immediately if theres one matching option left. - -Download --------- -* [dmenu-instant-4.7.diff](dmenu-instant-4.7.diff) -* [dmenu-instant-4.6.diff](dmenu-instant-4.6.diff) -* [dmenu-instant-20160702-3c91eed.diff](dmenu-instant-20160702-3c91eed.diff) - -Author ------- -* Michael Stummvoll (stummi)<suckless@stummi.org> diff --git a/tools.suckless.org/dmenu/patches/instant/index.md b/tools.suckless.org/dmenu/patches/instant/index.md @@ -0,0 +1,14 @@ +Instant Mode +============ + +Adds an flag which will cause dmenu to select an item immediately if theres one matching option left. + +Download +-------- +* [dmenu-instant-4.7.diff](dmenu-instant-4.7.diff) +* [dmenu-instant-4.6.diff](dmenu-instant-4.6.diff) +* [dmenu-instant-20160702-3c91eed.diff](dmenu-instant-20160702-3c91eed.diff) + +Author +------ +* Michael Stummvoll (stummi)<suckless@stummi.org> diff --git a/tools.suckless.org/dmenu/patches/line-height.md b/tools.suckless.org/dmenu/patches/line-height.md @@ -1,36 +0,0 @@ -Line height -=========== - -The patch adds a '-h' option, which sets the minimum height of a dmenu line. -This helps integrate dmenu with other UI elements that require a particular -vertical size. - -Example: - -By default, dmenu calculates its height as the height of the font used plus 2. -So when opening dmenu over a panel bar that is 24 pixels high, it would look -like this: - -->[![Screenshot dmenu default height](dmenu-default-height.png)](dmenu-default-height.png)<- - -Despite both the panel and dmenu using the same font (a Terminus 12), dmenu is -shorter and the panel is visible from under the dmenu bar. The appearance can -be even more distracting when using similar colors for background and -selections. - -With the option added by this patch, dmenu can be launched with a '-h 24', -thus completely covering the panel, as shown below: - -->[![Screenshot dmenu with line height patch](dmenu-line-height.png)](dmenu-line-height.png)<- - -The line height value is also used when dmenu is used in 'vertical' mode ('-l' option). - -Download --------- -* [dmenu-lineheight-4.7.diff](dmenu-lineheight-4.7.diff) -* [dmenu-lineheight-4.6.diff](dmenu-lineheight-4.6.diff) - -Author ------- -* Xarchus -* Jonathon Fernyhough (jonathon at manjaro-dot-org) (4.7 rewrite) diff --git a/tools.suckless.org/dmenu/patches/line-height/index.md b/tools.suckless.org/dmenu/patches/line-height/index.md @@ -0,0 +1,36 @@ +Line height +=========== + +The patch adds a '-h' option, which sets the minimum height of a dmenu line. +This helps integrate dmenu with other UI elements that require a particular +vertical size. + +Example: + +By default, dmenu calculates its height as the height of the font used plus 2. +So when opening dmenu over a panel bar that is 24 pixels high, it would look +like this: + +->[![Screenshot dmenu default height](dmenu-default-height.png)](dmenu-default-height.png)<- + +Despite both the panel and dmenu using the same font (a Terminus 12), dmenu is +shorter and the panel is visible from under the dmenu bar. The appearance can +be even more distracting when using similar colors for background and +selections. + +With the option added by this patch, dmenu can be launched with a '-h 24', +thus completely covering the panel, as shown below: + +->[![Screenshot dmenu with line height patch](dmenu-line-height.png)](dmenu-line-height.png)<- + +The line height value is also used when dmenu is used in 'vertical' mode ('-l' option). + +Download +-------- +* [dmenu-lineheight-4.7.diff](dmenu-lineheight-4.7.diff) +* [dmenu-lineheight-4.6.diff](dmenu-lineheight-4.6.diff) + +Author +------ +* Xarchus +* Jonathon Fernyhough (jonathon at manjaro-dot-org) (4.7 rewrite) diff --git a/tools.suckless.org/dmenu/patches/mouse-support.md b/tools.suckless.org/dmenu/patches/mouse-support.md @@ -1,35 +0,0 @@ -Mouse support -============= - -With this patch dmenu will have basic mouse support. The following features are supported: - -Mouse actions supported: - -* Left-mouse click: - * On prompt and input field: clear input text and selection. - * In horizontal and vertical mode on item: select and output item (same as pressing enter). - * In horizontal mode on arrows: change items to show left or right. -* Ctrl-left-mouse click: multisel modifier. -* Right-mouse click: close. -* Middle-mouse click: - * Paste current selection. - * While holding shift: paste primary selection. -* Scroll up: - * In horizontal mode: same as left-clicking on left arrow. - * In vertical mode: show items above. -* Scroll down: - * In horizontal mode: same as left-clicking on right arrow. - * In vertical mode: show items below. - - -Download --------- -* [dmenu-mousesupport-4.7.diff](dmenu-mousesupport-4.7.diff) -* [dmenu-mousesupport-4.6.diff](dmenu-mousesupport-4.6.diff) -* [dmenu-mousesupport-20160702-3c91eed.diff](dmenu-mousesupport-20160702-3c91eed.diff) - - -Author ------- -* Hiltjo Posthuma - <hiltjo@codemadness.org> -* Xarchus (for multisel support). diff --git a/tools.suckless.org/dmenu/patches/mouse-support/index.md b/tools.suckless.org/dmenu/patches/mouse-support/index.md @@ -0,0 +1,35 @@ +Mouse support +============= + +With this patch dmenu will have basic mouse support. The following features are supported: + +Mouse actions supported: + +* Left-mouse click: + * On prompt and input field: clear input text and selection. + * In horizontal and vertical mode on item: select and output item (same as pressing enter). + * In horizontal mode on arrows: change items to show left or right. +* Ctrl-left-mouse click: multisel modifier. +* Right-mouse click: close. +* Middle-mouse click: + * Paste current selection. + * While holding shift: paste primary selection. +* Scroll up: + * In horizontal mode: same as left-clicking on left arrow. + * In vertical mode: show items above. +* Scroll down: + * In horizontal mode: same as left-clicking on right arrow. + * In vertical mode: show items below. + + +Download +-------- +* [dmenu-mousesupport-4.7.diff](dmenu-mousesupport-4.7.diff) +* [dmenu-mousesupport-4.6.diff](dmenu-mousesupport-4.6.diff) +* [dmenu-mousesupport-20160702-3c91eed.diff](dmenu-mousesupport-20160702-3c91eed.diff) + + +Author +------ +* Hiltjo Posthuma - <hiltjo@codemadness.org> +* Xarchus (for multisel support). diff --git a/tools.suckless.org/dmenu/patches/navhistory.md b/tools.suckless.org/dmenu/patches/navhistory.md @@ -1,19 +0,0 @@ -# navhistory - -## Description - -This patch provides dmenu the ability for history navigation similar to that -of bash. Press alt+p for the previous history and alt+n for the next. - -## Configuration - -Set the maximum number of histories with a new variable 'maxhist' in config.h. -By default, it only records a new history if it is not the same as the last one. -To change this behaviour, set 'histnodup' to 0 in config.h. - -## Download - -* [dmenu-navhistory-4.6.diff](dmenu-navhistory-4.6.diff) - -## Author -* phi <crispyfrog@163.com> diff --git a/tools.suckless.org/dmenu/patches/navhistory/index.md b/tools.suckless.org/dmenu/patches/navhistory/index.md @@ -0,0 +1,19 @@ +# navhistory + +## Description + +This patch provides dmenu the ability for history navigation similar to that +of bash. Press alt+p for the previous history and alt+n for the next. + +## Configuration + +Set the maximum number of histories with a new variable 'maxhist' in config.h. +By default, it only records a new history if it is not the same as the last one. +To change this behaviour, set 'histnodup' to 0 in config.h. + +## Download + +* [dmenu-navhistory-4.6.diff](dmenu-navhistory-4.6.diff) + +## Author +* phi <crispyfrog@163.com> diff --git a/tools.suckless.org/dmenu/patches/non_blocking_stdin.md b/tools.suckless.org/dmenu/patches/non_blocking_stdin.md @@ -1,21 +0,0 @@ -Non-blocking stdin -================== - -Description ------------ - -A patch to have dmenu read stdin in a non blocking way, making it wait for -input both from stdin and from X. This way, you can continue feeding dmenu -while you type. This patch is meant to be used along with the incremental -patch, so that you can use stdout to feed stdin. - -Download --------- - -* [dmenu-nonblockingstdin-20160702-3c91eed.diff](dmenu-nonblockingstdin-20160702-3c91eed.diff) - -Author ------- - -* Christophe-Marie Duquesne <chm.duquesne@gmail.com> -* koniu at riseup.net (update for 20160615 git master) diff --git a/tools.suckless.org/dmenu/patches/non_blocking_stdin/index.md b/tools.suckless.org/dmenu/patches/non_blocking_stdin/index.md @@ -0,0 +1,21 @@ +Non-blocking stdin +================== + +Description +----------- + +A patch to have dmenu read stdin in a non blocking way, making it wait for +input both from stdin and from X. This way, you can continue feeding dmenu +while you type. This patch is meant to be used along with the incremental +patch, so that you can use stdout to feed stdin. + +Download +-------- + +* [dmenu-nonblockingstdin-20160702-3c91eed.diff](dmenu-nonblockingstdin-20160702-3c91eed.diff) + +Author +------ + +* Christophe-Marie Duquesne <chm.duquesne@gmail.com> +* koniu at riseup.net (update for 20160615 git master) diff --git a/tools.suckless.org/dmenu/patches/password.md b/tools.suckless.org/dmenu/patches/password.md @@ -1,17 +0,0 @@ -Password -======== -By applying this patch, dmenu will not directly display -the keyboard input, but instead replace it with dots. -All data from stdin will be ignored. - -Use `-P` to activate. - -Download --------- -* [dmenu-password-4.7.diff](dmenu-password-4.7.diff) - -Authors -------- -* Philip K. - philippija (at) gmail (dot) com - - diff --git a/tools.suckless.org/dmenu/patches/password/index.md b/tools.suckless.org/dmenu/patches/password/index.md @@ -0,0 +1,17 @@ +Password +======== +By applying this patch, dmenu will not directly display +the keyboard input, but instead replace it with dots. +All data from stdin will be ignored. + +Use `-P` to activate. + +Download +-------- +* [dmenu-password-4.7.diff](dmenu-password-4.7.diff) + +Authors +------- +* Philip K. - philippija (at) gmail (dot) com + + diff --git a/tools.suckless.org/dmenu/patches/pipeout.md b/tools.suckless.org/dmenu/patches/pipeout.md @@ -1,22 +0,0 @@ -pipeout -======= - -Description ------------ - -This patch allows the selected text to be piped back out with dmenu. This is useful if you want to display the output of a command on the screen. Only text starting with the character '#' is piped out by default. - -Configuration -------------- -Set the variable 'startpipe' in config.h to any character. - - -Download --------- - -* [dmenu-pipeout-20160701-3c91eed.diff](dmenu-pipeout-20160701-3c91eed.diff) - -Author ------- - -* Ayrton diff --git a/tools.suckless.org/dmenu/patches/pipeout/index.md b/tools.suckless.org/dmenu/patches/pipeout/index.md @@ -0,0 +1,22 @@ +pipeout +======= + +Description +----------- + +This patch allows the selected text to be piped back out with dmenu. This is useful if you want to display the output of a command on the screen. Only text starting with the character '#' is piped out by default. + +Configuration +------------- +Set the variable 'startpipe' in config.h to any character. + + +Download +-------- + +* [dmenu-pipeout-20160701-3c91eed.diff](dmenu-pipeout-20160701-3c91eed.diff) + +Author +------ + +* Ayrton diff --git a/tools.suckless.org/dmenu/patches/prefix-completion.md b/tools.suckless.org/dmenu/patches/prefix-completion.md @@ -1,25 +0,0 @@ - -prefix completion -================= - -Description ------------ - -Changes the behaviour of the matched items and the Tab key. - -- Only items prefixed by the written text will match. E.g. query "foo" will match "foo", "foobar" and "fool", but not "world" or "barfoo". -- The Tab key will replace the current query with the longest common prefix of all matches. E.g. completing "f" with matches "foobar" and "fool" will become "foo". - -Download --------- - -* For 4.6: [dmenu-prefixcompletion-20161019-7ef1d5e.diff](dmenu-prefixcompletion-20161019-7ef1d5e.diff) -* For 4.7: [dmenu-prefixcompletion-4.7.diff](dmenu-prefixcompletion-4.7.diff) -* For 4.8: [dmenu-prefixcompletion-4.8.diff](dmenu-prefixcompletion-4.7.diff) - -Authors -------- - -* noctua - - diff --git a/tools.suckless.org/dmenu/patches/prefix-completion/index.md b/tools.suckless.org/dmenu/patches/prefix-completion/index.md @@ -0,0 +1,25 @@ + +prefix completion +================= + +Description +----------- + +Changes the behaviour of the matched items and the Tab key. + +- Only items prefixed by the written text will match. E.g. query "foo" will match "foo", "foobar" and "fool", but not "world" or "barfoo". +- The Tab key will replace the current query with the longest common prefix of all matches. E.g. completing "f" with matches "foobar" and "fool" will become "foo". + +Download +-------- + +* For 4.6: [dmenu-prefixcompletion-20161019-7ef1d5e.diff](dmenu-prefixcompletion-20161019-7ef1d5e.diff) +* For 4.7: [dmenu-prefixcompletion-4.7.diff](dmenu-prefixcompletion-4.7.diff) +* For 4.8: [dmenu-prefixcompletion-4.8.diff](dmenu-prefixcompletion-4.7.diff) + +Authors +------- + +* noctua + + diff --git a/tools.suckless.org/dmenu/patches/printinputtext.md b/tools.suckless.org/dmenu/patches/printinputtext.md @@ -1,29 +0,0 @@ -print input text -================ - -Description ------------ - -This patch adds a flag (`-t`) which makes Return key to ignore selection -and print the input text to stdout. The flag basically swaps the functions -of Return and Shift+Return hotkeys. - -The default behaviour of dmenu makes sense when selecting from given options -(i.e. as a program launcher) but it is annoying when you might be entering -text that is different than the given options (i.e. as surf's url bar). - -Usage in Surf -------------- - -Just add the `-t` flag to the dmenu in the SETPROP function of surf's -config.def.h. Now the url bar should behave just like in all other browsers. - -Download --------- - -* [dmenu-printinputtext-20190822-bbc464d.diff](dmenu-printinputtext-20190822-bbc464d.diff) - -Author ------- - -* efe - efe@efe.kim diff --git a/tools.suckless.org/dmenu/patches/printinputtext/index.md b/tools.suckless.org/dmenu/patches/printinputtext/index.md @@ -0,0 +1,29 @@ +print input text +================ + +Description +----------- + +This patch adds a flag (`-t`) which makes Return key to ignore selection +and print the input text to stdout. The flag basically swaps the functions +of Return and Shift+Return hotkeys. + +The default behaviour of dmenu makes sense when selecting from given options +(i.e. as a program launcher) but it is annoying when you might be entering +text that is different than the given options (i.e. as surf's url bar). + +Usage in Surf +------------- + +Just add the `-t` flag to the dmenu in the SETPROP function of surf's +config.def.h. Now the url bar should behave just like in all other browsers. + +Download +-------- + +* [dmenu-printinputtext-20190822-bbc464d.diff](dmenu-printinputtext-20190822-bbc464d.diff) + +Author +------ + +* efe - efe@efe.kim diff --git a/tools.suckless.org/dmenu/patches/reject-no-match.md b/tools.suckless.org/dmenu/patches/reject-no-match.md @@ -1,13 +0,0 @@ -Reject no match -=============== - -Adds a new flag to dmenu with which text input will be rejected if it would -result in no matching item - -Download --------- -* [dmenu-rejectnomatch-4.7.diff](dmenu-rejectnomatch-4.7.diff) - -Author ------- -* Michael Stummvoll (stummi)<suckless@stummi.org> diff --git a/tools.suckless.org/dmenu/patches/reject-no-match/index.md b/tools.suckless.org/dmenu/patches/reject-no-match/index.md @@ -0,0 +1,13 @@ +Reject no match +=============== + +Adds a new flag to dmenu with which text input will be rejected if it would +result in no matching item + +Download +-------- +* [dmenu-rejectnomatch-4.7.diff](dmenu-rejectnomatch-4.7.diff) + +Author +------ +* Michael Stummvoll (stummi)<suckless@stummi.org> diff --git a/tools.suckless.org/dmenu/patches/scroll.md b/tools.suckless.org/dmenu/patches/scroll.md @@ -1,14 +0,0 @@ -Text Scrolling -============ - -This patch adds support for text scrolling, it doesn't append '...' for long -input anymore as it can handle long text now. It's especially useful when using -in surf, after having inserted a long url via tab-completion. - -Download --------- -* [dmenu-scroll-20180607-a314412.diff](dmenu-scroll-20180607-a314412.diff) - -Author ------- -* nzl <uruabi@gmail.com> diff --git a/tools.suckless.org/dmenu/patches/scroll/index.md b/tools.suckless.org/dmenu/patches/scroll/index.md @@ -0,0 +1,14 @@ +Text Scrolling +============ + +This patch adds support for text scrolling, it doesn't append '...' for long +input anymore as it can handle long text now. It's especially useful when using +in surf, after having inserted a long url via tab-completion. + +Download +-------- +* [dmenu-scroll-20180607-a314412.diff](dmenu-scroll-20180607-a314412.diff) + +Author +------ +* nzl <uruabi@gmail.com> diff --git a/tools.suckless.org/dmenu/patches/vertfull.md b/tools.suckless.org/dmenu/patches/vertfull.md @@ -1,11 +0,0 @@ -Vertical full width -=================== -Prevents dmenu from indenting items at the same level as the prompt length. - -Download --------- -* [dmenu-vertfull-4.6.diff](dmenu-vertfull-4.6.diff) - -Author ------- -* Claudio Alessi - <smoppy@gmail.com> diff --git a/tools.suckless.org/dmenu/patches/vertfull/index.md b/tools.suckless.org/dmenu/patches/vertfull/index.md @@ -0,0 +1,11 @@ +Vertical full width +=================== +Prevents dmenu from indenting items at the same level as the prompt length. + +Download +-------- +* [dmenu-vertfull-4.6.diff](dmenu-vertfull-4.6.diff) + +Author +------ +* Claudio Alessi - <smoppy@gmail.com> diff --git a/tools.suckless.org/dmenu/patches/xyw.md b/tools.suckless.org/dmenu/patches/xyw.md @@ -1,22 +0,0 @@ -Position and width -================== - -The patch adds options for setting window position and width. - -* The '-x' and '-y' options set the window position on the target monitor (0 if one is not supplied with '-m') -* If option '-b' is used, the y offset is computed from the bottom -* The '-x' and '-y' accept negative values -* The '-w' option sets the window width - -Download --------- -* [dmenu-xyw-4.7.diff](dmenu-xyw-4.7.diff) -* [dmenu-xyw-20171207-f0a5b75.diff](dmenu-xyw-20171207-f0a5b75.diff) -* [dmenu-xyw-20160903-026827f.diff](dmenu-xyw-20160903-026827f.diff) -* [dmenu-xyw-4.6.diff](dmenu-xyw-4.6.diff) - -Author ------- -* Xarchus -* Jonathon Fernyhough (jonathon at manjaro-dot-org) (4.7 rewrite) - diff --git a/tools.suckless.org/dmenu/patches/xyw/index.md b/tools.suckless.org/dmenu/patches/xyw/index.md @@ -0,0 +1,22 @@ +Position and width +================== + +The patch adds options for setting window position and width. + +* The '-x' and '-y' options set the window position on the target monitor (0 if one is not supplied with '-m') +* If option '-b' is used, the y offset is computed from the bottom +* The '-x' and '-y' accept negative values +* The '-w' option sets the window width + +Download +-------- +* [dmenu-xyw-4.7.diff](dmenu-xyw-4.7.diff) +* [dmenu-xyw-20171207-f0a5b75.diff](dmenu-xyw-20171207-f0a5b75.diff) +* [dmenu-xyw-20160903-026827f.diff](dmenu-xyw-20160903-026827f.diff) +* [dmenu-xyw-4.6.diff](dmenu-xyw-4.6.diff) + +Author +------ +* Xarchus +* Jonathon Fernyhough (jonathon at manjaro-dot-org) (4.7 rewrite) + diff --git a/tools.suckless.org/farbfeld/examples.md b/tools.suckless.org/farbfeld/examples.md @@ -1,27 +0,0 @@ -Examples -======== - -Convert image.png to a farbfeld, run it through a filter and write the -result to image-filtered.png: - - $ png2ff < image.png | filter | ff2png > image-filtered.png - -[invert.c](invert.c) is an example for such a filter which inverts -the colors. Notice that there are no dependencies on external libraries. -A hypothetical farbfeld-library would hardly exceed invert.c's size. - - -Store a png as a compressed farbfeld: - - $ png2ff < image.png | bzip2 > image.ff.bz2 - -Access a compressed farbfeld as a png: - - $ bunzip2 < image.ff.bz2 | ff2png {> image.png, | feh -, ...} - -Handle arbitrary image data using 2ff(1), which falls -back to imagemagick's convert(1) for unknown image types: - - $ 2ff < image | filter | ff2png > image-filtered.png - -Refer to the manpages for more information. farbfeld(5) is a good start. diff --git a/tools.suckless.org/farbfeld/examples/index.md b/tools.suckless.org/farbfeld/examples/index.md @@ -0,0 +1,27 @@ +Examples +======== + +Convert image.png to a farbfeld, run it through a filter and write the +result to image-filtered.png: + + $ png2ff < image.png | filter | ff2png > image-filtered.png + +[invert.c](invert.c) is an example for such a filter which inverts +the colors. Notice that there are no dependencies on external libraries. +A hypothetical farbfeld-library would hardly exceed invert.c's size. + + +Store a png as a compressed farbfeld: + + $ png2ff < image.png | bzip2 > image.ff.bz2 + +Access a compressed farbfeld as a png: + + $ bunzip2 < image.ff.bz2 | ff2png {> image.png, | feh -, ...} + +Handle arbitrary image data using 2ff(1), which falls +back to imagemagick's convert(1) for unknown image types: + + $ 2ff < image | filter | ff2png > image-filtered.png + +Refer to the manpages for more information. farbfeld(5) is a good start. diff --git a/tools.suckless.org/farbfeld/faq.md b/tools.suckless.org/farbfeld/faq.md @@ -1,99 +0,0 @@ -FAQ -=== - -### Why yet another image format? - -Current image formats have integrated compression, -making it complicated to read the image data. -One is forced to use complex libraries like libpng, -libjpeg, libjpeg-turbo, giflib and others, read the -documentation and write a lot of boilerplate in order -to get started. - -Farbfeld leaves this behind and is designed to be as -simple as possible, leaving the task of compression -to external tools. -The simple design, which was the primary objective, -implicitly leads to the very good compression -characteristics, as it often happens when you go with -the UNIX philosophy. -Reading farbfeld images doesn't require any special -libraries. The tools are just a toolbox -to make it easy to convert between common image formats -and farbfeld. - -### How does it work? - -In Farbfeld, pattern resolution is not done while -converting, but while compressing the image. -For example, farbfeld always stores the alpha-channel, -even if the image doesn't have alpha-variation. -This may sound like a big waste at first, but as -soon as you compress an image of this kind, the -compression-algorithm (e.g. bz2) recognizes the -pattern that every 48 bits the 16 bits store the -same information. -And the compression-algorithms get better and better -at this. - -Same applies to the idea of having 16 bits per channel. -It sounds excessive, but if you for instance only have -a greyscale image, the R, G and B channels will store -the same value, which is recognized by the compression -algorithm easily. - -This effectively leads to filesizes you'd normally only -reach with paletted images, and in some cases bz2 even -beats png's compression, for instance when you're dealing -with grayscale data, line drawings, decals and even -photographs. - -### Why use 16-Bits-per-channel all the time? Isn't this a total waste? - -Not when you take compression into account. To make this -clearer, assume a paletted image with 5 colors and no -transparency. So the data is only a set of regular chunks -(color1, ..., color5) in a certain order. -Compression algorithms have been designed to recognize those -chunks and can even look at how these chunks interact. - -Local tests have shown that farbfeld easily beats paletted -PNG-images. Try for yourself and look at the bzipped results! -There is no need for special grayscale, palette, RGB, 1-, 2-, -4-, 8-, 16-Bit subformats. -Just use 16-Bit RGBA all the time and let compression take -care of the rest. - -### Which compression should I use? - -bzip2 is recommended, which is widely available (anybody has it) -and gives good results. As time will move forward and new -algorithms hit the market, this recommendation might be rethought. - -### What about NetPBM? - -NetPBM is considered to be the most simple format around, -however, there's much room for improvement. -In fact, it doesn't help that the format is subdivided into -Portable BitMaps, Portable GrayMaps and Portable PixMaps. -It's not helpful when a manpage can't give a simple overview -of a format in a few sentences. - -NetPBM's big vice is that it has originally been developed -to be hand-written and passed around as plain text. A binary -format exists, but still handling optional comments -in the header, base 10 ASCII width and height values, -arbitrary whitespace inside the data and out-of-band -image size and color depth is too painful for the sane user. - -Judging from the usage of the format considering how long -it's been around, it's no surprise it never really took off. -Additionally, functionality like alpha channels and 16-Bit -color depth can only be achieved via extensions. -Due to it being a textual format it also lacks the desired -compression characteristics. - -The question you have to ask yourself is: Can I read in a -format without consulting the manpages? If your answer is -yes, then the format is simple enough. -In this regard, NetPBM can be considered to be a failed format. diff --git a/tools.suckless.org/farbfeld/faq/index.md b/tools.suckless.org/farbfeld/faq/index.md @@ -0,0 +1,99 @@ +FAQ +=== + +### Why yet another image format? + +Current image formats have integrated compression, +making it complicated to read the image data. +One is forced to use complex libraries like libpng, +libjpeg, libjpeg-turbo, giflib and others, read the +documentation and write a lot of boilerplate in order +to get started. + +Farbfeld leaves this behind and is designed to be as +simple as possible, leaving the task of compression +to external tools. +The simple design, which was the primary objective, +implicitly leads to the very good compression +characteristics, as it often happens when you go with +the UNIX philosophy. +Reading farbfeld images doesn't require any special +libraries. The tools are just a toolbox +to make it easy to convert between common image formats +and farbfeld. + +### How does it work? + +In Farbfeld, pattern resolution is not done while +converting, but while compressing the image. +For example, farbfeld always stores the alpha-channel, +even if the image doesn't have alpha-variation. +This may sound like a big waste at first, but as +soon as you compress an image of this kind, the +compression-algorithm (e.g. bz2) recognizes the +pattern that every 48 bits the 16 bits store the +same information. +And the compression-algorithms get better and better +at this. + +Same applies to the idea of having 16 bits per channel. +It sounds excessive, but if you for instance only have +a greyscale image, the R, G and B channels will store +the same value, which is recognized by the compression +algorithm easily. + +This effectively leads to filesizes you'd normally only +reach with paletted images, and in some cases bz2 even +beats png's compression, for instance when you're dealing +with grayscale data, line drawings, decals and even +photographs. + +### Why use 16-Bits-per-channel all the time? Isn't this a total waste? + +Not when you take compression into account. To make this +clearer, assume a paletted image with 5 colors and no +transparency. So the data is only a set of regular chunks +(color1, ..., color5) in a certain order. +Compression algorithms have been designed to recognize those +chunks and can even look at how these chunks interact. + +Local tests have shown that farbfeld easily beats paletted +PNG-images. Try for yourself and look at the bzipped results! +There is no need for special grayscale, palette, RGB, 1-, 2-, +4-, 8-, 16-Bit subformats. +Just use 16-Bit RGBA all the time and let compression take +care of the rest. + +### Which compression should I use? + +bzip2 is recommended, which is widely available (anybody has it) +and gives good results. As time will move forward and new +algorithms hit the market, this recommendation might be rethought. + +### What about NetPBM? + +NetPBM is considered to be the most simple format around, +however, there's much room for improvement. +In fact, it doesn't help that the format is subdivided into +Portable BitMaps, Portable GrayMaps and Portable PixMaps. +It's not helpful when a manpage can't give a simple overview +of a format in a few sentences. + +NetPBM's big vice is that it has originally been developed +to be hand-written and passed around as plain text. A binary +format exists, but still handling optional comments +in the header, base 10 ASCII width and height values, +arbitrary whitespace inside the data and out-of-band +image size and color depth is too painful for the sane user. + +Judging from the usage of the format considering how long +it's been around, it's no surprise it never really took off. +Additionally, functionality like alpha channels and 16-Bit +color depth can only be achieved via extensions. +Due to it being a textual format it also lacks the desired +compression characteristics. + +The question you have to ask yourself is: Can I read in a +format without consulting the manpages? If your answer is +yes, then the format is simple enough. +In this regard, NetPBM can be considered to be a failed format. diff --git a/tools.suckless.org/ii/bots.md b/tools.suckless.org/ii/bots.md @@ -1,109 +0,0 @@ -Its very easy to write shell script based bots with ii. As a short example look at this: - - tail -f \#<CHANNEL>/out | \ - while read -r date time nick mesg; do - nick="${nick#<}" - nick="${nick%>}" - printf "%s: WHAT??\n" "$nick" - done > \\#<CHANNEL>/in - -Its just spamming a channel but I guess your imagination is boundless. -I also heard about people using it together with nagios to get the notifications into IRC. -Remember to strip input for example with tr(1), tr -cd "0-9a-zA-Z" for example would only allow numbers and characters. - -If you want to see a live demonstration of a bot written for ii, join #grml on freenode, the grml-tips bot which searches -for [grml](http://www.grml.org) tips and gives a link or error messages is written in 45 lines of /bin/sh. No, I will not publish -the code since I really suck in shell programming :) - -Stat scripts ------------- - -If you want to use for example [pisg](http://pisg.sf.net/) to generate channel stats this will also work if you choose the irssi log format. - -Automatic reconnects --------------------- - -If you want some kind of automatic reconnects in ii you can make a something like this in a shell script: - - while true; do - ii -s irc.oftc.net -n iifoo -f "John Doe" & - iipid="$!" - sleep 5 - printf "/j %s\n" "#ii" > ~/irc/irc.oftc.net/in - wait "$iipid" - done - -bots for irc it (ii) -==================== - -iibot ------- - -[iibot](https://github.com/c00kiemon5ter/iibot) by c00kiemon5ter -is written in bash, but can easily be translated to plain sh (ask him). - -It uses a main script to connect to multiple servers and channels, -and auto-reconnect and auto-join on network failure. - -It reads commands with a leading '!' and calls a secondary script -to handle the command and the responce. -That way commands can be added or removed dynamically. -The secondary script knows the network, channel, nick and message that -triggered the command, so it is easy to filter responses to commands -to specified channels, users and such. - -if you need help, do not hesitate to ask c00kiemon5ter on freenode and oftc. - -nagios ------- - -Simple Perl script "nagios_post.pl" as interface between [Nagios](http://www.nagios.org/) and ii: - - #!/usr/bin/perl -w - - my $users = "your_nickname(s)"; - my $pipe = "$ENV{HOME}/irc/your_irc_server/#your_channel/in"; - my %color = ( - red => "\0034", - purple => "\0036", - yellow => "\0038", - clear => "\00315", - blue => "\0032\002", - green => "\0033", - normal => "\0031", - ); - - open(PIPE, '>', $pipe) or die "Can't write to $pipe: $!"; - while (<>) { - s/Host [a-z0-9_.]+ is down/$color{red}$&$color{normal}/i; - s/PROBLEM.*?CRITICAL/$color{red}$&$color{normal}/i; - - s/PROBLEM.*?WARNING/$color{yellow}$&$color{normal}/i; - s/Host [a-z0-9_.]+ is up/$color{green}$&$color{normal}/i; - - s/RECOVERY.*?OK/$color{green}$&$color{normal}/i; - - print PIPE "$users: $_"; - } - close(PIPE); - -The appropriate Nagios configuration looks like this: - - # 'notify-by-irc' command definition - define command{ - command_name notify-by-irc - command_line /usr/bin/printf "%b" "$TIME$ $NOTIFICATIONTYPE$ $HOSTNAME$/$SERVICEDESC$ $SERVICESTATE$ $SERVICEOUTPUT$\n" | /home/nagios/bin/nagios_post.pl - } - - # 'host-notify-by-irc' command-notification - define command{ - command_name host-notify-by-irc - command_line /usr/bin/printf "%b" "$TIME$ Host $HOSTALIAS$ is $HOSTSTATE$ -- $HOSTOUTPUT$\n" | /home/nagios/bin/nagios_post.pl - } - -Start ii appropriately and add notify-by-irc and host-notify-by-irc to the appropriate "service&#x5f;notification&#x5f;commands" and "host&#x5f;notification&#x5f;commands" -- and you have your own Nagios IRC bot. - -rsstail -------- - -Just piping the output of [rsstail](http://www.vanheusden.com/rsstail/) into the fifo "in" should work. More detailed examples are welcome. diff --git a/tools.suckless.org/ii/bots/index.md b/tools.suckless.org/ii/bots/index.md @@ -0,0 +1,109 @@ +Its very easy to write shell script based bots with ii. As a short example look at this: + + tail -f \#<CHANNEL>/out | \ + while read -r date time nick mesg; do + nick="${nick#<}" + nick="${nick%>}" + printf "%s: WHAT??\n" "$nick" + done > \\#<CHANNEL>/in + +Its just spamming a channel but I guess your imagination is boundless. +I also heard about people using it together with nagios to get the notifications into IRC. +Remember to strip input for example with tr(1), tr -cd "0-9a-zA-Z" for example would only allow numbers and characters. + +If you want to see a live demonstration of a bot written for ii, join #grml on freenode, the grml-tips bot which searches +for [grml](http://www.grml.org) tips and gives a link or error messages is written in 45 lines of /bin/sh. No, I will not publish +the code since I really suck in shell programming :) + +Stat scripts +------------ + +If you want to use for example [pisg](http://pisg.sf.net/) to generate channel stats this will also work if you choose the irssi log format. + +Automatic reconnects +-------------------- + +If you want some kind of automatic reconnects in ii you can make a something like this in a shell script: + + while true; do + ii -s irc.oftc.net -n iifoo -f "John Doe" & + iipid="$!" + sleep 5 + printf "/j %s\n" "#ii" > ~/irc/irc.oftc.net/in + wait "$iipid" + done + +bots for irc it (ii) +==================== + +iibot +------ + +[iibot](https://github.com/c00kiemon5ter/iibot) by c00kiemon5ter +is written in bash, but can easily be translated to plain sh (ask him). + +It uses a main script to connect to multiple servers and channels, +and auto-reconnect and auto-join on network failure. + +It reads commands with a leading '!' and calls a secondary script +to handle the command and the responce. +That way commands can be added or removed dynamically. +The secondary script knows the network, channel, nick and message that +triggered the command, so it is easy to filter responses to commands +to specified channels, users and such. + +if you need help, do not hesitate to ask c00kiemon5ter on freenode and oftc. + +nagios +------ + +Simple Perl script "nagios_post.pl" as interface between [Nagios](http://www.nagios.org/) and ii: + + #!/usr/bin/perl -w + + my $users = "your_nickname(s)"; + my $pipe = "$ENV{HOME}/irc/your_irc_server/#your_channel/in"; + my %color = ( + red => "\0034", + purple => "\0036", + yellow => "\0038", + clear => "\00315", + blue => "\0032\002", + green => "\0033", + normal => "\0031", + ); + + open(PIPE, '>', $pipe) or die "Can't write to $pipe: $!"; + while (<>) { + s/Host [a-z0-9_.]+ is down/$color{red}$&$color{normal}/i; + s/PROBLEM.*?CRITICAL/$color{red}$&$color{normal}/i; + + s/PROBLEM.*?WARNING/$color{yellow}$&$color{normal}/i; + s/Host [a-z0-9_.]+ is up/$color{green}$&$color{normal}/i; + + s/RECOVERY.*?OK/$color{green}$&$color{normal}/i; + + print PIPE "$users: $_"; + } + close(PIPE); + +The appropriate Nagios configuration looks like this: + + # 'notify-by-irc' command definition + define command{ + command_name notify-by-irc + command_line /usr/bin/printf "%b" "$TIME$ $NOTIFICATIONTYPE$ $HOSTNAME$/$SERVICEDESC$ $SERVICESTATE$ $SERVICEOUTPUT$\n" | /home/nagios/bin/nagios_post.pl + } + + # 'host-notify-by-irc' command-notification + define command{ + command_name host-notify-by-irc + command_line /usr/bin/printf "%b" "$TIME$ Host $HOSTALIAS$ is $HOSTSTATE$ -- $HOSTOUTPUT$\n" | /home/nagios/bin/nagios_post.pl + } + +Start ii appropriately and add notify-by-irc and host-notify-by-irc to the appropriate "service&#x5f;notification&#x5f;commands" and "host&#x5f;notification&#x5f;commands" -- and you have your own Nagios IRC bot. + +rsstail +------- + +Just piping the output of [rsstail](http://www.vanheusden.com/rsstail/) into the fifo "in" should work. More detailed examples are welcome. diff --git a/tools.suckless.org/ii/patches/action.md b/tools.suckless.org/ii/patches/action.md @@ -1,19 +0,0 @@ -Action -====== - -Description ------------ - -Adds support for writing CTCP ACTIONs with the use of '/m some action' -This can be done simply by writing '^AACTION some action^A', but this patch is -for people who are too lazy to do that (me) - -Download --------- - -* [ii-1.4-ctcp_action.diff](ii-1.4-ctcp_action.diff) - -Author ------- - -* Evan Gates (emg) <[evan.gates@gmail.com](mailto:evan.gates@gmail.com)> diff --git a/tools.suckless.org/ii/patches/action/index.md b/tools.suckless.org/ii/patches/action/index.md @@ -0,0 +1,19 @@ +Action +====== + +Description +----------- + +Adds support for writing CTCP ACTIONs with the use of '/m some action' +This can be done simply by writing '^AACTION some action^A', but this patch is +for people who are too lazy to do that (me) + +Download +-------- + +* [ii-1.4-ctcp_action.diff](ii-1.4-ctcp_action.diff) + +Author +------ + +* Evan Gates (emg) <[evan.gates@gmail.com](mailto:evan.gates@gmail.com)> diff --git a/tools.suckless.org/ii/patches/autojoin.md b/tools.suckless.org/ii/patches/autojoin.md @@ -1,20 +0,0 @@ -Autojoin -======== - -Description ------------ - -When a user messages you or you are made to join a channel (as with bitlbee), -ii will automatically join so there is no need to either `$ echo "/j channel > in"` -or `$ echo "/j user message" > in` -before you can start sending messages. - -Download --------- - -* [ii-1.4-autojoin.diff](ii-1.4-autojoin.diff) - -Author ------- - -* Evan Gates (emg) <[evan.gates@gmail.com](mailto:evan.gates@gmail.com)> diff --git a/tools.suckless.org/ii/patches/autojoin/index.md b/tools.suckless.org/ii/patches/autojoin/index.md @@ -0,0 +1,20 @@ +Autojoin +======== + +Description +----------- + +When a user messages you or you are made to join a channel (as with bitlbee), +ii will automatically join so there is no need to either `$ echo "/j channel > in"` +or `$ echo "/j user message" > in` +before you can start sending messages. + +Download +-------- + +* [ii-1.4-autojoin.diff](ii-1.4-autojoin.diff) + +Author +------ + +* Evan Gates (emg) <[evan.gates@gmail.com](mailto:evan.gates@gmail.com)> diff --git a/tools.suckless.org/ii/patches/exec.md b/tools.suckless.org/ii/patches/exec.md @@ -1,19 +0,0 @@ -Exec -==== - -Description ------------ - -Adds support for '/e cmd' printing output of cmd to the channel. True this is -possible doing 'cmd > in', but this is for lazy people (me). Be careful not to -flood. - -Download --------- - -* [ii-1.4-exec.diff](ii-1.4-exec.diff) - -Author ------- - -* Evan Gates (emg) <[evan.gates@gmail.com](mailto:evan.gates@gmail.com)> diff --git a/tools.suckless.org/ii/patches/exec/index.md b/tools.suckless.org/ii/patches/exec/index.md @@ -0,0 +1,19 @@ +Exec +==== + +Description +----------- + +Adds support for '/e cmd' printing output of cmd to the channel. True this is +possible doing 'cmd > in', but this is for lazy people (me). Be careful not to +flood. + +Download +-------- + +* [ii-1.4-exec.diff](ii-1.4-exec.diff) + +Author +------ + +* Evan Gates (emg) <[evan.gates@gmail.com](mailto:evan.gates@gmail.com)> diff --git a/tools.suckless.org/ii/patches/joinuser.md b/tools.suckless.org/ii/patches/joinuser.md @@ -1,21 +0,0 @@ -Joinuser -======== - -Description ------------ - -By default to PRIVMSG a user you need to `/j user message`, this patch makes `message` optional. -It also displays "-!- yournick has joined user" prior to any messages both when you `/j user` and -when a user messages you, and incorporates the [autojoin](//tools.suckless.org/ii/patches/autojoin) -patch, so you do not need to `/j user` first to talk to someone who has already messaged you. - -Download --------- - -* [ii-1.4-joinuser.diff](ii-1.4-joinuser.diff) - -Author ------- - -* Robert Lowry (bobertlo) <[robertwlowry@gmail.com](mailto:robertwlowry@gmail.com)> -* Evan Gates (emg) <[evan.gates@gmail.com](mailto:evan.gates@gmail.com)> diff --git a/tools.suckless.org/ii/patches/joinuser/index.md b/tools.suckless.org/ii/patches/joinuser/index.md @@ -0,0 +1,21 @@ +Joinuser +======== + +Description +----------- + +By default to PRIVMSG a user you need to `/j user message`, this patch makes `message` optional. +It also displays "-!- yournick has joined user" prior to any messages both when you `/j user` and +when a user messages you, and incorporates the [autojoin](//tools.suckless.org/ii/patches/autojoin) +patch, so you do not need to `/j user` first to talk to someone who has already messaged you. + +Download +-------- + +* [ii-1.4-joinuser.diff](ii-1.4-joinuser.diff) + +Author +------ + +* Robert Lowry (bobertlo) <[robertwlowry@gmail.com](mailto:robertwlowry@gmail.com)> +* Evan Gates (emg) <[evan.gates@gmail.com](mailto:evan.gates@gmail.com)> diff --git a/tools.suckless.org/ii/patches/ssl.md b/tools.suckless.org/ii/patches/ssl.md @@ -1,19 +0,0 @@ -SSL -=== - -Description ------------ - -Adds ssl encryption support via the `-e ssl` argument. It will use the default port of 6697 unless -an alternative port is specified with the -p flag. - -Download --------- - -* [ii-1.7-ssl.diff](ii-1.7-ssl.diff) - -Author ------- - -* Written for 1.6 by Hunter Haugen -* Ported to ii 1.7 by Nik Unger diff --git a/tools.suckless.org/ii/patches/ssl/index.md b/tools.suckless.org/ii/patches/ssl/index.md @@ -0,0 +1,19 @@ +SSL +=== + +Description +----------- + +Adds ssl encryption support via the `-e ssl` argument. It will use the default port of 6697 unless +an alternative port is specified with the -p flag. + +Download +-------- + +* [ii-1.7-ssl.diff](ii-1.7-ssl.diff) + +Author +------ + +* Written for 1.6 by Hunter Haugen +* Ported to ii 1.7 by Nik Unger diff --git a/tools.suckless.org/ii/patches/ucspi.md b/tools.suckless.org/ii/patches/ucspi.md @@ -1,21 +0,0 @@ -UCSPI -===== - -Description ------------ - -Replaces the socket back-end with the [ucspi](https://cr.yp.to/proto/ucspi.txt). -This makes ii more flexable and outsources the handling of IPv6, TLS and SOCKS -to other tools like [tcpclient](https://cr.yp.to/ucspi-tcp.html), -[tlc and socks](https://github.com/younix/ucspi). - -Download --------- - -* [ii-1.8-ucspi.diff](ii-1.8-ucspi.diff) -* [ii-1.7-ucspi.diff](ii-1.7-ucspi.diff) - -Author ------- - -* Jan Klemkow (younix) <[j.klemkow@wemelug.de](mailto:j.klemkow@wemelug.de)> diff --git a/tools.suckless.org/ii/patches/ucspi/index.md b/tools.suckless.org/ii/patches/ucspi/index.md @@ -0,0 +1,21 @@ +UCSPI +===== + +Description +----------- + +Replaces the socket back-end with the [ucspi](https://cr.yp.to/proto/ucspi.txt). +This makes ii more flexable and outsources the handling of IPv6, TLS and SOCKS +to other tools like [tcpclient](https://cr.yp.to/ucspi-tcp.html), +[tlc and socks](https://github.com/younix/ucspi). + +Download +-------- + +* [ii-1.8-ucspi.diff](ii-1.8-ucspi.diff) +* [ii-1.7-ucspi.diff](ii-1.7-ucspi.diff) + +Author +------ + +* Jan Klemkow (younix) <[j.klemkow@wemelug.de](mailto:j.klemkow@wemelug.de)> diff --git a/tools.suckless.org/ii/patches/usernames.md b/tools.suckless.org/ii/patches/usernames.md @@ -1,27 +0,0 @@ -Usernames -========= - -Description ------------ - -Changes the handling of QUIT and NICK messages from other users so that the output is written -to the relevant channels rather than the server output. This patch is rather bulky but it -gets the job done. - -Notes ------ - -I have tested this patch against the other patches posted here and they all apply, but for -some of them you must apply this patch first or there will be conflicts. - -Download --------- - -* [ii-1.4-usernames.diff](ii-1.4-usernames.diff) -* [ii-1.8-usernames.diff](ii-1.8-usernames.diff) - -Author ------- - -* Robert Lowry (bobertlo) <[robertwlowry@gmail.com](mailto:robertwlowry@gmail.com)> -* Ported to 1.8 by hicsfield diff --git a/tools.suckless.org/ii/patches/usernames/index.md b/tools.suckless.org/ii/patches/usernames/index.md @@ -0,0 +1,27 @@ +Usernames +========= + +Description +----------- + +Changes the handling of QUIT and NICK messages from other users so that the output is written +to the relevant channels rather than the server output. This patch is rather bulky but it +gets the job done. + +Notes +----- + +I have tested this patch against the other patches posted here and they all apply, but for +some of them you must apply this patch first or there will be conflicts. + +Download +-------- + +* [ii-1.4-usernames.diff](ii-1.4-usernames.diff) +* [ii-1.8-usernames.diff](ii-1.8-usernames.diff) + +Author +------ + +* Robert Lowry (bobertlo) <[robertwlowry@gmail.com](mailto:robertwlowry@gmail.com)> +* Ported to 1.8 by hicsfield diff --git a/tools.suckless.org/ii/usage.md b/tools.suckless.org/ii/usage.md @@ -1,81 +0,0 @@ -Multitail + Vim ---------------- -To make ii a bit more comfortable, use it in combination with the multitail program and for example with vim. Run vim in the server directory and use key mapping like: -`map w1 :.w >> \\#ii/in<cr>` -`map w2 :.w >> \\#wmii/in<cr>` -to post to channels. Thanks to Matthias Kopfermann for this hint. - -Another cool thing is to use it with splitvt so you have multitail windows on top and for example four lines of vim at the bottom. - -There is also a blog post which describes the whole configuration: -[http://nion.modprobe.de/blog/archives/440-Using-the-ii-irc-client.html](http://nion.modprobe.de/blog/archives/440-Using-the-ii-irc-client.html) - -Popup Chat Windows ------------------- -You can also try [pcw](http://bitbucket.org/emg/pcw) which will (by default) open a new terminal for each channel you join. On startup, and after receiving SIGUSR1, pcw will open a terminal for every channel you are already in. By default it depends on [srw](http://bitbucket.org/emg/srw) as a line editing wrapper. Just run 'pcw ~/irc' (or whichever directory you have ii using) then start up ii. Note that closing a terminal does not exit the channel. If that channel receives a new message the terminal will open again. To leave the channel you must first '/l' and then close the window. (the combination of pcw + ii + bitlbee let me stop using pidgin :-D) - -Web frontend ------------- -phpii is a simple web frontend for ii. You can see a demo of it and download the php source here: [phpii homepage](http://yogan.meinungsverstaerker.de/phpii) - -iii ---- -[iii](https://github.com/c00kiemon5ter/iii) (maybe interactive ii, or something) is a collection of shell scripts to produce a cli frontend to ii. -iii looks like a "normal" irc client (ie irssi), working on top of ii. -It features connections to multiple servers and autojoin of channels, auto-reconnect to servers and channels on network failure, autocompletion through rlwrap, formatted and colored output etc. -It can be used directly in the command line, or like pcw spawning terminals for each channel, or inside a dedicated tmux session. -Read the readme file, and do not hesitate to ask c00kiemon5ter for help on freenode and oftc. - -iil ---- -The [iil](http://chiselapp.com/user/onys/repository/iil/home) (short for iiless) is fast viewer/reader for ii irc client, using your shell and less. - -uii ---- -[uii](https://github.com/erlehmann/uii) (usable irc it) is a set of shell scripts that provides readline support, uses inotify to monitor channels and pops up notifications. - -im-scripts ----------- -[im-scripts](http://github.com/gravicappa/im-scripts) is a set of sh-scripts for convenient use of ii and ji. - -wii ---- -[wii](http://github.com/younix/wii) is a simple web frontend for ii. -It just uses HTML, java-script and shell-script. - -xii ---- -[xii](http://github.com/younix/xii) is a simple X11 frontend for ii. -It is written in plain C based on Xaw and Xt library. - -hysteria --------- -[hysteria](http://git.2f30.org/hysteria/) is another set of scripts -(mostly shell) which provide support for highlighting, autojoining, etc. - -lchat ------ -[lchat](https://github.com/younix/lchat) is a line oriented terminal font-end. - -TLS/SSL -------- -To connect to a TLS/SSL encrypted channel, it is possible to use the [SSL patch](patches/ssl) or a proxy: - -[stunnel](https://www.stunnel.org/) is a proxy for an unencrypted TCP connection to TLS: - -In `/etc/stunnel/stunnel.conf`: - - [irc.oftc.net] - accept = 127.0.0.1:<your-port> - connect = irc.oftc.net:6697 - -[inetd](http://man.openbsd.org/inetd) listens on multiple TCP ports and can connect a program standard input and output to a TCP socket. -This enables it to act as a simple proxy using any command line TLS client, such as [openssl s_client](http://man.openbsd.org/openssl#S_CLIENT), [brssl client](https://bearssl.org/gitweb/?p=BearSSL;a=blob;f=tools/brssl.c;h=91372b09f42149a503f9d13db0b78cf0a123611e;hb=HEAD#l43), nc -ssl, socat... or any other: - -In `/etc/inetd.conf`: - - /tmp/irc.oftc.net stream unix nowait nobody /usr/bin/openssl openssl s_client -quiet -connect irc.oftc.net:6697 - -Then a proxy should be available as an unix socket for ii to connect to: - - ii -s irc.oftc.net -u /tmp/irc.oftc.net diff --git a/tools.suckless.org/ii/usage/index.md b/tools.suckless.org/ii/usage/index.md @@ -0,0 +1,81 @@ +Multitail + Vim +--------------- +To make ii a bit more comfortable, use it in combination with the multitail program and for example with vim. Run vim in the server directory and use key mapping like: +`map w1 :.w >> \\#ii/in<cr>` +`map w2 :.w >> \\#wmii/in<cr>` +to post to channels. Thanks to Matthias Kopfermann for this hint. + +Another cool thing is to use it with splitvt so you have multitail windows on top and for example four lines of vim at the bottom. + +There is also a blog post which describes the whole configuration: +[http://nion.modprobe.de/blog/archives/440-Using-the-ii-irc-client.html](http://nion.modprobe.de/blog/archives/440-Using-the-ii-irc-client.html) + +Popup Chat Windows +------------------ +You can also try [pcw](http://bitbucket.org/emg/pcw) which will (by default) open a new terminal for each channel you join. On startup, and after receiving SIGUSR1, pcw will open a terminal for every channel you are already in. By default it depends on [srw](http://bitbucket.org/emg/srw) as a line editing wrapper. Just run 'pcw ~/irc' (or whichever directory you have ii using) then start up ii. Note that closing a terminal does not exit the channel. If that channel receives a new message the terminal will open again. To leave the channel you must first '/l' and then close the window. (the combination of pcw + ii + bitlbee let me stop using pidgin :-D) + +Web frontend +------------ +phpii is a simple web frontend for ii. You can see a demo of it and download the php source here: [phpii homepage](http://yogan.meinungsverstaerker.de/phpii) + +iii +--- +[iii](https://github.com/c00kiemon5ter/iii) (maybe interactive ii, or something) is a collection of shell scripts to produce a cli frontend to ii. +iii looks like a "normal" irc client (ie irssi), working on top of ii. +It features connections to multiple servers and autojoin of channels, auto-reconnect to servers and channels on network failure, autocompletion through rlwrap, formatted and colored output etc. +It can be used directly in the command line, or like pcw spawning terminals for each channel, or inside a dedicated tmux session. +Read the readme file, and do not hesitate to ask c00kiemon5ter for help on freenode and oftc. + +iil +--- +The [iil](http://chiselapp.com/user/onys/repository/iil/home) (short for iiless) is fast viewer/reader for ii irc client, using your shell and less. + +uii +--- +[uii](https://github.com/erlehmann/uii) (usable irc it) is a set of shell scripts that provides readline support, uses inotify to monitor channels and pops up notifications. + +im-scripts +---------- +[im-scripts](http://github.com/gravicappa/im-scripts) is a set of sh-scripts for convenient use of ii and ji. + +wii +--- +[wii](http://github.com/younix/wii) is a simple web frontend for ii. +It just uses HTML, java-script and shell-script. + +xii +--- +[xii](http://github.com/younix/xii) is a simple X11 frontend for ii. +It is written in plain C based on Xaw and Xt library. + +hysteria +-------- +[hysteria](http://git.2f30.org/hysteria/) is another set of scripts +(mostly shell) which provide support for highlighting, autojoining, etc. + +lchat +----- +[lchat](https://github.com/younix/lchat) is a line oriented terminal font-end. + +TLS/SSL +------- +To connect to a TLS/SSL encrypted channel, it is possible to use the [SSL patch](patches/ssl) or a proxy: + +[stunnel](https://www.stunnel.org/) is a proxy for an unencrypted TCP connection to TLS: + +In `/etc/stunnel/stunnel.conf`: + + [irc.oftc.net] + accept = 127.0.0.1:<your-port> + connect = irc.oftc.net:6697 + +[inetd](http://man.openbsd.org/inetd) listens on multiple TCP ports and can connect a program standard input and output to a TCP socket. +This enables it to act as a simple proxy using any command line TLS client, such as [openssl s_client](http://man.openbsd.org/openssl#S_CLIENT), [brssl client](https://bearssl.org/gitweb/?p=BearSSL;a=blob;f=tools/brssl.c;h=91372b09f42149a503f9d13db0b78cf0a123611e;hb=HEAD#l43), nc -ssl, socat... or any other: + +In `/etc/inetd.conf`: + + /tmp/irc.oftc.net stream unix nowait nobody /usr/bin/openssl openssl s_client -quiet -connect irc.oftc.net:6697 + +Then a proxy should be available as an unix socket for ii to connect to: + + ii -s irc.oftc.net -u /tmp/irc.oftc.net diff --git a/tools.suckless.org/sent/patches/bilinear_scaling.md b/tools.suckless.org/sent/patches/bilinear_scaling.md @@ -1,33 +0,0 @@ -Use Bilinear Scaling for Image Slides -===================================== - -Description ------------ - -The patch replaces the Nearest Neighbor Scaling algorithm used for -images with Bilinear Scaling. - -This should give somewhat more pleasing results when using image -slides for graphs, or other material which suffers badly under -aliasing. - -Notes ------ - -Due to the nature of Bilinear Scaling, scaling down more than 50% will -have somewhat less pleasing results. Scaling up will generally be -quite blurry. - -There is room for further improvement of image scaling, e.g: -Implementing a better scaling algorithm such as bicubic, or lancszos; -and/or using separate algorithms for scaling up or down. - -Download --------- - -* [sent-bilinearscaling-1.0.diff](sent-bilinearscaling-1.0.diff) - -Author ------- - -* Anton Kindestam (xantoz) <antonki@kth.se> diff --git a/tools.suckless.org/sent/patches/bilinear_scaling/index.md b/tools.suckless.org/sent/patches/bilinear_scaling/index.md @@ -0,0 +1,33 @@ +Use Bilinear Scaling for Image Slides +===================================== + +Description +----------- + +The patch replaces the Nearest Neighbor Scaling algorithm used for +images with Bilinear Scaling. + +This should give somewhat more pleasing results when using image +slides for graphs, or other material which suffers badly under +aliasing. + +Notes +----- + +Due to the nature of Bilinear Scaling, scaling down more than 50% will +have somewhat less pleasing results. Scaling up will generally be +quite blurry. + +There is room for further improvement of image scaling, e.g: +Implementing a better scaling algorithm such as bicubic, or lancszos; +and/or using separate algorithms for scaling up or down. + +Download +-------- + +* [sent-bilinearscaling-1.0.diff](sent-bilinearscaling-1.0.diff) + +Author +------ + +* Anton Kindestam (xantoz) <antonki@kth.se> diff --git a/tools.suckless.org/sent/patches/progress-bar.md b/tools.suckless.org/sent/patches/progress-bar.md @@ -1,21 +0,0 @@ -Progress Bar -============ - -Description ------------ - -This patch introduces a progress bar at the very bottom of non-image slides. -Similar to the slide numbers patch, it may be useful for an audience to know -how much more of a presentation they have to endure. One way of measuring this -is to add a bar to the slides which indicate the presenter's progress based on -slide count. - -Download --------- - -* [sent-progress-bar-1.0.diff](sent-progress-bar-1.0.diff) - -Author ------- - -* David Phillips <david@sighup.nz> diff --git a/tools.suckless.org/sent/patches/progress-bar/index.md b/tools.suckless.org/sent/patches/progress-bar/index.md @@ -0,0 +1,21 @@ +Progress Bar +============ + +Description +----------- + +This patch introduces a progress bar at the very bottom of non-image slides. +Similar to the slide numbers patch, it may be useful for an audience to know +how much more of a presentation they have to endure. One way of measuring this +is to add a bar to the slides which indicate the presenter's progress based on +slide count. + +Download +-------- + +* [sent-progress-bar-1.0.diff](sent-progress-bar-1.0.diff) + +Author +------ + +* David Phillips <david@sighup.nz> diff --git a/tools.suckless.org/sent/patches/toggle_cursor.md b/tools.suckless.org/sent/patches/toggle_cursor.md @@ -1,18 +0,0 @@ -Toggle Mouse Cursor -=================== - -Description ------------ - -The patch introduces a shortcut that toggles the mouse cursor. -Enjoy! - -Download --------- - -* [toggle-mouse-cursor.diff](toggle-mouse-cursor.diff) (1623) (20151117) - -Author ------- - -* Alex Kozadaev (snobb) diff --git a/tools.suckless.org/sent/patches/toggle_cursor/index.md b/tools.suckless.org/sent/patches/toggle_cursor/index.md @@ -0,0 +1,18 @@ +Toggle Mouse Cursor +=================== + +Description +----------- + +The patch introduces a shortcut that toggles the mouse cursor. +Enjoy! + +Download +-------- + +* [toggle-mouse-cursor.diff](toggle-mouse-cursor.diff) (1623) (20151117) + +Author +------ + +* Alex Kozadaev (snobb) diff --git a/tools.suckless.org/sic/patches/alert.md b/tools.suckless.org/sic/patches/alert.md @@ -1,14 +0,0 @@ -Alert -===== - -Description ------------ -This patch make sic produce an alert by printing a bell character to stdout when the nick is found in an incoming message. - -Download --------- -* [sic-alert-20160604-9bb34de.diff](sic-alert-20160604-9bb34de.diff) (385) (20170604) - -Author ------- -* Alexis Ben Miloud--Josselin (panpo) <[alexis.bmj@protonmail.com](mailto:alexis.bmj@protonmail.com)> diff --git a/tools.suckless.org/sic/patches/alert/index.md b/tools.suckless.org/sic/patches/alert/index.md @@ -0,0 +1,14 @@ +Alert +===== + +Description +----------- +This patch make sic produce an alert by printing a bell character to stdout when the nick is found in an incoming message. + +Download +-------- +* [sic-alert-20160604-9bb34de.diff](sic-alert-20160604-9bb34de.diff) (385) (20170604) + +Author +------ +* Alexis Ben Miloud--Josselin (panpo) <[alexis.bmj@protonmail.com](mailto:alexis.bmj@protonmail.com)> diff --git a/tools.suckless.org/sic/patches/hidecommand.md b/tools.suckless.org/sic/patches/hidecommand.md @@ -1,21 +0,0 @@ -hide commands -============= - -Description ------------ - -This patch lets you hide IRC messages such as JOIN/QUIT. -You can use the sic command 'h' to specify what messages are hidden. -Example: -:h JOIN,QUIT - -Now all JOIN and QUIT messages will not be displayed. The delimiter is -unimportant (use what you like or nothing at all) - -Use the command without arguments to stop hiding any messages. - -Download --------- - -* [patch](hidecommand.diff) - diff --git a/tools.suckless.org/sic/patches/hidecommand/index.md b/tools.suckless.org/sic/patches/hidecommand/index.md @@ -0,0 +1,21 @@ +hide commands +============= + +Description +----------- + +This patch lets you hide IRC messages such as JOIN/QUIT. +You can use the sic command 'h' to specify what messages are hidden. +Example: +:h JOIN,QUIT + +Now all JOIN and QUIT messages will not be displayed. The delimiter is +unimportant (use what you like or nothing at all) + +Use the command without arguments to stop hiding any messages. + +Download +-------- + +* [patch](hidecommand.diff) + diff --git a/tools.suckless.org/sic/patches/lineprint.md b/tools.suckless.org/sic/patches/lineprint.md @@ -1,24 +0,0 @@ -Print the current inserting line -================================ -This patch allow to store and reprint the current inserting line. This is done -by appending a suffix character to the input. The line is (obviously) not sent. - -In a nutshell: - - :ni\ - :nick baz\ - :nick bazqux - clamiax : 2015-10-09 18:15 >< NICK (): bazqux - -This is useful, for example, when receiving data from the server in the middle -of a sentence you're writing. - -Note: the patch also changes the config.def.h file. - -Download --------- -* [sic-1.3-lineprint.diff](sic-1.3-lineprint.diff) (1,3K) (20151009) - -Author ------- -* Claudio Alessi <[smoppy@gmail.com](mailto:smoppy@gmail.com)> diff --git a/tools.suckless.org/sic/patches/lineprint/index.md b/tools.suckless.org/sic/patches/lineprint/index.md @@ -0,0 +1,24 @@ +Print the current inserting line +================================ +This patch allow to store and reprint the current inserting line. This is done +by appending a suffix character to the input. The line is (obviously) not sent. + +In a nutshell: + + :ni\ + :nick baz\ + :nick bazqux + clamiax : 2015-10-09 18:15 >< NICK (): bazqux + +This is useful, for example, when receiving data from the server in the middle +of a sentence you're writing. + +Note: the patch also changes the config.def.h file. + +Download +-------- +* [sic-1.3-lineprint.diff](sic-1.3-lineprint.diff) (1,3K) (20151009) + +Author +------ +* Claudio Alessi <[smoppy@gmail.com](mailto:smoppy@gmail.com)> diff --git a/tools.suckless.org/sic/patches/nodefaultchan.md b/tools.suckless.org/sic/patches/nodefaultchan.md @@ -1,15 +0,0 @@ -No default chan -=============== -This patch will prevent `sic` from setting the first chan you want to -join as the default one. You will have to manually set a default chan -with the `s` command if you want one. - - -Download --------- -* [sic-nodefaultchan-20180524-9bb34de.diff](sic-nodefaultchan-20180524-9bb34de.diff) (582) (20180524) - - -Author ------- -* Alexis Ben Miloud--Josselin <[alexis.bmj@protonmail.com](mailto:alexis.bmj@protonmail.com)> diff --git a/tools.suckless.org/sic/patches/nodefaultchan/index.md b/tools.suckless.org/sic/patches/nodefaultchan/index.md @@ -0,0 +1,15 @@ +No default chan +=============== +This patch will prevent `sic` from setting the first chan you want to +join as the default one. You will have to manually set a default chan +with the `s` command if you want one. + + +Download +-------- +* [sic-nodefaultchan-20180524-9bb34de.diff](sic-nodefaultchan-20180524-9bb34de.diff) (582) (20180524) + + +Author +------ +* Alexis Ben Miloud--Josselin <[alexis.bmj@protonmail.com](mailto:alexis.bmj@protonmail.com)> diff --git a/tools.suckless.org/slock/patches/capscolor.md b/tools.suckless.org/slock/patches/capscolor.md @@ -1,20 +0,0 @@ -Capscolor -========= - -Description ------------ - -Introduces an additional color to indicate the state of Caps Lock. Written -against HEAD at a31b919, but should apply to 1.2. - -Download --------- - -* [slock-capscolor.diff](slock-capscolor.diff) -* [slock-capscolor-20170106-2d2a21a.diff](slock-capscolor-20170106-2d2a21a.diff) - -Authors -------- - -* Andrew Hills <[ahills@ednos.net](mailto:ahills@ednos.net)> -* Klemens Nanni <[kl3@posteo.org](mailto:kl3@posteo.org)> (20170106 version) diff --git a/tools.suckless.org/slock/patches/capscolor/index.md b/tools.suckless.org/slock/patches/capscolor/index.md @@ -0,0 +1,20 @@ +Capscolor +========= + +Description +----------- + +Introduces an additional color to indicate the state of Caps Lock. Written +against HEAD at a31b919, but should apply to 1.2. + +Download +-------- + +* [slock-capscolor.diff](slock-capscolor.diff) +* [slock-capscolor-20170106-2d2a21a.diff](slock-capscolor-20170106-2d2a21a.diff) + +Authors +------- + +* Andrew Hills <[ahills@ednos.net](mailto:ahills@ednos.net)> +* Klemens Nanni <[kl3@posteo.org](mailto:kl3@posteo.org)> (20170106 version) diff --git a/tools.suckless.org/slock/patches/control-clear.md b/tools.suckless.org/slock/patches/control-clear.md @@ -1,20 +0,0 @@ -Control Clear -============= - -Description ------------ -Adds an additional configuration parameter, controlkeyclear. When set to 1, -slock will no longer change to the failure color if a control key is pressed -while the buffer is empty. This is useful if, for example, you wake your -monitor up by pressing a control key and don't want to spoil the detection of -failed unlocking attempts. - -Download --------- - -* [slock-git-20161012-control-clear.diff](slock-git-20161012-control-clear.diff) - -Author ------- - -* David Phillips - <dbphillipsnz@gmail.com> diff --git a/tools.suckless.org/slock/patches/control-clear/index.md b/tools.suckless.org/slock/patches/control-clear/index.md @@ -0,0 +1,20 @@ +Control Clear +============= + +Description +----------- +Adds an additional configuration parameter, controlkeyclear. When set to 1, +slock will no longer change to the failure color if a control key is pressed +while the buffer is empty. This is useful if, for example, you wake your +monitor up by pressing a control key and don't want to spoil the detection of +failed unlocking attempts. + +Download +-------- + +* [slock-git-20161012-control-clear.diff](slock-git-20161012-control-clear.diff) + +Author +------ + +* David Phillips - <dbphillipsnz@gmail.com> diff --git a/tools.suckless.org/slock/patches/dpms.md b/tools.suckless.org/slock/patches/dpms.md @@ -1,29 +0,0 @@ -DPMS -==== - -Description ------------ - -This patch interacts with the Display Power Signaling and automatically shuts -down the monitor after a configurable amount of seconds. The monitor will -automatically be activated by pressing a key or moving the mouse and the -password can be entered then. - -Notes ------ - -The number of seconds until the screen will be disabled is configured -in `config.h` via the `monitortime` option. - -This patch was written against the `1.4`-tag. - - -Download --------- - -* [slock-dpms-20170923-fa11589.diff](slock-dpms-20170923-fa11589.diff) - -Authors -------- - -* Alvar Penning <[post@0x21.biz](mailto:post@0x21.biz)> diff --git a/tools.suckless.org/slock/patches/dpms/index.md b/tools.suckless.org/slock/patches/dpms/index.md @@ -0,0 +1,29 @@ +DPMS +==== + +Description +----------- + +This patch interacts with the Display Power Signaling and automatically shuts +down the monitor after a configurable amount of seconds. The monitor will +automatically be activated by pressing a key or moving the mouse and the +password can be entered then. + +Notes +----- + +The number of seconds until the screen will be disabled is configured +in `config.h` via the `monitortime` option. + +This patch was written against the `1.4`-tag. + + +Download +-------- + +* [slock-dpms-20170923-fa11589.diff](slock-dpms-20170923-fa11589.diff) + +Authors +------- + +* Alvar Penning <[post@0x21.biz](mailto:post@0x21.biz)> diff --git a/tools.suckless.org/slock/patches/mediakeys.md b/tools.suckless.org/slock/patches/mediakeys.md @@ -1,27 +0,0 @@ -Mediakeys -========= - -Description ------------ -This patch allows using the following keys to be used while the screen is -locked: - - XF86AudioLowerVolume - - XF86AudioMute - - XF86AudioRaiseVolume - - XF86AudioPlay - - XF86AudioStop - - XF86AudioPrev - - XF86AudioNext - -I don't want to unlock the screen just in order to skip the current song -or raise the volume, that's all there is to it. - -Download --------- - -* [slock-mediakeys-20170111-2d2a21a.diff](slock-mediakeys-20170111-2d2a21a.diff) - -Authors -------- - -* Klemens Nanni <[kl3@posteo.org](mailto:kl3@posteo.org)> diff --git a/tools.suckless.org/slock/patches/mediakeys/index.md b/tools.suckless.org/slock/patches/mediakeys/index.md @@ -0,0 +1,27 @@ +Mediakeys +========= + +Description +----------- +This patch allows using the following keys to be used while the screen is +locked: + - XF86AudioLowerVolume + - XF86AudioMute + - XF86AudioRaiseVolume + - XF86AudioPlay + - XF86AudioStop + - XF86AudioPrev + - XF86AudioNext + +I don't want to unlock the screen just in order to skip the current song +or raise the volume, that's all there is to it. + +Download +-------- + +* [slock-mediakeys-20170111-2d2a21a.diff](slock-mediakeys-20170111-2d2a21a.diff) + +Authors +------- + +* Klemens Nanni <[kl3@posteo.org](mailto:kl3@posteo.org)> diff --git a/tools.suckless.org/slock/patches/message.md b/tools.suckless.org/slock/patches/message.md @@ -1,38 +0,0 @@ -Message -======= - -Description ------------ - -This patch lets you add a message to your lock screen. You can place a default message in `config.h`, and you can also pass a message with `-m message` - -So, for instance, you can run - -`slock -m "Locked at $(date "+%a %d, %H:%M:%S")"` - -Or if you want a silly lockscreen - -`slock -m "$(cowsay "$(fortune)")"` - -Notes ------ - -This adds three items to `config.h`: - - * `message` - the default message - * `text_color` - which can be a hex color or a colorname (like "black") - * `text-size` - which must be some valid X11 dimension like "6x10" - - -*A list of font sizes might be in* `/usr/share/fonts/X11/misc/` - - -Download --------- - - * [slock-message-20180626-8384a86.diff](slock-message-20180626-8384a86.diff) - -Authors -------- - - * Blair Drummond - blair.robert.drummond@gmail.com diff --git a/tools.suckless.org/slock/patches/message/index.md b/tools.suckless.org/slock/patches/message/index.md @@ -0,0 +1,38 @@ +Message +======= + +Description +----------- + +This patch lets you add a message to your lock screen. You can place a default message in `config.h`, and you can also pass a message with `-m message` + +So, for instance, you can run + +`slock -m "Locked at $(date "+%a %d, %H:%M:%S")"` + +Or if you want a silly lockscreen + +`slock -m "$(cowsay "$(fortune)")"` + +Notes +----- + +This adds three items to `config.h`: + + * `message` - the default message + * `text_color` - which can be a hex color or a colorname (like "black") + * `text-size` - which must be some valid X11 dimension like "6x10" + + +*A list of font sizes might be in* `/usr/share/fonts/X11/misc/` + + +Download +-------- + + * [slock-message-20180626-8384a86.diff](slock-message-20180626-8384a86.diff) + +Authors +------- + + * Blair Drummond - blair.robert.drummond@gmail.com diff --git a/tools.suckless.org/slock/patches/pam_auth.md b/tools.suckless.org/slock/patches/pam_auth.md @@ -1,23 +0,0 @@ -PAM auth -========= - -Description ------------ - -Replaces shadow support with PAM authentication support. - -Change variable `pam_service` in `config.def.h` to the corresponding PAM -service. The default configuration is for ArchLinux's `login` service. - -Download --------- - -* [slock-pam_auth-20161126-9909280.diff](slock-pam_auth-20161126-9909280.diff) -* [slock-pam_auth-20161026-5974695.diff](slock-pam_auth-20161026-5974695.diff) -* [slock-pam_auth-20160909-a7619f7.diff](slock-pam_auth-20160909-a7619f7.diff) -* [slock-pam_auth.diff](slock-pam_auth.diff) - -Authors -------- - -* Jan Christoph Ebersbach <[jceb@e-jc.de](mailto:jceb@e-jc.de)> diff --git a/tools.suckless.org/slock/patches/pam_auth/index.md b/tools.suckless.org/slock/patches/pam_auth/index.md @@ -0,0 +1,23 @@ +PAM auth +========= + +Description +----------- + +Replaces shadow support with PAM authentication support. + +Change variable `pam_service` in `config.def.h` to the corresponding PAM +service. The default configuration is for ArchLinux's `login` service. + +Download +-------- + +* [slock-pam_auth-20161126-9909280.diff](slock-pam_auth-20161126-9909280.diff) +* [slock-pam_auth-20161026-5974695.diff](slock-pam_auth-20161026-5974695.diff) +* [slock-pam_auth-20160909-a7619f7.diff](slock-pam_auth-20160909-a7619f7.diff) +* [slock-pam_auth.diff](slock-pam_auth.diff) + +Authors +------- + +* Jan Christoph Ebersbach <[jceb@e-jc.de](mailto:jceb@e-jc.de)> diff --git a/tools.suckless.org/slock/patches/quickcancel.md b/tools.suckless.org/slock/patches/quickcancel.md @@ -1,28 +0,0 @@ -quickcancel -=========== - -Description ------------ - -Allow slock to be cancelled by simple mouse movement within the -first 3 seconds after starting. - -This is useful if you forgot to disable `xautolock` during -an activity that requires no input (e.g. reading text, watching video). - -Notes ------ - -The number of seconds while the lock can be cancelled is configured -in `config.h` via the `timetocancel` option. - -Download --------- - - * [slock-quickcancel-20160619-65b8d52.diff](slock-quickcancel-20160619-65b8d52.diff) - -Authors -------- - - * Matthias Schoth - mschoth@gmail.com - diff --git a/tools.suckless.org/slock/patches/quickcancel/index.md b/tools.suckless.org/slock/patches/quickcancel/index.md @@ -0,0 +1,28 @@ +quickcancel +=========== + +Description +----------- + +Allow slock to be cancelled by simple mouse movement within the +first 3 seconds after starting. + +This is useful if you forgot to disable `xautolock` during +an activity that requires no input (e.g. reading text, watching video). + +Notes +----- + +The number of seconds while the lock can be cancelled is configured +in `config.h` via the `timetocancel` option. + +Download +-------- + + * [slock-quickcancel-20160619-65b8d52.diff](slock-quickcancel-20160619-65b8d52.diff) + +Authors +------- + + * Matthias Schoth - mschoth@gmail.com + diff --git a/tools.suckless.org/slock/patches/terminalkeys.md b/tools.suckless.org/slock/patches/terminalkeys.md @@ -1,29 +0,0 @@ -terminalkeys -============ - -Description ------------ - -Add key commands that are commonly used in terminal applications -(in particular the login prompt) to slock. - -Mappings: - -|Key| | |Function| | | Mapped to| -|:---|-|-|:---|-|-|:---| -|Ctrl-u| | |Delete until beginning of line| | |Esc| -|Ctrl-h| | |Backspace| | |Backspace| -|Ctrl-j| | |Line feed| | |Return| -|Ctrl-m| | |Carriage feed| | |Return| - - -Download --------- - - * [slock-terminalkeys-20160618-65b8d52.diff](slock-terminalkeys-20160618-65b8d52.diff) - -Authors -------- - - * Matthias Schoth - mschoth@gmail.com - diff --git a/tools.suckless.org/slock/patches/terminalkeys/index.md b/tools.suckless.org/slock/patches/terminalkeys/index.md @@ -0,0 +1,29 @@ +terminalkeys +============ + +Description +----------- + +Add key commands that are commonly used in terminal applications +(in particular the login prompt) to slock. + +Mappings: + +|Key| | |Function| | | Mapped to| +|:---|-|-|:---|-|-|:---| +|Ctrl-u| | |Delete until beginning of line| | |Esc| +|Ctrl-h| | |Backspace| | |Backspace| +|Ctrl-j| | |Line feed| | |Return| +|Ctrl-m| | |Carriage feed| | |Return| + + +Download +-------- + + * [slock-terminalkeys-20160618-65b8d52.diff](slock-terminalkeys-20160618-65b8d52.diff) + +Authors +------- + + * Matthias Schoth - mschoth@gmail.com + diff --git a/tools.suckless.org/slock/patches/unlock_screen.md b/tools.suckless.org/slock/patches/unlock_screen.md @@ -1,18 +0,0 @@ -Unlock Screen -========= - -Description ------------ -This patch keeps the screen unlocked but keeps the input locked. -That is, the screen is not affected by slock, but users will not -be able to interact with the X session unless they enter the correct password. - -Download --------- - -* [slock-unlock_screen-1.4.diff](slock-unlock_screen-1.4.diff) - -Authors -------- - -* Arif Roktim <[aroktim@stuy.edu](mailto:aroktim@stuy.edu)> diff --git a/tools.suckless.org/slock/patches/unlock_screen/index.md b/tools.suckless.org/slock/patches/unlock_screen/index.md @@ -0,0 +1,18 @@ +Unlock Screen +========= + +Description +----------- +This patch keeps the screen unlocked but keeps the input locked. +That is, the screen is not affected by slock, but users will not +be able to interact with the X session unless they enter the correct password. + +Download +-------- + +* [slock-unlock_screen-1.4.diff](slock-unlock_screen-1.4.diff) + +Authors +------- + +* Arif Roktim <[aroktim@stuy.edu](mailto:aroktim@stuy.edu)> diff --git a/tools.suckless.org/tabbed/patches/alpha.md b/tools.suckless.org/tabbed/patches/alpha.md @@ -1,38 +0,0 @@ -Alpha -===== - -Description ------------ - -This patch create 32bit window in tabbed. This allows to handle windows with -transparency. - -Note that *you need an X composite manager* (e.g. compton, xcompmgr) to make -this patch effective. - -If you want to use transparency in st with this patch, you also need to replace - - -```C -#define USE_ARGB (alpha != OPAQUE && opt_embed == NULL) -``` - -by - -```C -#define USE_ARGB (alpha != OPAQUE) -``` - -in st.c - -Download --------- - -* [alpha.diff](alpha.diff) (3.8k) (28 Feb 2017) - - -Author ------- - -* Sébastien Dailly - `<contact at chimrod dot com>` - diff --git a/tools.suckless.org/tabbed/patches/alpha/index.md b/tools.suckless.org/tabbed/patches/alpha/index.md @@ -0,0 +1,38 @@ +Alpha +===== + +Description +----------- + +This patch create 32bit window in tabbed. This allows to handle windows with +transparency. + +Note that *you need an X composite manager* (e.g. compton, xcompmgr) to make +this patch effective. + +If you want to use transparency in st with this patch, you also need to replace + + +```C +#define USE_ARGB (alpha != OPAQUE && opt_embed == NULL) +``` + +by + +```C +#define USE_ARGB (alpha != OPAQUE) +``` + +in st.c + +Download +-------- + +* [alpha.diff](alpha.diff) (3.8k) (28 Feb 2017) + + +Author +------ + +* Sébastien Dailly - `<contact at chimrod dot com>` + diff --git a/tools.suckless.org/tabbed/patches/autohide.md b/tools.suckless.org/tabbed/patches/autohide.md @@ -1,20 +0,0 @@ -Autohide -======== - -This patch hides the tab bar if only one tab is open. - -Download --------- -* [tabbed-0.4.1-autohide.diff](tabbed-0.4.1-autohide.diff) -* [tabbed-0.5-autohide.diff](tabbed-0.5-autohide.diff) -* [tabbed-autohide-0.6.diff](tabbed-autohide-0.6.diff) -* [tabbed-autohide-20170824-6dc3978.diff](tabbed-autohide-20170824-6dc3978.diff) - -Author ------- -* original author Carlos Pita - <carlosjosepita_AT_gmail.com> -* 0.4.1 Maximilian Dietrich - <dxm_AT_lavabit.com> -* 0.5 Maximilian Dietrich - <dxm_AT_lavabit.com> -* 20170708 Alexis Ben Miloud--Josselin - <alexis.bmj@protonmail.com> -* 20170824 Audun Sutterud - <audunsu_AT_protonmail.com> -* 0.6 Filip Ivetić - <filip.ivetic_AT_gmail.com> diff --git a/tools.suckless.org/tabbed/patches/autohide/index.md b/tools.suckless.org/tabbed/patches/autohide/index.md @@ -0,0 +1,20 @@ +Autohide +======== + +This patch hides the tab bar if only one tab is open. + +Download +-------- +* [tabbed-0.4.1-autohide.diff](tabbed-0.4.1-autohide.diff) +* [tabbed-0.5-autohide.diff](tabbed-0.5-autohide.diff) +* [tabbed-autohide-0.6.diff](tabbed-autohide-0.6.diff) +* [tabbed-autohide-20170824-6dc3978.diff](tabbed-autohide-20170824-6dc3978.diff) + +Author +------ +* original author Carlos Pita - <carlosjosepita_AT_gmail.com> +* 0.4.1 Maximilian Dietrich - <dxm_AT_lavabit.com> +* 0.5 Maximilian Dietrich - <dxm_AT_lavabit.com> +* 20170708 Alexis Ben Miloud--Josselin - <alexis.bmj@protonmail.com> +* 20170824 Audun Sutterud - <audunsu_AT_protonmail.com> +* 0.6 Filip Ivetić - <filip.ivetic_AT_gmail.com> diff --git a/tools.suckless.org/tabbed/patches/clientnumber.md b/tools.suckless.org/tabbed/patches/clientnumber.md @@ -1,13 +0,0 @@ -Client number -============= -With this patch, tabbed prints the position number of the client before the -window title. - -Download --------- -* [tabbed-clientnumber-0.6.diff](tabbed-clientnumber-0.6.diff) -* [tabbed-clientnumber-20160702-bc23614.diff](tabbed-clientnumber-20160702-bc23614.diff) - -Author ------- -* Quentin Rameau <quinq@fifth.space> diff --git a/tools.suckless.org/tabbed/patches/clientnumber/index.md b/tools.suckless.org/tabbed/patches/clientnumber/index.md @@ -0,0 +1,13 @@ +Client number +============= +With this patch, tabbed prints the position number of the client before the +window title. + +Download +-------- +* [tabbed-clientnumber-0.6.diff](tabbed-clientnumber-0.6.diff) +* [tabbed-clientnumber-20160702-bc23614.diff](tabbed-clientnumber-20160702-bc23614.diff) + +Author +------ +* Quentin Rameau <quinq@fifth.space> diff --git a/tools.suckless.org/tabbed/patches/keycode.md b/tools.suckless.org/tabbed/patches/keycode.md @@ -1,13 +0,0 @@ -Keycode -======= -With this patch, handling key input is done with keycodes instead of keysyms. -This way, input is keyboard layout independant (adapt config.h to your keyboard using for example xev). - -Download --------- -* [tabbed-keycode-0.6.diff](tabbed-keycode-0.6.diff) -* [tabbed-keycode-20170508-6dc3978.diff](tabbed-keycode-20170508-6dc3978.diff) - -Author ------- -* Quentin Rameau <quinq@fifth.space> diff --git a/tools.suckless.org/tabbed/patches/keycode/index.md b/tools.suckless.org/tabbed/patches/keycode/index.md @@ -0,0 +1,13 @@ +Keycode +======= +With this patch, handling key input is done with keycodes instead of keysyms. +This way, input is keyboard layout independant (adapt config.h to your keyboard using for example xev). + +Download +-------- +* [tabbed-keycode-0.6.diff](tabbed-keycode-0.6.diff) +* [tabbed-keycode-20170508-6dc3978.diff](tabbed-keycode-20170508-6dc3978.diff) + +Author +------ +* Quentin Rameau <quinq@fifth.space> diff --git a/tools.suckless.org/tabbed/patches/xft.md b/tools.suckless.org/tabbed/patches/xft.md @@ -1,18 +0,0 @@ -xft -=== - -Description ------------ - -This patch implements Xft. This allows users to utilize the UTF8 character set. - -Download --------- - -* [tabbed-0.6-xft.diff](tabbed-0.6-xft.diff) (6.5k) (10 Sep 2015) - - -Author ------- - -* Danil Semelenov - `<mail at danil dot mobi>` diff --git a/tools.suckless.org/tabbed/patches/xft/index.md b/tools.suckless.org/tabbed/patches/xft/index.md @@ -0,0 +1,18 @@ +xft +=== + +Description +----------- + +This patch implements Xft. This allows users to utilize the UTF8 character set. + +Download +-------- + +* [tabbed-0.6-xft.diff](tabbed-0.6-xft.diff) (6.5k) (10 Sep 2015) + + +Author +------ + +* Danil Semelenov - `<mail at danil dot mobi>` diff --git a/tools.suckless.org/x/lsw.md b/tools.suckless.org/x/lsw.md @@ -1,8 +0,0 @@ -lsw -=== -Lists the titles of all running X windows to stdout, similar to ls(1). Might be -useful for script integration. - -Download --------- -* [lsw-0.3](//dl.suckless.org/tools/lsw-0.3.tar.gz) (20141129) diff --git a/tools.suckless.org/x/lsw/index.md b/tools.suckless.org/x/lsw/index.md @@ -0,0 +1,8 @@ +lsw +=== +Lists the titles of all running X windows to stdout, similar to ls(1). Might be +useful for script integration. + +Download +-------- +* [lsw-0.3](//dl.suckless.org/tools/lsw-0.3.tar.gz) (20141129) diff --git a/tools.suckless.org/x/sprop.md b/tools.suckless.org/x/sprop.md @@ -1,15 +0,0 @@ -sprop -===== -sprop is a simple X property utility. Less is more. - -Download --------- -* [sprop-0.1](//dl.suckless.org/tools/sprop-0.1.tar.gz) (20121028) - -Repository ----------- - git clone https://git.suckless.org/sprop - -Links ------ -* [Initial announcement](//lists.suckless.org/dev/1004/3718.html) diff --git a/tools.suckless.org/x/sprop/index.md b/tools.suckless.org/x/sprop/index.md @@ -0,0 +1,15 @@ +sprop +===== +sprop is a simple X property utility. Less is more. + +Download +-------- +* [sprop-0.1](//dl.suckless.org/tools/sprop-0.1.tar.gz) (20121028) + +Repository +---------- + git clone https://git.suckless.org/sprop + +Links +----- +* [Initial announcement](//lists.suckless.org/dev/1004/3718.html) diff --git a/tools.suckless.org/x/sselp.md b/tools.suckless.org/x/sselp.md @@ -1,9 +0,0 @@ -sselp -===== -Simple X selection printer. Prints the X selection to stdout. If there is no X -client owning the selection it just exits. Useful for scripts where you can -query the X selection without pressing mouse Button2 in cumbersome ways. - -Download --------- -* [sselp-0.2](//dl.suckless.org/tools/sselp-0.2.tar.gz) (20080729) diff --git a/tools.suckless.org/x/sselp/index.md b/tools.suckless.org/x/sselp/index.md @@ -0,0 +1,9 @@ +sselp +===== +Simple X selection printer. Prints the X selection to stdout. If there is no X +client owning the selection it just exits. Useful for scripts where you can +query the X selection without pressing mouse Button2 in cumbersome ways. + +Download +-------- +* [sselp-0.2](//dl.suckless.org/tools/sselp-0.2.tar.gz) (20080729) diff --git a/tools.suckless.org/x/svkbd.md b/tools.suckless.org/x/svkbd.md @@ -1,44 +0,0 @@ -svkbd -===== -This is a simple virtual keyboard, intended to be used in environments, -where no keyboard is available. - -Installation ------------- - - % make - % make install - -This will create by default `svkbd-en`, which is svkbd using an English -keyboard layout. You can create svkbd for additional layouts by doing: - - % make svkbd-$layout - -This will take the file `layout.$layout.h` and create `svkbd-$layout`. -`make install` will then pick up the new file and install it accordingly. - -Usage ------ - - % svkbd-en - -This will open svkbd at the bottom of the screen, showing the default -English layout. - - % svkbd-en -d - -This tells svkbd-en to announce itself being a dock window, which then -is managed differently between different window managers. If using dwm -and the dock patch, then this will make svkbd being managed by dwm and -some space of the screen being reserved for it. - - % svkbd-en -g 400x200+1+1 - -This will start svkbd-en with a size of 400x200 and at the upper left -window corner. - -Repository ----------- - - git clone https://git.suckless.org/svkbd - diff --git a/tools.suckless.org/x/svkbd/index.md b/tools.suckless.org/x/svkbd/index.md @@ -0,0 +1,44 @@ +svkbd +===== +This is a simple virtual keyboard, intended to be used in environments, +where no keyboard is available. + +Installation +------------ + + % make + % make install + +This will create by default `svkbd-en`, which is svkbd using an English +keyboard layout. You can create svkbd for additional layouts by doing: + + % make svkbd-$layout + +This will take the file `layout.$layout.h` and create `svkbd-$layout`. +`make install` will then pick up the new file and install it accordingly. + +Usage +----- + + % svkbd-en + +This will open svkbd at the bottom of the screen, showing the default +English layout. + + % svkbd-en -d + +This tells svkbd-en to announce itself being a dock window, which then +is managed differently between different window managers. If using dwm +and the dock patch, then this will make svkbd being managed by dwm and +some space of the screen being reserved for it. + + % svkbd-en -g 400x200+1+1 + +This will start svkbd-en with a size of 400x200 and at the upper left +window corner. + +Repository +---------- + + git clone https://git.suckless.org/svkbd + diff --git a/tools.suckless.org/x/swarp.md b/tools.suckless.org/x/swarp.md @@ -1,12 +0,0 @@ -swarp -===== -Simple pointer warping tool for X. Warps the mouse pointer to a given position, e.g.: - - swarp 100 100 - -will warp the pointer to (100, 100) on your screen. - -Download --------- -* [swarp-0.1](//dl.suckless.org/tools/swarp-0.1.tar.gz) (20061013) - diff --git a/tools.suckless.org/x/swarp/index.md b/tools.suckless.org/x/swarp/index.md @@ -0,0 +1,12 @@ +swarp +===== +Simple pointer warping tool for X. Warps the mouse pointer to a given position, e.g.: + + swarp 100 100 + +will warp the pointer to (100, 100) on your screen. + +Download +-------- +* [swarp-0.1](//dl.suckless.org/tools/swarp-0.1.tar.gz) (20061013) + diff --git a/tools.suckless.org/x/wmname.md b/tools.suckless.org/x/wmname.md @@ -1,31 +0,0 @@ -wmname -====== -wmname prints/sets the window manager name property of the root window similar -to how hostname(1) behaves. - -wmname is a nice utility to fix problems with JDK versions and other broken -programs assuming a reparenting window manager for instance. - -Download --------- -* [wmname-0.1](//dl.suckless.org/tools/wmname-0.1.tar.gz) - -Repository ----------- -You can [browse](//git.suckless.org/wmname) the source code or get a -copy using the following command: - - git clone https://git.suckless.org/wmname - -Usage ------ -The following command prints the window manager name, if any: - - ; wmname - -This is helpful when attempting to run java swing(broken) applications, -it makes them think they are running through the looking glass and behave as expected. -The following command sets the window manager name, e.g. - - ; wmname LG3D - diff --git a/tools.suckless.org/x/wmname/index.md b/tools.suckless.org/x/wmname/index.md @@ -0,0 +1,31 @@ +wmname +====== +wmname prints/sets the window manager name property of the root window similar +to how hostname(1) behaves. + +wmname is a nice utility to fix problems with JDK versions and other broken +programs assuming a reparenting window manager for instance. + +Download +-------- +* [wmname-0.1](//dl.suckless.org/tools/wmname-0.1.tar.gz) + +Repository +---------- +You can [browse](//git.suckless.org/wmname) the source code or get a +copy using the following command: + + git clone https://git.suckless.org/wmname + +Usage +----- +The following command prints the window manager name, if any: + + ; wmname + +This is helpful when attempting to run java swing(broken) applications, +it makes them think they are running through the looking glass and behave as expected. +The following command sets the window manager name, e.g. + + ; wmname LG3D + diff --git a/tools.suckless.org/x/xssstate.md b/tools.suckless.org/x/xssstate.md @@ -1,17 +0,0 @@ -xssstate -======== -A simple tool to retrieve the X screensaver state. - -Release -------- - -* [xssstate-1.1.tgz](//dl.suckless.org/tools/xssstate-1.1.tar.gz) - (20130507) - -Development ------------ -You can [browse](//git.suckless.org/xssstate) its source code repository -or get a copy using the following command: - - git clone https://git.suckless.org/xssstate - diff --git a/tools.suckless.org/x/xssstate/index.md b/tools.suckless.org/x/xssstate/index.md @@ -0,0 +1,17 @@ +xssstate +======== +A simple tool to retrieve the X screensaver state. + +Release +------- + +* [xssstate-1.1.tgz](//dl.suckless.org/tools/xssstate-1.1.tar.gz) + (20130507) + +Development +----------- +You can [browse](//git.suckless.org/xssstate) its source code repository +or get a copy using the following command: + + git clone https://git.suckless.org/xssstate +