Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 8c03f4bd8206111ef38974a90a7781a7fa9483b7
parent a5aaa1b08023b1a56844e8f06475dda8869dea6b
Author: Hiltjo Posthuma <>
Date:   Sat, 10 Jun 2017 16:55:13 +0200

fix some external links, remove some old information.

I tried my best to find the official new external links.
I kept some important broken links so it might be possible to find them
using or something.

Some sites certificates seem to expired, those links are kept too.

If you disagree your link is removed, fix them yourself.

Diffstat: | 370------------------------------------------------------------------------------- | 3+-- | 27--------------------------- | 7------- | 2+- | 9--------- | 2+- | 4++-- | 2+- | 8+++----- | 2+- | 14-------------- | 4---- | 2+-
14 files changed, 11 insertions(+), 445 deletions(-)

diff --git a/ b/ @@ -1,370 +0,0 @@ -#How to maintain your own config.h as a patch queue in Mercurial - -*blame [Filippo Erik Negroni](mailto:f dot e dot negroni at googlemail dot com>) about this document* - -This article will explain how to maintain your own `config.h` and `` files as a set of patches in a Mercurial Queue. - -##Background - -When customising dwm, it is assumed the user edits `config.h` and ``. - -`config.h` is not generated from `config.def.h` when running `make`. The user must copy `config.def.h` in `config.h` before `make` can build its targets. -This raises the interesting situation where our customised `config.h` does not match changes to `config.def.h` in future releases of dwm. We must therefore take care of diff'ing `config.h` and `config.def.h` manually so as to keep our customised `config.h` in sync with the project. - -When building dwm, the user is expected to edit `` to customise the install location and other parameters, such as C compiler flags. -It is unfortunately suffering from the same risk of a customised `` not being in sync with the one in the main distribution. One has to remember to diff the original and customised `` to make sure the changes are in sync. - -##Automating our customisations - -Since ** uses Git as its source control system, it is a bit more difficult to use Mercurial to manage our customisations. On the flip side, using mq makes it easy to create an incremental series of patchsets (queue) that we can also distribute to others. - -An example of such queue can be found at [fnegronidwm]( I created it as a Mercurial Queue repository so that I can manage the patches and keep them in sync with the main dwm distribution. - -The rest of this document will explain how I created my queue for dwm. -It will hopefully help others do the same and also improve the quality of the patches by making sure that they are tagged and in sync with the main repository of dwm. - -##Tutorial - -###Enable the hg-git and MQ extension - -Optional: if your system of choice doesn't offer hg-git: - -- download and install [Dulwich]( - -- `hg clone ssh:// some/path/hg-git` - -In your global mercurial configuration (`~/.hgrc`), enable the hg-git MQ extension: - - [extensions] - = - # if hg-git is installed by your system - hggit = - # if you installed it manually - #hggit = some/path/hg-git/hggit/ - -Verify your extensions are enabled: - - $ hg help qinit - $ hg help hggit - -###Get the original dwm - -You have two options: - -- download the prepackaged source tarball, currently [dwm-5.1]( - -- clone the git repository at `git://` - - -###Prepare a base mercurial repository - -If you downloaded the prepackaged source tree, it is now a good time to initialize a mercurial repository: - - $ cd dwm-5.1 - $ hg init - $ hg add - -If you cloned the official repo, but prefer to work on less frequent updates, you can update your working copy to the latest stable tag: - - $ cd dwm - $ hg up -r 5.1 - -###Initialize the MQ repository - -From within your working copy, run the command: - - $ hg qinit -c - -The `-c` option ensures that your patch series is tracked as a separate mercurial repository, should you wish to share it with others or experiment further. - -###Our first patch: change install location - -When trying out new software, or patching projects, I like to install it in my home directory. - -So the first change I make when downloading dwm is to edit `` and change the value of `PREFIX`. - -This is a perfect candidate for an MQ patch: it is a repetitive task, but the resulting might not be compatible with future releases. - -So we first tell MQ we are working on a new patch: - - $ hg qnew install_location - -Then we edit `` and change the value of `PREFIX`: - - PREFIX = /home/fnegroni - -We then tell MQ that we have done some work on the current patch: - - $ hg qrefresh - -Our base repository now includes information about our patch: - - $ hg log -r tip - changeset: 1338:8226aced4656 - tag: tip - tag: qbase - tag: install_location - tag: qtip - parent: 1315:ce355cea9bb8 - user: f.e.negroni - date: Mon Aug 18 23:24:27 2008 +0100 - summary: [mq]: install_location - -###Commit the patch to the MQ repository - -Since we are happy about our first customisation, we want to commit that in our MQ repository. This way, should we corrupt anything in our working copy, we can always roll back to a known state. - -The MQ repository is one level down from the base repo, so we use the special command //qcommit//: - - $ hg qcommit -m 'First patch to installation target' - -###The second patch: forget about config.h - -What we really want to modify when customising dwm is `config.def.h`. - -`config.h` is really just a redundant dependency if using MQ to manage customisations. - -Unfortunately MQ can't track renames for us, so rather than renaming `config.def.h` into `config.h`, we modify the dependency tree in `Makefile`. - - $ hg qnew configh_dep - -Now MQ knows we are working on a new patch. - -We modify `Makefile` so that where it reads: - - config.h: - -it now reads: - - config.h: config.def.h - -This will cause a new `config.h` to be produced whenever `config.def.h` is updated, either by us as a patch, or by the official repository history. - -Don't forget to tell MQ we are done with the patch: - - $ hg qrefresh - -Now we can test our patch: without copying `config.def.h` into `config.h`, `make` should succeed: - - $ make - ... - creating config.h from config.def.h - ... - -Let's again commit this latest patch in our MQ repository for safe keeping: - - $ hg qcommit -m 'Made config.h depend on config.def.h' - -###Our first proper customisation: change the tiling factor - -As a first customisation, that is something we can actually see, we will modify the original factor used when tiling windows. - -The original value is in `config.def.h`, and it is called `mfact`. - -We want to change it from `0.55` to `0.5`. - -First, tell MQ about it: - - $ hg qnew mfact_05 - -Then edit `config.def.h` so it reads: - - static float mfact = 0.5; - -in place of the old value. - -Tell MQ we are done with the patch and commit it to its repo: - - $ hg qrefresh - $ hg qcommit -m 'Our mfact is now 0.5' - -### List our patches - -Just issue: - - $ hg qseries - install_location - configh_dep - mfact_05 - -to see all the patches we created, and - - $ hg qapplied - install_location - configh_dep - mfact_05 - -to see which patches are currently applied to our tree. - -The order in which `qapplied` lists our patches is the order in which the patches were applied to our source tree, from top first to bottom last. - -###Update to the latest dwm source - -This is where MQ shines. - -We now must remove all our customisations (the entire queue of applied patches). This will bring our repository (not just the working copy, but our entire history) back to where we started. To prove it, let's look at the current tip of our history: - - $ hg log -r tip - changeset: 1340:6a95ea4eed06 - tag: tip - tag: mfact_05 - tag: qtip - user: f.e.negroni - date: Tue Aug 19 00:00:09 2008 +0100 - summary: [mq]: mfact_05 - -That shows that our history has changed since we started working on our patches. - -Let's remove all the applied patches: - - $ hg qpop -a - Patch queue now empty - -The tip of our history has now gone back to where we started: - - $ hg log -r tip - changeset: 1337:c4ecef7983b8 - tag: tip - user: Anselm R Garbe - date: Mon Aug 18 19:28:57 2008 +0100 - summary: Martin Hurtons typo fix - -To get the latest code we must remember how we obtained the code. - -If we cloned the official repository and updated our working copy to tag 5.1, we can simply do: - - $ hg pull - $ hg up -r tip - -We will be informed that some files had to be updated. Remember that our patches were based on a working copy of tag 5.1 - -If we obtained the source from a tarball, we might need to download a more recent tarball, extract the tarball on top of our working copy and resync our repository: - - $ hg addremove - $ hg ci -m 'synched with latest code' - -###Apply our customisations again - -Our customisations are not lost: they are safe in `.hg/patches`. They are just not applied to the current working copy. - -To do that, issue this command: - - $ hg qpush -a - -This will apply our patches, one by one, in the order they were created. - - $ hg qpush -a - applying install_location - applying configh_dep - applying mfact_05 - patching file config.def.h - Hunk #1 FAILED at 22 - 1 out of 1 hunk FAILED -- saving rejects to file config.def.h.rej - patch failed, unable to continue (try -v) - patch failed, rejects left in working dir - Errors during apply, please fix and refresh mfact_05 - -If our customisations can be applied, they will be. But as you can see, our customisation `mfact_05` did not succeed. - -MQ has successfully applied `install_location` and `configh_dep`, but encountered a problem in `mfact_05`. What it is now telling us is that we can look at the conflict in `config.def.h.rej` and try and fix the problem. - -This is `config.def.h.rej`: - - --- config.def.h - +++ config.def.h - @@ -23,7 +23,7 @@ - }; - - /* layout(s) */ - -static float mfact = 0.55; - +static float mfact = 0.5; - static Bool resizehints = True; /* False means respect size hints in tiled resizals */ - -That's the change we created and saved in our patch queue. - -If we look at `config.def.h` now, we can try and fix our patch. We know from the rejects file above that `mfact` was not modified. - -The section in `config.def.h` that we originally modified had work done to it between tag 5.1 and the tip. It now looks like this: - - /* layout(s) */ - static float mfact = 0.55; /* factor of master area size [0.05..0.95] */ - static Bool resizehints = True; /* False means respect size hints in tiled resizals */ - -So some comments were added. - -What we do now is simple: change mfact and refresh our current MQ patch. We know our current MQ patch is `mfact_05` because that's where `qpush` left off. - -After changing `config.def.h`, simply do: - - $ hg qrefresh - -And the patch queue is now updated. - -###Patch queue history - -When we refresh our patch with `qrefresh`, we do not automatically commit to our patch queue repository in `.hg/patches`. - -This is where we can take advantage of MQ for our customisation. - -We know that the customisations we created for dwm version 5.1 are correct. They just fail to apply to the latest source tree. - - $ cd .hg/patches - $ hg stat - M mfact_05 - $ hg log -r tip - changeset: 2:d57a0f67f9a5 - tag: tip - user: f.e.negroni - date: Tue Aug 19 00:00:20 2008 +0100 - summary: Our mfact is now 0.5 - -So, we can mark that fact in our patch queue repository: - - $ hg tag 5.1 - $ hg tags - $ hg tags - tip 3:c199ba305efd - 5.1 2:d57a0f67f9a5 - -And now we can commit our latest `mfact_05` to our patch queue so it is safe: - - $ hg ci -m 'mfact_05 refreshed for dwm changeset:1337' - $ hg log - changeset: 4:b50744a3fb9e - tag: tip - user: f.e.negroni - date: Wed Aug 20 23:58:06 2008 +0100 - summary: mfact_05 refreshed for dwm changeset:1337 - - changeset: 3:c199ba305efd - user: f.e.negroni - date: Wed Aug 20 23:55:02 2008 +0100 - summary: Added tag 5.1 for changeset d57a0f67f9a5 - - changeset: 2:d57a0f67f9a5 - tag: 5.1 - user: f.e.negroni - date: Tue Aug 19 00:00:20 2008 +0100 - summary: Our mfact is now 0.5 - - changeset: 1:dd93da2d71d3 - user: f.e.negroni - date: Mon Aug 18 23:42:26 2008 +0100 - summary: Made config.h depend on config.def.h - - changeset: 0:b0fed54a0021 - user: f.e.negroni - date: Mon Aug 18 23:30:30 2008 +0100 - summary: First patch to installation target - -###Let's share our customisations with others - -If anyone is interested in our customisations, they can simply clone our patch queue repository, the one in `.hg/patches`. - -Since `.hg/patches` is simply another mercurial repository, we can share it in a number of ways, like exporting it or making it available through ssh or http. - -The big bonus is that now, whomever clones our customisations, will receive our customisations not for just one version of dwm, but for any version that we tagged in our repository. - -This is extremely helpful to make sure the correct patch is applied to the correct source. - -##The End diff --git a/ b/ @@ -106,7 +106,7 @@ Related discussion related projects ---------------- * [awesome]( -- dwm fork with XCB, EWMH, Lua script, Xft, D-Bus, multihead.. support -* [awm]( -- (old) modified dwm with workspaces and /proc like interface +* [awm]( -- (old) modified dwm with workspaces and /proc like interface * [bwm]( -- (old) modified dwm with extensive mouse support * [cons-wm]( -- minimalist wm in scheme (not tiled) * [bug.n]( -- dwm for Windows written in AutoHotkey @@ -117,7 +117,6 @@ related projects * [echinus]( -- dwm fork with EWMH, Xft support * [gemini]( -- terminal manager * [i3]( -- wmii fork with XCB, multihead, vertical column, command mode -* [musca]( -- inspired by dwm, more complex layout, configurable with commands, EWMH support * [qtile]( -- pure python wm, used ideas from dwm * [scrotwm]( -- dwm clone with multihead, config file, restart.. support * [TAL/wm]( -- minimal tiled wm based on dwm (discontinued) diff --git a/ b/ @@ -1,27 +0,0 @@ -BOLDFONT -======== - -Description ------------ - -This patch makes dwm use a different font (specified as `boldfont` in -`config.h`) for occupied tags, and titles of floating windows. - -It also removes the squares that now mark occupied tags and floating windows. - -Configuration -------------- - - static const char font[] = "-*-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*"; - static const char boldfont[] = "-*-terminus-bold-r-normal-*-14-*-*-*-*-*-*-*"; - -Download --------- - -- [dwm-5.2-boldfont.diff]( -- [dwm-5.1-boldfont.diff]( - -Author ------- - -- Luka Novsak <[](> diff --git a/ b/ @@ -6,12 +6,5 @@ old offsite patches * [dwm-meillo]( * [dwm-mitch]( * [fnegronidwm]( -* [dwm-gtx]( - Gottox' old dwm fork from earlier days -* [patches written by InfinityX]( * [display date]( * [DWM-Hacked]( - -more unofficial patches ------------------------ - -* Take a look at [bitbucket]( to see who else has forked dwm and abandoned their fork, so it fits in this historical section! diff --git a/ b/ @@ -25,7 +25,7 @@ Download --- * [dwm-keypressrelease-6.0.diff](dwm-keypressrelease-6.0.diff) - * [dwm-keypressrelease-6.0.diff on GitHub]( + * [dwm-keypressrelease-6.0.diff on GitHub]( Author ------ diff --git a/ b/ @@ -13,15 +13,6 @@ time, auto display, permanent display and no display. In permanent mode the tab bar is always display independently of the layout, while in the auto mode it is displayed only with the monocle layout and in presence of several windows. -<center> -<table> -<caption align="bottom" style="font-size: 80%;"><b>Tab in action.</b> Monocle view with the tab extension.</caption> -<tr><td><img alt="Screenshot" src=""></td></tr> -</table> -</center> - -<!--![Screen shot]( "") --> - This patch can be used as an alternative to the [tabbed]( tool. It differs in two ways: the ''tab'' feature is limited to the monocle mode; it works with any application diff --git a/ b/ @@ -95,7 +95,7 @@ used to force certain window sizes, when some application requires this for aesthetics or simply to being usable. If you want to set some type of window to be always floating, look at the -[config.def.h]( and the +[config.def.h]( and the `rules` array, where the last but one element defines this behaviour. Quitting diff --git a/ b/ @@ -112,8 +112,8 @@ Related lists * [9fans]( - fans of the [Plan 9 from Bell Labs]( operating system * [inferno-list]( - Inferno users and developers -* [9front]( - 9front users and hackers -* [cat-v]( - trolling +* [9front]( - 9front users and hackers +* [cat-v]( - trolling IRC --- diff --git a/ b/ @@ -1,7 +1,7 @@ Kris Maglione aka JG ==================== -I'm the current(?) maintainer of [wmii]( +I'm the maintainer of wmii. This is a place for me to post the random scripts that I'm compelled to write and consider useful. diff --git a/ b/ @@ -18,7 +18,7 @@ libc implementations Compression ----------- * [liblzf]( - very fast, legally unencumbered compression library (dual licensed: 2-clause BSD or GPL License) -* [miniz]( - single C-file reimplementation of zlib, public domain. +* [miniz]( - single C-file reimplementation of zlib, public domain. * [xz embedded]( - lightweight decompressor for the xz LZMA compressor (public domain) * [Lzip]( - Properly designed data compressor outperforming gzip and bzip2 (GPLv2+) * [zlib]( - the "standard" compression/decompression library, quite small, used in many applications ([zlib license]( @@ -109,7 +109,6 @@ Instant Messaging Clients ------------------------- * [bitlbee]( - A program to translate IM protocols to IRC. You can now IM from your IRC client, and you don't even need to install anything. * [CenterIM]( - A centericq fork. -* [climm]( * [irssi-xmpp]( * [mcabber]( - A console jabber client. * [ysm]( @@ -125,7 +124,6 @@ Mail Clients * [mutt]( * [nmh]( * [mmh]( -* [Prayer]( - Webmail interface for IMAP servers. Doesn't use javascript or frames and doesn't need cookies. 100% C code. * [mblaze]( - Unix utilities to deal with Maildir Media Players @@ -183,7 +181,7 @@ Web Browsers * [ELinks]( * [jumanji]( - A highly customizable and functional web browser based on the libwebkit. * [Links]( -* [Lynx]( +* [Lynx]( * [netsurf]( * [surf]( * [uzbl]( - Web interface tools which adhere to the unix philosophy. @@ -230,7 +228,7 @@ Web Servers Gopher Servers -------------- -* [geomyidae]( - small gopher-daemon written by 20h +* [geomyidae]( - small gopher-daemon written by 20h Misc Daemons ------------ diff --git a/ b/ @@ -20,7 +20,7 @@ Download [run-recent](run-recent), but it uses atime to find recently executed commands rather than a cache. As such, it also takes into account programs executed from the terminal. -* [browse]( +* [dbrowse]( little files navigator * [dmenu_run_history]( : dmenu_run alternative with command history diff --git a/ b/ @@ -1,14 +0,0 @@ -Ports to specific operating systems -=================================== - -Haiku OS --------- -samurai kindly provided a port of ii 1.6 (including the ssl patch) for [Haiku]( - -Download: []( - -More Information: []( - -OpenBSD -------- -ii 1.7 was ported to [OpenBSD]( diff --git a/ b/ @@ -30,10 +30,6 @@ iil --- The [iil]( (short for iiless) is fast viewer/reader for ii irc client, using your shell and less. -iiii ----- -[iiii]( (irc it immensely improved) is yet another bash script that wraps `ii`, `tmux`, `tail`, and `read` and offers easy configuration (including colors), highlighting, autojoining, and a plethora of convoluted sed expressions to make output more pleasing to the eye. Still a WIP. Expect and report bugs, please! - uii --- [uii]( (usable irc it) is a set of shell scripts that provides readline support, uses inotify to monitor channels and pops up notifications. diff --git a/ b/ @@ -5,7 +5,7 @@ tabbed Simple generic tabbed fronted to xembed aware applications, originally designed for [surf]( but also usable with many other applications, i.e. [st](, [uzbl](, -[urxvt]( and +[urxvt]( and [xterm]( Development