sites

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

commit 97f30a2ffe019760b3ea70d45394c5e62af02d2f
parent 7234152e6ddf2becc5c6b3c6285f1178c90467f2
Author: Kris Maglione <jg@suckless.org>
Date:   Thu, 17 Sep 2009 10:17:04 -0400

Merge.
Diffstat:
Mdefault.suckless.org/_werc/lib/footer.inc | 35+++++++++++------------------------
Adefault.suckless.org/_werc/lib/sitemap.tpl | 67+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ddefault.suckless.org/_werc/lib/top_bar.inc | 19-------------------
Mdwm.suckless.org/_werc/config | 1+
Adwm.suckless.org/_werc/lib/top_bar.inc | 13+++++++++++++
Ddwm.suckless.org/dwm.gif | 0
Adwm.suckless.org/dwm.png | 0
Mdwm.suckless.org/index.md | 9+--------
Ddwm.suckless.org/manpage.md | 231-------------------------------------------------------------------------------
Adwm.suckless.org/patches/attachaside-5.6.1.diff | 38++++++++++++++++++++++++++++++++++++++
Adwm.suckless.org/patches/attachaside.md | 51+++++++++++++++++++++++++++++++++++++++++++++++++++
Mdwm.suckless.org/patches/bottom_stack.md | 38+++++++++++++++++++++++++++++++-------
Adwm.suckless.org/patches/bstack.c | 29+++++++++++++++++++++++++++++
Adwm.suckless.org/patches/bstackhoriz.c | 30++++++++++++++++++++++++++++++
Mdwm.suckless.org/patches/clientspertag.md | 76+++++++++++++++++++++++++++++++++++-----------------------------------------
Ddwm.suckless.org/patches/dwm-5.2-monocle_count.diff | 32--------------------------------
Adwm.suckless.org/patches/dwm-5.6.1-cpt.diff | 71+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mdwm.suckless.org/patches/fibonacci.md | 14++++++--------
Mdwm.suckless.org/patches/gapless_grid.md | 50+++++++++++++++++++++++---------------------------
Adwm.suckless.org/patches/gaplessgrid.c | 36++++++++++++++++++++++++++++++++++++
Rdwm.suckless.org/patches/altmovefocus.md -> dwm.suckless.org/patches/historical/altmovefocus.md | 0
Rdwm.suckless.org/patches/boldfont.md -> dwm.suckless.org/patches/historical/boldfont.md | 0
Cdwm.suckless.org/patches/bottom_stack.md -> dwm.suckless.org/patches/historical/bottom_stack.md | 0
Rdwm.suckless.org/patches/color_status_bar.md -> dwm.suckless.org/patches/historical/color_status_bar.md | 0
Rdwm.suckless.org/patches/colored_status_text.md -> dwm.suckless.org/patches/historical/colored_status_text.md | 0
Rdwm.suckless.org/patches/dwm-5.2-colorstatus.diff -> dwm.suckless.org/patches/historical/dwm-5.2-colorstatus.diff | 0
Rdwm.suckless.org/patches/dwm-5.2-colorstatus.xinitrc -> dwm.suckless.org/patches/historical/dwm-5.2-colorstatus.xinitrc | 0
Rdwm.suckless.org/patches/dwm-5.2-gaplessgrid.diff -> dwm.suckless.org/patches/historical/dwm-5.2-gaplessgrid.diff | 0
Rdwm.suckless.org/patches/dwm-5.2-pertag.diff -> dwm.suckless.org/patches/historical/dwm-5.2-pertag.diff | 0
Rdwm.suckless.org/patches/dwm-5.3.1-statuscolors.diff -> dwm.suckless.org/patches/historical/dwm-5.3.1-statuscolors.diff | 0
Rdwm.suckless.org/patches/dwm-5.3.1-statuscolors.png -> dwm.suckless.org/patches/historical/dwm-5.3.1-statuscolors.png | 0
Rdwm.suckless.org/patches/dwm-5.4-pertag.diff -> dwm.suckless.org/patches/historical/dwm-5.4-pertag.diff | 0
Rdwm.suckless.org/patches/dwm-r1437-gaplessgrid.diff -> dwm.suckless.org/patches/historical/dwm-r1437-gaplessgrid.diff | 0
Cdwm.suckless.org/patches/fibonacci.md -> dwm.suckless.org/patches/historical/fibonacci.md | 0
Rdwm.suckless.org/patches/float_border_color.md -> dwm.suckless.org/patches/historical/float_border_color.md | 0
Cdwm.suckless.org/patches/gapless_grid.md -> dwm.suckless.org/patches/historical/gapless_grid.md | 0
Rdwm.suckless.org/patches/gridmode.md -> dwm.suckless.org/patches/historical/gridmode.md | 0
Adwm.suckless.org/patches/historical/index.md | 10++++++++++
Rdwm.suckless.org/patches/mouseontitle.md -> dwm.suckless.org/patches/historical/mouseontitle.md | 0
Rdwm.suckless.org/patches/moveresize.md -> dwm.suckless.org/patches/historical/moveresize.md | 0
Cdwm.suckless.org/patches/movestack.md -> dwm.suckless.org/patches/historical/movestack.md | 0
Rdwm.suckless.org/patches/nmaster+bstack-5.6.1.diff -> dwm.suckless.org/patches/historical/nmaster+bstack-5.6.1.diff | 0
Cdwm.suckless.org/patches/nmaster.md -> dwm.suckless.org/patches/historical/nmaster.md | 0
Rdwm.suckless.org/patches/pertag.md -> dwm.suckless.org/patches/historical/pertag.md | 0
Rdwm.suckless.org/patches/push-5.3.c -> dwm.suckless.org/patches/historical/push-5.3.c | 0
Rdwm.suckless.org/patches/push-5.6.c -> dwm.suckless.org/patches/historical/push-5.6.c | 0
Cdwm.suckless.org/patches/push.md -> dwm.suckless.org/patches/historical/push.md | 0
Rdwm.suckless.org/patches/raiselower.md -> dwm.suckless.org/patches/historical/raiselower.md | 0
Rdwm.suckless.org/patches/save_floats.md -> dwm.suckless.org/patches/historical/save_floats.md | 0
Rdwm.suckless.org/patches/tagall.md -> dwm.suckless.org/patches/historical/tagall.md | 0
Rdwm.suckless.org/patches/taglayouts.md -> dwm.suckless.org/patches/historical/taglayouts.md | 0
Rdwm.suckless.org/patches/tilemovemouse.md -> dwm.suckless.org/patches/historical/tilemovemouse.md | 0
Rdwm.suckless.org/patches/workspaces.md -> dwm.suckless.org/patches/historical/workspaces.md | 0
Mdwm.suckless.org/patches/index.md | 10----------
Ddwm.suckless.org/patches/monocle_count.md | 12------------
Mdwm.suckless.org/patches/movestack.md | 4++--
Adwm.suckless.org/patches/nmaster-sym.c | 130+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adwm.suckless.org/patches/nmaster.c | 122+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mdwm.suckless.org/patches/nmaster.md | 91++++++++++++++++++++++++++++++++++++++++---------------------------------------
Rdwm.suckless.org/patches/push-5.6.c -> dwm.suckless.org/patches/push.c | 0
Mdwm.suckless.org/patches/push.md | 16++++++++--------
Rdwm.suckless.org/patches/email_notifier_script.md -> dwm.suckless.org/scripts/email_notifier_script.md | 0
Alibs.suckless.org/_werc/lib/top_bar.inc | 13+++++++++++++
Mlibs.suckless.org/index.md | 2--
Aman.suckless.org/_werc/lib/top_bar.inc | 13+++++++++++++
Mst.suckless.org/_werc/config | 2+-
Ast.suckless.org/_werc/lib/top_bar.inc | 13+++++++++++++
Mst.suckless.org/index.md | 9++-------
Msuckless.org/_werc/config | 18++++++++++++++++--
Asuckless.org/_werc/lib/top_bar.inc | 13+++++++++++++
Dsuckless.org/common/project_ideas.md | 181-------------------------------------------------------------------------------
Rsuckless.org/common/community.md -> suckless.org/community.md | 0
Rsuckless.org/common/bugs.md -> suckless.org/devel/bugs.md | 0
Rsuckless.org/common/faq.md -> suckless.org/devel/faq.md | 0
Asuckless.org/devel/index.md | 3+++
Rsuckless.org/common/patches.md -> suckless.org/devel/patches.md | 0
Rsuckless.org/common/style_guide.md -> suckless.org/devel/style_guide.md | 0
Rsuckless.org/common/donations.md -> suckless.org/donations.md | 0
Rsuckless.org/common/dynamic_window_management.md -> suckless.org/manifest/dynamic_window_management.md | 0
Rsuckless.org/common/index.md -> suckless.org/manifest/index.md | 0
Rsuckless.org/common/broken_programs.md -> suckless.org/misc/broken_programs.md | 0
Rsuckless.org/common/cool_programs.md -> suckless.org/misc/cool_programs.md | 0
Asuckless.org/misc/index.md | 3+++
Rsuckless.org/common/other_projects.md -> suckless.org/other_projects.md | 0
Asuckless.org/people/Pancake.md | 6++++++
Asuckless.org/project_ideas.md | 181+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Rsuckless.org/wiki/sandbox.md -> suckless.org/wiki/sandbox/index.md | 0
Asuckless.org/wiki/sandbox/submenu1/subsubmenu1/index.md | 1+
Asuckless.org/wiki/sandbox/submenu1/subsubmenu2/index.md | 1+
Asuckless.org/wiki/sandbox/submenu1/subsubmenu3/index.md | 1+
Asuckless.org/wiki/sandbox/submenu1/subsubmenu4/index.md | 1+
Asuckless.org/wiki/sandbox/submenu2/subsubmenu1/index.md | 1+
Asuckless.org/wiki/sandbox/submenu2/subsubmenu2/index.md | 1+
Asuckless.org/wiki/sandbox/submenu2/subsubmenu3/index.md | 1+
Asuckless.org/wiki/sandbox/submenu3/subsubmenu1/index.md | 1+
Asuckless.org/wiki/sandbox/submenu3/subsubmenu2/index.md | 1+
Msurf.suckless.org/_werc/config | 3++-
Asurf.suckless.org/_werc/lib/top_bar.inc | 13+++++++++++++
Msurf.suckless.org/index.md | 10++--------
Dsurf.suckless.org/surf.gif | 0
Asurf.suckless.org/surf.png | 0
Mtools.suckless.org/9base.md | 10+++++++---
Atools.suckless.org/_werc/lib/top_bar.inc | 13+++++++++++++
Mtools.suckless.org/dmenu.md | 143++-----------------------------------------------------------------------------
Mtools.suckless.org/ii.md | 2+-
Mtools.suckless.org/sic.md | 79+++++--------------------------------------------------------------------------
Mtools.suckless.org/slock.md | 4++--
Awmi.suckless.org/_werc/lib/top_bar.inc | 13+++++++++++++
Mwmi.suckless.org/index.md | 27++++++++++++++++-----------
Mwmii.suckless.org/_werc/config | 1+
Awmii.suckless.org/_werc/lib/top_bar.inc | 13+++++++++++++
Mwmii.suckless.org/index.md | 5-----
Dwmii.suckless.org/wmii.gif | 0
Awmii.suckless.org/wmii.png | 0
114 files changed, 1125 insertions(+), 912 deletions(-)

diff --git a/default.suckless.org/_werc/lib/footer.inc b/default.suckless.org/_werc/lib/footer.inc @@ -1,26 +1,13 @@ -<br class="doNotDisplay doNotPrint" /> - -<div class="left"><a href="http://werc.cat-v.org/">Powered by werc</a></div> - +<div class="left"> + <a href="http://werc.cat-v.org/">Powered by werc</a> +</div> <div class="right"> -<form action="http://www.google.com/cse" id="cse-search-box" style="display: in -line"> - <div style="display: inline"> - <input type="hidden" name="cx" value="001621472792195143094:yaf_hfror00"/> - <input type="hidden" name="ie" value="UTF-8" /> - <input type="text" name="q" size="32" /> - <input type="submit" name="sa" value="Search" /> - </div> -</form> -<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-search-box&lang=en"></script> + <form action="http://www.google.com/cse" id="cse-search-box"> + <div> + <input type="hidden" name="cx" value="001621472792195143094:yaf_hfror00" /> + <input type="hidden" name="ie" value="UTF-8" /> + <input type="text" name="q" size="31" /> + <input type="submit" name="sa" value="Search" /> + </div> + </form> </div> - -<script type="text/javascript"> -var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); -document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); -</script> -<script type="text/javascript"> -var pageTracker = _gat._getTracker("UA-4071820-1"); -pageTracker._initData(); -pageTracker._trackPageview(); -</script> diff --git a/default.suckless.org/_werc/lib/sitemap.tpl b/default.suckless.org/_werc/lib/sitemap.tpl @@ -0,0 +1,67 @@ +<h1>Site map</h1> + +%{ +tmpfile=/tmp/werc_sitemap_$pid.txt +tmpfilex=/tmp/werc_sitemapx_$pid.txt +saveddf=$dirfilter + +MON2NUM='s/Jan/01/; s/Feb/02/; s/Mar/03/; s/Apr/04/; s/May/05/; s/Jun/06/; s/Jul/07/; s/Aug/08/; s/Sep/09/; s/Oct/10/; s/Nov/11/; s/Dec/12/;' + +fn get_mdate { + t=`{mtime $1} + t=`{date $t(1) | sed -e $MON2NUM -e 's/ ([0-9]) / 0\1 /g'} # Make sure day of the month is two digits. + echo $t(6)^'-'^$t(2)^'-'^$t(3) +} + +fn listDir { + d=$1 + dirfilter=$saveddf + if(test -f $d/_werc/config) + . ./$d/_werc/config + + if(~ $#perm_redir_to 0) { + echo '<ul class="sitemap-list">' + + for(i in `{ls -dF $d^*/ $d^*.md $d^*.html $d^*.txt >[2]/dev/null | sed $dirfilter}) { + desc=`{get_file_title $i} + u=`{echo $i|sed 's!'$sitedir'!!; '$dirclean's!/index$!/!; '} + if(! ~ $#desc 0 && ! ~ $desc '') + desc=' - '$"desc + n=`{echo /$u|sed 's/[\-_]/ /g; s,.*/([^/]+)/?$,\1,'} + echo '<li><a href="'$u'">'^$"n^'</a>' $"desc '</li>' + echo $base_url^$u >> $tmpfile + echo '<url><loc>'$base_url^$u'</loc><lastmod>'^`{get_mdate $i}^'</lastmod></url>' >> $tmpfilex + if(test -d $i) + @{ listDir $i } + } + echo '</ul>' + } +} + + +fltr_cache listDir $sitedir/ + +if(test -s $tmpfile) { + mv $tmpfile $sitedir/sitemap.txt & +} +if not if(test -f $tmpfile) + rm $tmpfile + +if(test -s $tmpfilex) { + { + echo '<?xml version="1.0" encoding="UTF-8"?> +<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' + + cat $tmpfilex + rm $tmpfilex & + echo '</urlset>' + # TODO Enable automaic search engine update notification. + #hget 'http://google.com/ping?sitemap='^`{url_encode $base_url'/sitemap.gz'} > /dev/null + + } | gzip > $sitedir/sitemap.gz & + #} > $sitedir/sitemap.xml & +} +if not if(test -f $tmpfilex) + rm $tmpfilex + +%} diff --git a/default.suckless.org/_werc/lib/top_bar.inc b/default.suckless.org/_werc/lib/top_bar.inc @@ -1,19 +0,0 @@ - <div class="left"> - <a href="http://suckless.org">home</a> &nbsp; - <a href="http://hg.suckless.org">code</a> &nbsp; - <a href="http://dl.suckless.org">download</a> &nbsp; - <a href="http://dwm.suckless.org">dwm</a> &nbsp; - <a href="http://libs.suckless.org">libs</a> &nbsp; - <a href="http://st.suckless.org">st</a> &nbsp; - <a href="http://surf.suckless.org">surf</a> &nbsp; - <a href="http://tools.suckless.org">tools</a> &nbsp; - <a href="http://wmii.suckless.org">wmii</a> &nbsp; - <a href="http://wmi.suckless.org">wmi</a> - </div> - - <div class="right"> - <span class="doNotDisplay">Related sites:</span> - <!-- | <a href="http://garbe.us/update_log">site updates</a> | --> - <a href="/sitemap">site map</a> - </div> - diff --git a/dwm.suckless.org/_werc/config b/dwm.suckless.org/_werc/config @@ -1,3 +1,4 @@ masterSite=default.suckless.org siteTitle='dwm' +siteImage='/dwm.png' siteSubTitle='dynamic window manager' diff --git a/dwm.suckless.org/_werc/lib/top_bar.inc b/dwm.suckless.org/_werc/lib/top_bar.inc @@ -0,0 +1,13 @@ + <ul> + <li><a href="http://suckless.org">home/</a></li> + <li><a href="http://hg.suckless.org">code</a></li> + <li><a href="http://dl.suckless.org">download</a></li> + <li><a href="http://man.suckless.org">man/</a></li> + <li class="thisPage"><a href="http://dwm.suckless.org">dwm/</a></li> + <li><a href="http://libs.suckless.org">libs/</a></li> + <li><a href="http://st.suckless.org">st</a></li> + <li><a href="http://surf.suckless.org">surf</a></li> + <li><a href="http://tools.suckless.org">tools/</a></li> + <li><a href="http://wmii.suckless.org">wmii/</a></li> + <li><a href="http://wmi.suckless.org">wmi/</a></li> + </ul> diff --git a/dwm.suckless.org/dwm.gif b/dwm.suckless.org/dwm.gif Binary files differ. diff --git a/dwm.suckless.org/dwm.png b/dwm.suckless.org/dwm.png Binary files differ. diff --git a/dwm.suckless.org/index.md b/dwm.suckless.org/index.md @@ -1,10 +1,3 @@ -![dwm](dwm.gif) - -DYNAMIC WINDOW MANAGER -====================== - -Description ------------ dwm is a dynamic window manager for X. It manages windows in tiled, monocle and floating layouts. Either layout can be applied dynamically, optimising the environment for the application in use and the task performed. @@ -47,7 +40,7 @@ In contrast to ion, larswm, and wmii, dwm is much smaller, faster and simpler. Links ----- -* [Man page](manpage) +* [Man page](http://man.suckless.org/dwm/1/dwm) * Mailing List: `dev+subscribe@suckless.org` ([Archives](http://lists.suckless.org/dev/)) ([Old Archives](http://lists.suckless.org/dwm/)) (see [community](http://suckless.org/common/community/) for details) * IRC channel: #suckless at irc.oftc.net ([irc log](TODO)) diff --git a/dwm.suckless.org/manpage.md b/dwm.suckless.org/manpage.md @@ -1,231 +0,0 @@ -<H1>DWM</H1> - -<H2>NAME</H2> - -dwm - dynamic window manager -<H2>SYNOPSIS</H2> - -<B>dwm</B> [<B>-v</B>] - -<H2>DESCRIPTION</H2> - -dwm is a dynamic window manager for X. It manages windows in tiled, monocle -and floating layouts. Either layout can be applied dynamically, optimising the -environment for the application in use and the task performed. -<P> - -In tiled layouts windows are managed in a master and stacking area. The master -area contains the window which currently needs most attention, whereas the -stacking area contains all other windows. In monocle layout all windows are -maximised to the screen size. In floating layout windows can be resized and -moved freely. Dialog windows are always managed floating, regardless of the -layout applied. -<P> - -Windows are grouped by tags. Each window can be tagged with one or multiple -tags. Selecting certain tags displays all windows with these tags. -<P> - -Each screen contains a small status bar which displays all available tags, the -layout, the number of visible windows, the title of the focused window, and the -text read from the root window name property, if the screen is focused. A -floating window is indicated with an empty square and a maximised floating -window is indicated with a filled square before the windows title. The -selected tags are indicated with a different color. The tags of the focused -window are indicated with a filled square in the top left corner. The tags -which are applied to one or more windows are indicated with an empty square in -the top left corner. -<P> - -dwm draws a small border around windows to indicate the focus state. -<H2>OPTIONS</H2> - -<DL COMPACT> -<DT><B>-v</B> - -<DD> -prints version information to standard output, then exits. -</DL> -<H2>USAGE</H2> - -<H3>Status bar</H3> - -<DL COMPACT> -<DT><B>X root window name</B> - -<DD> -is read and displayed in the status text area. It can be set with the -<B>xsetroot</B>(1) -command. -<DT><B>Button1</B> - -<DD> -click on a tag label to display all windows with that tag, click on the layout -label toggles between tiled and floating layout. -<DT><B>Button3</B> - -<DD> -click on a tag label adds/removes all windows with that tag to/from the view. -<DT><B>Mod1-Button1</B> - -<DD> -click on a tag label applies that tag to the focused window. -<DT><B>Mod1-Button3</B> - -<DD> -click on a tag label adds/removes that tag to/from the focused window. -</DL> -<H3>Keyboard commands</H3> - -<DL COMPACT> -<DT><B>Mod1-Shift-Return</B> - -<DD> -Start -<B>uxterm</B>(1). - -<DT><B>Mod1-,</B> - -<DD> -Focus previous screen, if any. -<DT><B>Mod1-.</B> - -<DD> -Focus next screen, if any. -<DT><B>Mod1-Shift-,</B> - -<DD> -Send focused window to previous screen, if any. -<DT><B>Mod1-Shift-.</B> - -<DD> -Send focused window to next screen, if any. -<DT><B>Mod1-b</B> - -<DD> -Toggles bar on and off. -<DT><B>Mod1-t</B> - -<DD> -Sets tiled layout. -<DT><B>Mod1-f</B> - -<DD> -Sets floating layout. -<DT><B>Mod1-m</B> - -<DD> -Sets monocle layout. -<DT><B>Mod1-space</B> - -<DD> -Toggles between current and previous layout. -<DT><B>Mod1-j</B> - -<DD> -Focus next window. -<DT><B>Mod1-k</B> - -<DD> -Focus previous window. -<DT><B>Mod1-h</B> - -<DD> -Decrease master area size. -<DT><B>Mod1-l</B> - -<DD> -Increase master area size. -<DT><B>Mod1-Return</B> - -<DD> -Zooms/cycles focused window to/from master area (tiled layouts only). -<DT><B>Mod1-Shift-c</B> - -<DD> -Close focused window. -<DT><B>Mod1-Shift-space</B> - -<DD> -Toggle focused window between tiled and floating state. -<DT><B>Mod1-Tab</B> - -<DD> -Toggles to the previously selected tags. -<DT><B>Mod1-Shift-[1..n]</B> - -<DD> -Apply nth tag to focused window. -<DT><B>Mod1-Shift-0</B> - -<DD> -Apply all tags to focused window. -<DT><B>Mod1-Control-Shift-[1..n]</B> - -<DD> -Add/remove nth tag to/from focused window. -<DT><B>Mod1-[1..n]</B> - -<DD> -View all windows with nth tag. -<DT><B>Mod1-0</B> - -<DD> -View all windows with any tag. -<DT><B>Mod1-Control-[1..n]</B> - -<DD> -Add/remove all windows with nth tag to/from the view. -<DT><B>Mod1-Shift-q</B> - -<DD> -Quit dwm. -</DL> -<H3>Mouse commands</H3> - -<DL COMPACT> -<DT><B>Mod1-Button1</B> - -<DD> -Move focused window while dragging. Tiled windows will be toggled to the floating state. -<DT><B>Mod1-Button2</B> - -<DD> -Toggles focused window between floating and tiled state. -<DT><B>Mod1-Button3</B> - -<DD> -Resize focused window while dragging. Tiled windows will be toggled to the floating state. -</DL> -<H2>CUSTOMIZATION</H2> - -dwm is customized by creating a custom config.h and (re)compiling the source -code. This keeps it fast, secure and simple. -<H2>SEE ALSO</H2> - -<B><A HREF="http://tools.suckless.org/dmenu">dmenu</A></B>(1) - -<H2>BUGS</H2> - -Java applications which use the XToolkit/XAWT backend may draw grey windows -only. The XToolkit/XAWT backend breaks ICCCM-compliance in recent JDK 1.5 and early -JDK 1.6 versions, because it assumes a reparenting window manager. Possible workarounds -are using JDK 1.4 (which doesn't contain the XToolkit/XAWT backend) or setting the -environment variable -<B>AWT_TOOLKIT=MToolkit</B> -(to use the older Motif backend instead) or running -<B>xprop -root -f _NET_WM_NAME 32a -set _NET_WM_NAME LG3D</B> -or -<B>wmname LG3D</B> -(to pretend that a non-reparenting window manager is running that the -XToolkit/XAWT backend can recognize) or when using OpenJDK setting the environment variable -<B>_JAVA_AWT_WM_NONREPARENTING=1</B>. - -<P> - -GTK 2.10.9+ versions contain a broken <B>Save-As</B> file dialog implementation, -which requests to reconfigure its window size in an endless loop. However, its -window is still respondable during this state, so you can simply ignore the flicker -until a new GTK version appears, which will fix this bug, approximately -GTK 2.10.12+ versions. -<P> diff --git a/dwm.suckless.org/patches/attachaside-5.6.1.diff b/dwm.suckless.org/patches/attachaside-5.6.1.diff @@ -0,0 +1,38 @@ +diff -r 9f79d36bd5e0 dwm.c +--- a/dwm.c Tue Sep 08 13:33:58 2009 +0100 ++++ b/dwm.c Tue Sep 15 14:19:26 2009 +0200 +@@ -153,6 +153,7 @@ + static Bool applysizehints(Client *c, int *x, int *y, int *w, int *h, Bool interact); + static void arrange(void); + static void attach(Client *c); ++static void attachaside(Client *c); + static void attachstack(Client *c); + static void buttonpress(XEvent *e); + static void checkotherwm(void); +@@ -397,6 +398,17 @@ + } + + void ++attachaside(Client *c) { ++ Client *at = nexttiled(c->mon->clients);; ++ if(c->mon->sel == NULL || c->mon->sel->isfloating || !at) { ++ attach(c); ++ return; ++ } ++ c->next = at->next; ++ at->next = c; ++} ++ ++void + attachstack(Client *c) { + c->snext = c->mon->stack; + c->mon->stack = c; +@@ -1105,7 +1117,7 @@ + c->isfloating = trans != None || c->isfixed; + if(c->isfloating) + XRaiseWindow(dpy, c->win); +- attach(c); ++ attachaside(c); + attachstack(c); + XMoveResizeWindow(dpy, c->win, c->x + 2 * sw, c->y, c->w, c->h); /* some windows require this */ + XMapWindow(dpy, c->win); diff --git a/dwm.suckless.org/patches/attachaside.md b/dwm.suckless.org/patches/attachaside.md @@ -0,0 +1,51 @@ +# ATTACHASIDE + +## Description + +Make new client get attached and focused in the stacking area instead of +always becoming the new master. +Basically an attachabove mod. + +## Example + + Original behaviour : + +-----------------+-------+ + | | | + | | P | + | | | + | N +-------| + | | | + | | | + | | | + +-----------------+-------+ + + + New Behaviour : + +-----------------+-------+ + | | | + | | N | + | | | + | P +-------+ + | | | + | | | + | | | + +-----------------+-------+ + + + +-----------------+-------+ + | | | + | | P | + | | | + | +-------+ + | | | + | | N | + | | | + +-----------------+-------+ + +## Download + + * [attachaside-5.6.1.diff](attachaside-5.6.1.diff) (1.1K) (20090915) + +## Author + + * Jerome Andrieux - <jerome@gcu.info> diff --git a/dwm.suckless.org/patches/bottom_stack.md b/dwm.suckless.org/patches/bottom_stack.md @@ -1,12 +1,25 @@ -BOTTOM STACK PATCH -================== +BOTTOM STACK +============ Description ----------- -This patch provides an additional bottom stack layout for the dwm window manager. (It no longer includes code for 'tileleft' or 'bstacklandscape'). Use 'patch -p0' when patching. +`bstack` and `bstackhoriz` are two bottom stack layouts for dwm. -Bottom Stack Tiling: --------------------- +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) +-----------------+ @@ -18,7 +31,18 @@ Bottom Stack Tiling: | | | | +-----+-----+-----+ + bstackhoriz (===) + +-----------------+ + | | + | | + | | + +-----------------+ + +-----------------+ + +-----------------+ + +-----------------+ + Download -------- -* [dwm-5.6.1-bstack.diff](http://bsdgroup.org/files/dwm-5.6.1-bstack.diff) (2k) (20090726) -* [dwm-5.5-bstack.diff](http://bsdgroup.org/files/dwm-5.5-bstack.diff) (2k) (20090307) +* [bstack.c](bstack.c) (dwm 5.6.1) (20090908) +* [bstackhoriz.c](bstackhoriz.c) (dwm 5.6.1) (20090908) +* see older versions in [historical patches](historical) diff --git a/dwm.suckless.org/patches/bstack.c b/dwm.suckless.org/patches/bstack.c @@ -0,0 +1,29 @@ +static void +bstack(Monitor *m) { + int x, y, h, w, mh; + unsigned int i, n; + Client *c; + + for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); + if(n == 0) + return; + /* master */ + c = nexttiled(m->clients); + mh = m->mfact * m->wh; + resize(c, m->wx, m->wy, m->ww - 2 * c->bw, (n == 1 ? m->wh : mh) - 2 * c->bw, False); + if(--n == 0) + return; + /* tile stack */ + x = m->wx; + y = (m->wy + mh > c->y + c->h) ? c->y + c->h + 2 * c->bw : m->wy + mh; + w = m->ww / n; + h = (m->wy + mh > c->y + c->h) ? m->wy + m->wh - y : m->wh - mh; + if(w < bh) + w = m->ww; + for(i = 0, c = nexttiled(c->next); c; c = nexttiled(c->next), i++) { + resize(c, x, y, /* remainder */ ((i + 1 == n) + ? m->wx + m->ww - x - 2 * c->bw : w - 2 * c->bw), h - 2 * c->bw, False); + if(w != m->ww) + x = c->x + WIDTH(c); + } +} diff --git a/dwm.suckless.org/patches/bstackhoriz.c b/dwm.suckless.org/patches/bstackhoriz.c @@ -0,0 +1,30 @@ +static void +bstackhoriz(Monitor *m) { + int x, y, h, w, mh; + unsigned int i, n; + Client *c; + + for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); + if(n == 0) + return; + /* master */ + c = nexttiled(m->clients); + mh = m->mfact * m->wh; + resize(c, m->wx, m->wy, m->ww - 2 * c->bw, (n == 1 ? m->wh : mh) - 2 * c->bw, False); + if(--n == 0) + return; + /* tile stack */ + x = m->wx; + y = (m->wy + mh > c->y + c->h) ? c->y + c->h + 2 * c->bw : m->wy + mh; + w = m->ww; + h = (m->wy + mh > c->y + c->h) ? m->wy + m->wh - y : m->wh - mh; + h /= n; + if(h < bh) + h = m->wh; + for(i = 0, c = nexttiled(c->next); c; c = nexttiled(c->next), i++) { + resize(c, x, y, w - 2 * c->bw, /* remainder */ ((i + 1 == n) + ? m->wy + m->wh - y - 2 * c->bw : h - 2 * c->bw), False); + if(h != m->wh) + y = c->y + HEIGHT(c); + } +} diff --git a/dwm.suckless.org/patches/clientspertag.md b/dwm.suckless.org/patches/clientspertag.md @@ -1,54 +1,48 @@ -LIMIT CLIENTS PER TAG PATCH -=========================== +# CLIENTS PER TAG -Last update: 2007-10-25 +## Description -See [nmaster][2] for cpt on dwm-4.6. +This patch modifies the tile() layout to limit the maximum number of visible +clients per tag. Out-of-limit windows are arranged behind the visible ones +in the slave area. -This patch allows you to limit the number of clients to be shown. -This restriction only affects non-floating windows. -This patch can be used as a 'set' or 'toggle' mode. + +-----------------------+ +-----------------------+ + | -1/3 | | 2/3 | + +-----------+-----------+ +-----------+-----------+ + | | | | | | + | | 2 | | | | + | | | | | | + | 1 +-----------+ | 1 | 2 | + | | | | | | + | | 3 | | | | + | | | | | | + +-----------+-----------+ +-----------+-----------+ + cpt=-1 cpt=2 -Tips ----- +## Usage -* To show all windows put "-1" as argument value. -* To only display floating windows put "0" as argument. -* For a toggling pair put "^2". + 1. Download the patch and apply according to the [general instructions](.). + 2. The patch adds two new keybindings (META-q/a) which set cpt to ^2 and ^3: -Configuration -------------- +If the argument to 'clientspertag' starts with '^' pressing twice the key +will result on swapping between the defined value and -1. -The MODKEY+w toggles between two visible tiled windows and MODKEY+SHIFT+w hides all tiled windows. + * To show all windows put "-1" as argument value. + * To only display floating windows put "0" as argument. + * For a toggling pair put "^2". - { MODKEY|ShiftMask, XK_q, clientspertag, "0" }, \ - { MODKEY, XK_q, clientspertag, "^1" }, \ - { MODKEY, XK_w, clientspertag, "^2" }, \ - { MODKEY, XK_e, clientspertag, "^3" }, \ + static Key keys[] = { + /* modifier key function argument */ + ... + { MODKEY, XK_q, clientspertag, {.v="^2"} }, + { MODKEY, XK_a, clientspertag, {.v="^3"} }, + }; -Download --------- +## Download -You can download this patch [dwm-4.4-cpt.patch](http://news.nopcode.org/dwm-4.4-cpt.patch) (3K) + * [dwm-5.6.1-cpt.diff](dwm-5.6.1-cpt.diff) (2.9k) (20090913) -See [nmaster][1] for dwm-4.6. - -Here's a [patch][2] from <i>Ritesh Kumar</i> that modifies dwm.c to show cpt and total number of clients in the statusbar. - -TODO ----- - -* Maybe it should be renamed to "tiledlimit" or "clientslimit". -* Think about a way to make the focused client always visible (enhanced monocle patch?) - -Feedback is welcome :) - -AUTHOR ------- - -* pancake -- pancake /at/ youterm /dot/ com - -[1]: /dwm/patches/nmaster.html -[2]: http://news.nopcode.org/cptdwm-4.6.diff +## Maintainer + * pancake - <pancake@nopcode.org> diff --git a/dwm.suckless.org/patches/dwm-5.2-monocle_count.diff b/dwm.suckless.org/patches/dwm-5.2-monocle_count.diff @@ -1,32 +0,0 @@ ---- dwm-5.2/dwm.c 2008-09-09 21:46:17.000000000 +0200 -+++ dwm-5.2-monocle_count/dwm.c 2008-10-13 00:04:38.000000000 +0200 -@@ -491,7 +491,8 @@ - - void - drawbar(void) { -- int x; -+ int x, a= 0, s= 0; -+ char posbuf[10]; - unsigned int i, occ = 0, urg = 0; - unsigned long *col; - Client *c; -@@ -517,6 +518,19 @@ - } - else - x = dc.x; -+ if(lt[sellt]->arrange == monocle){ -+ dc.x= x; -+ for(c= nexttiled(clients), a= 0, s= 0; c; c= nexttiled(c->next), a++) -+ if(c == stack) -+ s= a; -+ if(!s && a) -+ s= a; -+ snprintf(posbuf, LENGTH(posbuf), "[%d/%d]", s, a); -+ dc.w= TEXTW(posbuf); -+ drawtext(posbuf, dc.norm, False); -+ x= dc.x + dc.w; -+ } -+ - dc.w = TEXTW(stext); - dc.x = ww - dc.w; - if(dc.x < x) { diff --git a/dwm.suckless.org/patches/dwm-5.6.1-cpt.diff b/dwm.suckless.org/patches/dwm-5.6.1-cpt.diff @@ -0,0 +1,71 @@ +diff -ru dwm-5.6.1/dwm.c dwm-5.6.1-cpt/dwm.c +--- dwm-5.6.1/dwm.c 2009-07-26 15:01:50.000000000 +0200 ++++ dwm-5.6.1-cpt/dwm.c 2009-09-13 18:08:50.000000000 +0200 +@@ -268,12 +268,23 @@ + static Window root; + + /* configuration, allows nested code to access above variables */ ++static int cpt = -1; ++static void clientspertag(const Arg *arg) { ++ const char *cmd = (const char *)arg->v; ++ if (cmd[0]=='^') { ++ if (cpt==-1) cpt = atoi(cmd+1); ++ else if (cpt==atoi(cmd+1)) cpt = -1; ++ else cpt = atoi(cmd+1); ++ } else cpt = atoi(cmd); ++ arrange(); ++} + #include "config.h" + + /* compile-time check if all tags fit into an unsigned int bit array. */ + struct NumTags { char limitexceeded[LENGTH(tags) > 31 ? -1 : 1]; }; + + /* function implementations */ ++ + void + applyrules(Client *c) { + const char *class, *instance; +@@ -674,7 +685,7 @@ + drawtext(m->lt[m->sellt]->symbol, dc.norm, False); + dc.x += dc.w; + } +- snprintf(ntext, sizeof ntext, "%u", n); ++ snprintf(ntext, sizeof ntext, "%d/%u", cpt, n); + dc.w = TEXTW(ntext); + drawtext(ntext, dc.norm, False); + x = (dc.x += dc.w); +@@ -1435,6 +1446,7 @@ + sw = DisplayWidth(dpy, screen); + sh = DisplayHeight(dpy, screen); + bh = dc.h = dc.font.height + 2; ++ cpt = -1; + updategeom(); + /* init atoms */ + wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False); +@@ -1549,6 +1561,7 @@ + for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); + if(n == 0) + return; ++ if (cpt!=-1 && n>cpt) n = cpt; + /* master */ + c = nexttiled(m->clients); + mw = m->mfact * m->ww; +@@ -1563,10 +1576,15 @@ + if(h < bh) + h = m->wh; + for(i = 0, c = nexttiled(c->next); c; c = nexttiled(c->next), i++) { +- resize(c, x, y, w - 2 * c->bw, /* remainder */ ((i + 1 == n) +- ? m->wy + m->wh - y - 2 * c->bw : h - 2 * c->bw), False); +- if(h != m->wh) +- y = c->y + HEIGHT(c); ++ if (cpt!=-1 && i>=cpt) { ++ resize(c, x, m->wy, w - 2 * c->bw, /* remainder */ ((i + 1 == n) ++ ? m->wy + m->wh - y - 2 * c->bw : h - 2 * c->bw), False); ++ } else { ++ resize(c, x, y, w - 2 * c->bw, /* remainder */ ((i + 1 == n) ++ ? m->wy + m->wh - y - 2 * c->bw : h - 2 * c->bw), False); ++ if(h != m->wh) ++ y = c->y + HEIGHT(c); ++ } + } + } diff --git a/dwm.suckless.org/patches/fibonacci.md b/dwm.suckless.org/patches/fibonacci.md @@ -40,19 +40,17 @@ arrangement can be seen below. ## Download - * [dwm-5.2-fibonacci.diff][5] (1.9k) (20081003) - * [dwm-5.1-fibonacci.diff][3] (1.9k) (20080731) + * [dwm-5.6.1-fibonacci.diff][4] (1.9k) (20090911) -## Author +## Maintainer - * Jeroen Schot - <schot@a-eskwadraat.nl> + * Niki Yoshiuchi - <aplusbi@gmail.com> -Joe Thornber's spiral tiling for [Xmonad][4] formed the inspiration for this +Joe Thornber's spiral tiling for [Xmonad][3] 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 +[3]: http://www.xmonad.org +[4]: http://www.aplusbi.com/projects/dwm/dwm-5.6.1-fibonacci.diff diff --git a/dwm.suckless.org/patches/gapless_grid.md b/dwm.suckless.org/patches/gapless_grid.md @@ -1,34 +1,30 @@ -# GAPLESS GRID LAYOUT # +# GAPLESS GRID LAYOUT -## Description ## +## Description -This patch is similar to [gridmode][1] (in fact it is an altered version) in that it provides a layout for dwm, which arranges the windows in a grid. Though instead of using a regular grid, which in case leaves empty cells (e. g. with 3 windows there are 4 cells, one cell is empty), it uses the same number of columns, but adjusts the number of rows (at first x rows and (x+1) rows, when needed) leaving no empty cells. +This patch is an altered [gridmode](../historical/gridmode) layout for dwm, +which arranges the windows in a grid. +Instead of using a regular grid, which might leave empty cells when there are +not enough windows to fill the grid, it adjusts the number of windows in the +first few columns to avoid empty cells. +## Usage -## Usage ## +Download `gaplessgrid.c` and add the gapless layout to your `config.h`: -Download the patch and apply it according to the [general instructions](.). The patch will make the following changes: + #include "gaplessgrid.c" + + static const Layout layouts[] = { + /* symbol arrange function */ + { "###", gaplessgrid }, + ... + + static Key keys[] = { + /* modifier key function argument */ + { MODKEY, XK_g, setlayout, {.v = &layouts[0] } }, + ... - - gaplessgrid.c: adding the file - - config.def.h: adding the include-line for 'gaplessgrid.c' - - config.def.h: adding the layout '"###", gaplessgrid' - -Comment: There may be problems applying the patch, if another layout has been added before. - - -## Configuration ## - - * Transfer the changes made by the patch in 'config.def.h' to 'config.h', if needed. - * Add a key definition like '{ MODKEY, XK_g, setlayout, {.v = &layouts[3]} },'. - - -## Download ## - - * [dwm-5.2-gaplessgrid.diff][2] (1.9k) (20081020) - * [dwm-r1437-gaplessgrid.diff][3] (1.9k) (20090704) - - -[1]: /dwm/patches/gridmode.html -[2]: http://dwm.suckless.org/patches/dwm-5.2-gaplessgrid.diff -[3]: http://dwm.suckless.org/patches/dwm-r1437-gaplessgrid.diff +## Download +* [gaplessgrid.c](gaplessgrid.c) (dwm 5.6.1) (20090908) +* see [historical patches](historical) for older versoins diff --git a/dwm.suckless.org/patches/gaplessgrid.c b/dwm.suckless.org/patches/gaplessgrid.c @@ -0,0 +1,36 @@ +void +gaplessgrid(Monitor *m) { + unsigned int n, cols, rows, cn, rn, i, cx, cy, cw, ch; + Client *c; + + for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next)) + n++; + if(n == 0) + return; + + /* grid dimensions */ + for(cols = 0; cols <= n/2; cols++) + if(cols*cols >= n) + break; + if(n == 5) /* set layout against the general calculation: not 1:2:2, but 2:3 */ + cols = 2; + rows = n/cols; + + /* window geometries */ + cw = cols ? m->ww / cols : m->ww; + cn = 0; /* current column number */ + rn = 0; /* current row number */ + for(i = 0, c = nexttiled(m->clients); c; i++, c = nexttiled(c->next)) { + if(i/rows + 1 > cols - n%cols) + rows = n/cols + 1; + ch = rows ? m->wh / rows : m->wh; + cx = m->wx + cn*cw; + cy = m->wy + rn*ch; + resize(c, cx, cy, cw - 2 * c->bw, ch - 2 * c->bw, False); + rn++; + if(rn >= rows) { + rn = 0; + cn++; + } + } +} diff --git a/dwm.suckless.org/patches/altmovefocus.md b/dwm.suckless.org/patches/historical/altmovefocus.md diff --git a/dwm.suckless.org/patches/boldfont.md b/dwm.suckless.org/patches/historical/boldfont.md diff --git a/dwm.suckless.org/patches/bottom_stack.md b/dwm.suckless.org/patches/historical/bottom_stack.md diff --git a/dwm.suckless.org/patches/color_status_bar.md b/dwm.suckless.org/patches/historical/color_status_bar.md diff --git a/dwm.suckless.org/patches/colored_status_text.md b/dwm.suckless.org/patches/historical/colored_status_text.md diff --git a/dwm.suckless.org/patches/dwm-5.2-colorstatus.diff b/dwm.suckless.org/patches/historical/dwm-5.2-colorstatus.diff diff --git a/dwm.suckless.org/patches/dwm-5.2-colorstatus.xinitrc b/dwm.suckless.org/patches/historical/dwm-5.2-colorstatus.xinitrc diff --git a/dwm.suckless.org/patches/dwm-5.2-gaplessgrid.diff b/dwm.suckless.org/patches/historical/dwm-5.2-gaplessgrid.diff diff --git a/dwm.suckless.org/patches/dwm-5.2-pertag.diff b/dwm.suckless.org/patches/historical/dwm-5.2-pertag.diff diff --git a/dwm.suckless.org/patches/dwm-5.3.1-statuscolors.diff b/dwm.suckless.org/patches/historical/dwm-5.3.1-statuscolors.diff diff --git a/dwm.suckless.org/patches/dwm-5.3.1-statuscolors.png b/dwm.suckless.org/patches/historical/dwm-5.3.1-statuscolors.png Binary files differ. diff --git a/dwm.suckless.org/patches/dwm-5.4-pertag.diff b/dwm.suckless.org/patches/historical/dwm-5.4-pertag.diff diff --git a/dwm.suckless.org/patches/dwm-r1437-gaplessgrid.diff b/dwm.suckless.org/patches/historical/dwm-r1437-gaplessgrid.diff diff --git a/dwm.suckless.org/patches/fibonacci.md b/dwm.suckless.org/patches/historical/fibonacci.md diff --git a/dwm.suckless.org/patches/float_border_color.md b/dwm.suckless.org/patches/historical/float_border_color.md diff --git a/dwm.suckless.org/patches/gapless_grid.md b/dwm.suckless.org/patches/historical/gapless_grid.md diff --git a/dwm.suckless.org/patches/gridmode.md b/dwm.suckless.org/patches/historical/gridmode.md diff --git a/dwm.suckless.org/patches/historical/index.md b/dwm.suckless.org/patches/historical/index.md @@ -0,0 +1,10 @@ +This section contains patches for old versions of dwm. + +old offsite patches +------------------- +* [dwm-meillo](http://prog.marmaro.de/dwm-meillo/) +* [dwm-mitch](http://www.cgarbs.de/dwm-mitch.en.html) +* [fnegronidwm](http://sharesource.org/project/fnegronidwm/wiki/) +* [patches written by InfinityX](http://flash.metawaredesign.co.uk/4/) +* [display date](http://henry.precheur.org/2009/5/20/dwm%2C_display_date_patch_updated.html) +* [DWM-Hacked](http://sourceforge.net/projects/dwm-hacked/) diff --git a/dwm.suckless.org/patches/mouseontitle.md b/dwm.suckless.org/patches/historical/mouseontitle.md diff --git a/dwm.suckless.org/patches/moveresize.md b/dwm.suckless.org/patches/historical/moveresize.md diff --git a/dwm.suckless.org/patches/movestack.md b/dwm.suckless.org/patches/historical/movestack.md diff --git a/dwm.suckless.org/patches/nmaster+bstack-5.6.1.diff b/dwm.suckless.org/patches/historical/nmaster+bstack-5.6.1.diff diff --git a/dwm.suckless.org/patches/nmaster.md b/dwm.suckless.org/patches/historical/nmaster.md diff --git a/dwm.suckless.org/patches/pertag.md b/dwm.suckless.org/patches/historical/pertag.md diff --git a/dwm.suckless.org/patches/push-5.3.c b/dwm.suckless.org/patches/historical/push-5.3.c diff --git a/dwm.suckless.org/patches/push-5.6.c b/dwm.suckless.org/patches/historical/push-5.6.c diff --git a/dwm.suckless.org/patches/push.md b/dwm.suckless.org/patches/historical/push.md diff --git a/dwm.suckless.org/patches/raiselower.md b/dwm.suckless.org/patches/historical/raiselower.md diff --git a/dwm.suckless.org/patches/save_floats.md b/dwm.suckless.org/patches/historical/save_floats.md diff --git a/dwm.suckless.org/patches/tagall.md b/dwm.suckless.org/patches/historical/tagall.md diff --git a/dwm.suckless.org/patches/taglayouts.md b/dwm.suckless.org/patches/historical/taglayouts.md diff --git a/dwm.suckless.org/patches/tilemovemouse.md b/dwm.suckless.org/patches/historical/tilemovemouse.md diff --git a/dwm.suckless.org/patches/workspaces.md b/dwm.suckless.org/patches/historical/workspaces.md diff --git a/dwm.suckless.org/patches/index.md b/dwm.suckless.org/patches/index.md @@ -29,16 +29,6 @@ For tarballs: patch -p1 < path/to/patch.diff -offsite patches ---------------- -* [dwm-meillo](http://prog.marmaro.de/dwm-meillo/) -* [dwm-mitch](http://www.cgarbs.de/dwm-mitch.en.html) -* [fnegronidwm](http://sharesource.org/project/fnegronidwm/wiki/) -* [patches written by InfinityX](http://flash.metawaredesign.co.uk/4/) -* [display date](http://henry.precheur.org/2009/5/20/dwm%2C_display_date_patch_updated.html) -* [DWM-Hacked](http://sourceforge.net/projects/dwm-hacked/) -- (old) - - related projects ---------------- * [awesome](http://awesome.naquadah.org/) -- dwm fork with XCB, EWMH, Lua script, Xft, D-Bus, multihead.. support diff --git a/dwm.suckless.org/patches/monocle_count.md b/dwm.suckless.org/patches/monocle_count.md @@ -1,12 +0,0 @@ -MONOCLE STACK COUNT -==================== - -Description ------------ -This patch provides a count of the number of stacks as well as the number of the current windows in the stack. -This count is displayed in the statusbar as [CURRENT/TOTAL], e.g. [1/5], only when the monocle layout has been chosen. - -Download --------- -* [dwm-5.2-monocle_count.diff](http://dwm.suckless.org/patches/dwm-5.2-monocle_count.diff) -* [dwm-5.1-monocle_count.diff](http://v4hn.de/patches/dwm-5.1-monocle_count.diff) diff --git a/dwm.suckless.org/patches/movestack.md b/dwm.suckless.org/patches/movestack.md @@ -23,10 +23,10 @@ movestack(-1) will swap the client with the current focus with the previous clie ## Download - * [dwm-5.2-movestack.diff][1] (1.9k) (20081003) + * [dwm-5.6.1-movestack.diff][1] (2.4k) (20090911) ## Author * Niki Yoshiuchi - <aplusbi@gmail.com> -[1]: http://www.aplusbi.com/dwm/dwm-5.2-movestack.diff +[1]: http://www.aplusbi.com/projects/dwm/dwm-5.6.1-movestack.diff diff --git a/dwm.suckless.org/patches/nmaster-sym.c b/dwm.suckless.org/patches/nmaster-sym.c @@ -0,0 +1,130 @@ +enum {MaxMon = 8}; +static int nmasters[MaxMon]; +static int initnm = 0; + +static void +initnmaster(void) { + int i; + + if(initnm) + return; + for(i = 0; i < MaxMon; i++) + nmasters[i] = nmaster; + initnm = 1; +} + +static void +incnmaster(const Arg *arg) { + if(!arg || !selmon->lt[selmon->sellt]->arrange || selmon->num >= MaxMon) + return; + nmasters[selmon->num] += arg->i; + if(nmasters[selmon->num] < 0) + nmasters[selmon->num] = 0; + arrange(); +} + +static void +setnmaster(const Arg *arg) { + if(!arg || !selmon->lt[selmon->sellt]->arrange || selmon->num >= MaxMon) + return; + nmasters[selmon->num] = arg->i > 0 ? arg->i : 0; + arrange(); +} + +static void +ntile(Monitor *m) { + static char ntext[8]; + int x, y, h, w, mw, nm; + unsigned int i, n; + Client *c; + + initnmaster(); + /* override layout symbol */ + snprintf(ntext, sizeof ntext, "%d]=", nmasters[m->num]); + m->ltsymbol = ntext; + for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); + c = nexttiled(m->clients); + nm = m->num < MaxMon ? nmasters[m->num] : nmaster; + if(nm > n) + nm = n; + /* master */ + if(nm > 0) { + mw = m->mfact * m->ww; + h = m->wh / nm; + if(h < bh) + h = m->wh; + y = m->wy; + for(i = 0; i < nm; i++, c = nexttiled(c->next)) { + resize(c, m->wx, y, (n == nm ? m->ww : mw) - 2 * c->bw, + ((i + 1 == nm) ? m->wy + m->wh - y : h) - 2 * c->bw, False); + if(h != m->wh) + y = c->y + HEIGHT(c); + } + n -= nm; + } else + mw = 0; + if(n == 0) + return; + /* tile stack */ + x = m->wx + mw; + y = m->wy; + w = m->ww - mw; + h = m->wh / n; + if(h < bh) + h = m->wh; + for(i = 0; c; c = nexttiled(c->next), i++) { + resize(c, x, y, w - 2 * c->bw, + ((i + 1 == n) ? m->wy + m->wh - y : h) - 2 * c->bw, False); + if(h != m->wh) + y = c->y + HEIGHT(c); + } +} + +static void +nbstack(Monitor *m) { + static char ntext[8]; + int x, y, h, w, mh, nm; + unsigned int i, n; + Client *c; + + initnmaster(); + /* override layout symbol */ + snprintf(ntext, sizeof ntext, "T%dT", nmasters[m->num]); + m->ltsymbol = ntext; + for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); + c = nexttiled(m->clients); + nm = m->num < MaxMon ? nmasters[m->num] : nmaster; + if(nm > n) + nm = n; + /* master */ + if(nm > 0) { + mh = m->mfact * m->wh; + w = m->ww / nm; + if(w < bh) + w = m->ww; + x = m->wx; + for(i = 0; i < nm; i++, c = nexttiled(c->next)) { + resize(c, x, m->wy, ((i + 1 == nm) ? m->wx + m->ww - x : w) - 2 * c->bw, + (n == nm ? m->wh : mh) - 2 * c->bw, False); + if(w != m->ww) + x = c->x + WIDTH(c); + } + n -= nm; + } else + mh = 0; + if(n == 0) + return; + /* tile stack */ + x = m->wx; + y = m->wy + mh; + w = m->ww / n; + h = m->wh - mh; + if(w < bh) + w = m->ww; + for(i = 0; c; c = nexttiled(c->next), i++) { + resize(c, x, y, ((i + 1 == n) ? m->wx + m->ww - x : w) - 2 * c->bw, + h - 2 * c->bw, False); + if(w != m->ww) + x = c->x + WIDTH(c); + } +} diff --git a/dwm.suckless.org/patches/nmaster.c b/dwm.suckless.org/patches/nmaster.c @@ -0,0 +1,122 @@ +enum {MaxMon = 8}; +static int nmasters[MaxMon]; +static int initnm = 0; + +static void +initnmaster(void) { + int i; + + if(initnm) + return; + for(i = 0; i < MaxMon; i++) + nmasters[i] = nmaster; + initnm = 1; +} + +static void +incnmaster(const Arg *arg) { + if(!arg || !selmon->lt[selmon->sellt]->arrange || selmon->num >= MaxMon) + return; + nmasters[selmon->num] += arg->i; + if(nmasters[selmon->num] < 0) + nmasters[selmon->num] = 0; + arrange(); +} + +static void +setnmaster(const Arg *arg) { + if(!arg || !selmon->lt[selmon->sellt]->arrange || selmon->num >= MaxMon) + return; + nmasters[selmon->num] = arg->i > 0 ? arg->i : 0; + arrange(); +} + +static void +ntile(Monitor *m) { + int x, y, h, w, mw, nm; + unsigned int i, n; + Client *c; + + initnmaster(); + for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); + c = nexttiled(m->clients); + nm = m->num < MaxMon ? nmasters[m->num] : nmaster; + if(nm > n) + nm = n; + /* master */ + if(nm > 0) { + mw = m->mfact * m->ww; + h = m->wh / nm; + if(h < bh) + h = m->wh; + y = m->wy; + for(i = 0; i < nm; i++, c = nexttiled(c->next)) { + resize(c, m->wx, y, (n == nm ? m->ww : mw) - 2 * c->bw, + ((i + 1 == nm) ? m->wy + m->wh - y : h) - 2 * c->bw, False); + if(h != m->wh) + y = c->y + HEIGHT(c); + } + n -= nm; + } else + mw = 0; + if(n == 0) + return; + /* tile stack */ + x = m->wx + mw; + y = m->wy; + w = m->ww - mw; + h = m->wh / n; + if(h < bh) + h = m->wh; + for(i = 0; c; c = nexttiled(c->next), i++) { + resize(c, x, y, w - 2 * c->bw, + ((i + 1 == n) ? m->wy + m->wh - y : h) - 2 * c->bw, False); + if(h != m->wh) + y = c->y + HEIGHT(c); + } +} + +static void +nbstack(Monitor *m) { + int x, y, h, w, mh, nm; + unsigned int i, n; + Client *c; + + initnmaster(); + for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); + c = nexttiled(m->clients); + nm = m->num < MaxMon ? nmasters[m->num] : nmaster; + if(nm > n) + nm = n; + /* master */ + if(nm > 0) { + mh = m->mfact * m->wh; + w = m->ww / nm; + if(w < bh) + w = m->ww; + x = m->wx; + for(i = 0; i < nm; i++, c = nexttiled(c->next)) { + resize(c, x, m->wy, ((i + 1 == nm) ? m->wx + m->ww - x : w) - 2 * c->bw, + (n == nm ? m->wh : mh) - 2 * c->bw, False); + if(w != m->ww) + x = c->x + WIDTH(c); + } + n -= nm; + } else + mh = 0; + if(n == 0) + return; + /* tile stack */ + x = m->wx; + y = m->wy + mh; + w = m->ww / n; + h = m->wh - mh; + if(w < bh) + w = m->ww; + for(i = 0; c; c = nexttiled(c->next), i++) { + resize(c, x, y, ((i + 1 == n) ? m->wx + m->ww - x : w) - 2 * c->bw, + h - 2 * c->bw, False); + if(w != m->ww) + x = c->x + WIDTH(c); + } +} diff --git a/dwm.suckless.org/patches/nmaster.md b/dwm.suckless.org/patches/nmaster.md @@ -5,54 +5,55 @@ 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. + ntile (-|=) + +----------+------+ + | | | + | +------+ + |----------| | + | +------+ + | | | + +----------+------+ + + nbstack (-|-) + +--------+--------+ + | | | + | | | + |-----+--+--+-----+ + | | | | + | | | | + +-----+-----+-----+ ## 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.c` into the source directory of dwm. +* Add `nmaster` default value to your `config.h`. +* Include `nmaster.c` in `config.h` after the definition of `nmaster`. +* Add `ntile` and/or `nbstack` to your layouts. +* Add keybindings to `incnmaster` and/or `setnmaster` to your `config.h`. + +## Example + + static const int nmaster = 2; /* default number of clients in the master area */ + + #include "nmaster.c" + + static const Layout layouts[] = { + /* symbol arrange function */ + { "-|=", ntile }, + { "-|-", nbstack }, + ... + + static Key keys[] = { + /* modifier key function argument */ + { MODKEY, XK_a, incmaster, {.i = +1 } }, + { MODKEY, XK_z, incmaster, {.i = -1 } }, + { MODKEY, XK_x, setmaster, {.i = 2 } }, + { MODKEY, XK_t, setlayout, {.v = &layouts[0] } }, + { MODKEY, XK_b, setlayout, {.v = &layouts[1] } }, + ... ## Download - * [nmaster-4.7.c][4] (dwm 4.7) (7.3kb (20071123) - * [nmaster.c][3] (dwm 4.6) (7.3kb) (20071025) - - contains ntile, dntile and tilecols. Also supports the clients-per-tag - * [nmaster-4.5.diff][2] (dwm 4.5) (2.7kb) (20071016) - * [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://news.nopcode.org/nmaster-4.5.patch -[3]: http://news.nopcode.org/nmaster.c -[4]: http://news.nopcode.org/nmaster-4.7.c - -## Maintainer - - * pancake &lt;youterm.com&gt; - +* [nmaster-sym.c](nmaster-sym.c) (dwm 5.7) (20090916) - layout symbol shows the number of masters +* [nmaster.c](nmaster.c) (dwm 5.6.1) (20090908) +* see older versions in [historical patches](historical) diff --git a/dwm.suckless.org/patches/push-5.6.c b/dwm.suckless.org/patches/push.c diff --git a/dwm.suckless.org/patches/push.md b/dwm.suckless.org/patches/push.md @@ -2,15 +2,15 @@ ## Description -This patch provides a way to move clients position inside the clients list. +`pushup` and `pushdown` provide a way to move clients inside the clients list. - #include "push-5.6.c" - - { MODKEY|ControlMask, XK_j, pushdown, {0} }, - { MODKEY|ControlMask, XK_k, pushup, {0} }, + #include "push.c" + + static Key keys[] = { + ... + { MODKEY|ControlMask, XK_j, pushdown, {0} }, + { MODKEY|ControlMask, XK_k, pushup, {0} }, ## Download - * [push-5.6.c](push-5.6.c) (1K) (20090709) - * [push-5.3.c](push-5.3.c) (1K) (20090124) - +* [push.c](push.c) (dwm 5.6.1) (20090709) diff --git a/dwm.suckless.org/patches/email_notifier_script.md b/dwm.suckless.org/scripts/email_notifier_script.md diff --git a/libs.suckless.org/_werc/lib/top_bar.inc b/libs.suckless.org/_werc/lib/top_bar.inc @@ -0,0 +1,13 @@ + <ul> + <li><a href="http://suckless.org">home/</a></li> + <li><a href="http://hg.suckless.org">code</a></li> + <li><a href="http://dl.suckless.org">download</a></li> + <li><a href="http://man.suckless.org">man/</a></li> + <li><a href="http://dwm.suckless.org">dwm/</a></li> + <li class="thisPage"><a href="http://libs.suckless.org">libs/</a></li> + <li><a href="http://st.suckless.org">st</a></li> + <li><a href="http://surf.suckless.org">surf</a></li> + <li><a href="http://tools.suckless.org">tools/</a></li> + <li><a href="http://wmii.suckless.org">wmii/</a></li> + <li><a href="http://wmi.suckless.org">wmi/</a></li> + </ul> diff --git a/libs.suckless.org/index.md b/libs.suckless.org/index.md @@ -1,3 +1 @@ -LIBS -==== This directory contains the libraries which have been created by the suckless community during the time. diff --git a/man.suckless.org/_werc/lib/top_bar.inc b/man.suckless.org/_werc/lib/top_bar.inc @@ -0,0 +1,13 @@ + <ul> + <li><a href="http://suckless.org">home/</a></li> + <li><a href="http://hg.suckless.org">code</a></li> + <li><a href="http://dl.suckless.org">download</a></li> + <li class="thisPage"><a href="http://man.suckless.org">man/</a></li> + <li><a href="http://dwm.suckless.org">dwm/</a></li> + <li><a href="http://libs.suckless.org">libs/</a></li> + <li><a href="http://st.suckless.org">st</a></li> + <li><a href="http://surf.suckless.org">surf</a></li> + <li><a href="http://tools.suckless.org">tools/</a></li> + <li><a href="http://wmii.suckless.org">wmii/</a></li> + <li><a href="http://wmi.suckless.org">wmi/</a></li> + </ul> diff --git a/st.suckless.org/_werc/config b/st.suckless.org/_werc/config @@ -1,3 +1,3 @@ masterSite=default.suckless.org siteTitle='st' -siteSubTitle='st, a simple X terminal' +siteSubTitle='a simple X terminal' diff --git a/st.suckless.org/_werc/lib/top_bar.inc b/st.suckless.org/_werc/lib/top_bar.inc @@ -0,0 +1,13 @@ + <ul> + <li><a href="http://suckless.org">home/</a></li> + <li><a href="http://hg.suckless.org">code</a></li> + <li><a href="http://dl.suckless.org">download</a></li> + <li><a href="http://man.suckless.org">man/</a></li> + <li><a href="http://dwm.suckless.org">dwm/</a></li> + <li><a href="http://libs.suckless.org">libs/</a></li> + <li class="thisPage"><a href="http://st.suckless.org">st</a></li> + <li><a href="http://surf.suckless.org">surf</a></li> + <li><a href="http://tools.suckless.org">tools/</a></li> + <li><a href="http://wmii.suckless.org">wmii/</a></li> + <li><a href="http://wmi.suckless.org">wmi/</a></li> + </ul> diff --git a/st.suckless.org/index.md b/st.suckless.org/index.md @@ -1,8 +1,3 @@ -ST -== - -Description ------------ st is a simple terminal implementation for X. @@ -14,10 +9,10 @@ Links Download -------- * [MIT/X Consortium license](http://hg.suckless.org/st/raw-file/tip/LICENSE) -* See also [st](http://st.suckless.org) +* tip tarball: [http://hg.suckless.org/st/archive/tip.tar.gz](http://hg.suckless.org/st/archive/tip.tar.gz) Development ----------- -st is actively developed. You can [browse](http://hg.suckless.org/st) its source code repository or get a copy using [Mercurial](http://www.selenic.com/mercurial/) with following command: +st is actively developed. You can [browse](http://hg.suckless.org/st) its source code repository or get a copy using [Mercurial](http://www.selenic.com/mercurial/) with the following command: hg clone http://hg.suckless.org/st diff --git a/suckless.org/_werc/config b/suckless.org/_werc/config @@ -2,8 +2,22 @@ masterSite=default.suckless.org siteTitle='suckless.org' siteSubTitle='Dedicated to software that sucks less' -conf_perm_redirect '^/gsoc\.html' 'http://suckless.org/common/project_ideas' -conf_perm_redirect '^/gsoc' 'http://suckless.org/common/project_ideas' +conf_perm_redirect '^/gsoc\.html' 'http://suckless.org/project_ideas' +conf_perm_redirect '^/gsoc$' 'http://suckless.org/project_ideas' +conf_perm_redirect '^/gsoc/i$' 'http://suckless.org/project_ideas' +conf_perm_redirect '^/common/broken_programs(.*)' 'http://suckless.org/misc/broken_programs\1' +conf_perm_redirect '^/common/bugs(.*)' 'http://suckless.org/devel/bugs\1' +conf_perm_redirect '^/common/community(.*)' 'http://suckless.org/community\1' +conf_perm_redirect '^/common/cool_programs(.*)' 'http://suckless.org/misc/cool_programs\1' +conf_perm_redirect '^/common/donations(.*)' 'http://suckless.org/donations\1' +conf_perm_redirect '^/common/dynamic_window_management(.*)' 'http://suckless.org/manifest/dynamic_window_management\1' +conf_perm_redirect '^/common/faq(.*)' 'http://suckless.org/devel/faq\1' +conf_perm_redirect '^/common/other_projects(.*)' 'http://suckless.org/other_projects\1' +conf_perm_redirect '^/common/patches(.*)' 'http://suckless.org/devel/patches\1' +conf_perm_redirect '^/common/project_ideas(.*)' 'http://suckless.org/project_ideas\1' +conf_perm_redirect '^/common/style_guide(.*)' 'http://suckless.org/devel/style_guide\1' +conf_perm_redirect '^/common/$' 'http://suckless.org/manifest' +conf_perm_redirect '^/common$' 'http://suckless.org/manifest' conf_perm_redirect '^/dwm/index.html' 'http://dwm.suckless.org' conf_perm_redirect '^/dwm/(.*)\.html' 'http://dwm.suckless.org/\1' conf_perm_redirect '^/dwm/(.*)' 'http://dwm.suckless.org/\1' diff --git a/suckless.org/_werc/lib/top_bar.inc b/suckless.org/_werc/lib/top_bar.inc @@ -0,0 +1,13 @@ + <ul> + <li class="thisPage"><a href="http://suckless.org">home/</a></li> + <li><a href="http://hg.suckless.org">code</a></li> + <li><a href="http://dl.suckless.org">download</a></li> + <li><a href="http://man.suckless.org">man/</a></li> + <li><a href="http://dwm.suckless.org">dwm/</a></li> + <li><a href="http://libs.suckless.org">libs/</a></li> + <li><a href="http://st.suckless.org">st</a></li> + <li><a href="http://surf.suckless.org">surf</a></li> + <li><a href="http://tools.suckless.org">tools/</a></li> + <li><a href="http://wmii.suckless.org">wmii/</a></li> + <li><a href="http://wmi.suckless.org">wmi/</a></li> + </ul> diff --git a/suckless.org/common/project_ideas.md b/suckless.org/common/project_ideas.md @@ -1,181 +0,0 @@ -PROJECT IDEAS FOR FUTURE GSOCs -============================== -We applied as a mentoring organization for [Google Summer of Code 2009](http://code.google.com/soc/), but were rejected this time. Perhaps we will apply in 2010 again. - -Please read our [philosophy](/common) for background information. - -Mentors -------- -We intend that each student will be the project leader of his/her particular -project and the only individual with commit privilege for the repository. - -There will be one mentor and one backup mentor per project. In addition, the -suckless.org community will act as a rigid external reviewer of the -student's progress, as well as of the mentor's. - -General ideas -------------- -Our project ideas in general intended to focus on: - -* Graphical user interfaces for expert users (such as more advanced - concepts for mail clients, messaging clients, music players, text editors) -* Web applications for expert users following our GUI concepts -* Mobile applications for expert users following our GUI concepts -* General userland enhancements to Unix-like operating systems, in particular - GNU/Linux -* Audio applications -* Image/Streaming/Gallery desktop and web applications -* Foundations of a new windowing system for Unix-like operating systems - (based on xorg drivers, but no X11- or XServer-dependency) -* Improvements of our existing software projects - -Concrete ideas --------------- -The listed ideas generally require good knowledge of C and experience with -Unix-like operating systems. The difficulty ranges from medium to high. -An academic background in computer science is desirable but not essential. - -### Unix utilities - -Projects like [dmenu](http://tools.suckless.org/dmenu) prove that it's possible -to bring the Unix philosophy onto the desktop and into the land of graphical -applications. We believe that there is big potential for doing similar things -for other purposes such as managing contacts, bookmarks, browsing -files/directories, reading/managing mails, organizing/viewing images/videos and -listening to music, all in a very elegant and Unix-like way. We believe that such -tools should have a GUI but communicate via standard I/O and be very flexible in -the combination of their purposes. - -***Requirements:*** Good knowledge of the Unix userland, C and of the Xlib is essential. - -### Port dwm to different platforms - -Many dwm users who have to use Microsoft Windows regularly have requested a -port of dwm to Microsoft Windows. There are several tiling window managers, but -unfortunately the majority are proprietary software and can't keep up with dwm. - -Similarly we believe that porting dwm to Mac OS X, or onto mobile devices (with -certain constraints) might create a new paradigm of future window management -concepts in mainstream software. - -There might also be the opportunity to make dwm itself more friendly with -well-established desktop environments, to integrate well with Gnome or KDE in -order to prove that dynamic and tiled window management should be the default -in future window management concepts. - -***Requirements:*** Good knowledge of the Xlib and C is desirable. Also good -knowledge of the specific target platform, such as Cocoa/Quartz on Max OS X, - resp. Win32 API on Windows would be desirable. - -### ddm - -There is no suckless display manager for X11 at the moment, thus a new -dynamic display manager (ddm) should be designed and implemented. - -***Requirements:*** Good knowledge of the Xlib and C is desirable. - -### stm - -There seems to be a need for a suckless ticket management system, as this -is a common task in today's daily activity in business and private time -management. This task includes the design and implementation of a suckless -system that solves the problems of TTS (Trouble Ticket System), ARS (Action -Request System) and IRS (Incident Response System) all together. - -***Requirements:*** Good knowledge of web technologies are essential, good knowledge of C is desirable. - -### Lightweight volume manager alternative - -We'd like to see a lightweight and simple alternative to gnome-volume-manager -and similar programs. - -There's one such project already available at <http://tools.suckless.org/skvm>. - -***Requirements:*** Good C knowledge and knowledge of DBUS and similar techniques are essential. - -### Yet another less sucking editor - -Although vi(m) does its job, it has become a monster over the years. We -believe there is a gap between [ed](http://man.cat-v.org/plan_9/1/ed), [sam](http://sam.cat-v.org), [acme](http://acme.cat-v.org) and vim which must be filled with -a completely new, less-sucking editor. - -***Requirements:*** Good C knowledge and knowledge of I/O APIs is essential. - -### Less sucking C99 subset spec - -Although sufficient, C99 is not a perfect programming language. It suffers from -legacy syntax and semantics and lacks features that make designing libraries -and developing abstractions much easier. To address these shortcomings the -student should survey the problems of C, evaluate possible solutions and -enhance the language as a subset of C99. - -***Requirements:*** Very good C knowledge is essential. - -### Modern libc - -The standard libc is full of awkward and legacy concepts. We believe that -recent approaches such as Google's bionic libc are a step into the right -direction, though not radical enough. We think there is a great opportunity to -implement a completely new libc which abstracts a very nice standard -environment which can be implemented on modern OS platforms in a straightforward manner. -Our goal would be to realize an initial proposal on Linux. - -***Requirements:*** Very good C knowledge is essential. - -### Improve tcc - -We'd like to see [tcc](http://bellard.org/tcc/) being continued and improved. gcc is too slow and too -focused on language-agnostics and particularly focused on its C++ support. We -have the impression that most open source software is written in C and makes no -use of C++, so we desire an improved tcc. - -We are also concerned about recent attempts to implement the C front-end of gcc -in C++. We believe that is a bad decision in general (due to demanding C++ as -bootstrapping environment) and would like to get rid of the gcc dependency -for these reasons. - -We'd like the improved tcc to be able to build all suckless projects -and perhaps the modern libc replacement. - -***Requirements:*** Very good C knowledge is essential as well as knowledge of x86 assembler and executable formats. - -### Comprehensive code audit - -All software hosted at suckless.org should undergo a comprehensive -code audit. This includes search for vulnerabilities, verification of -all algorithms, proof-reading of the documentation and possibly a code -clean-up. The result has to be a report on all found errors and maybe some -advice for the project maintainers. This task requires experience in this -field. - -***Requirements:*** Good C knowledge is essential. - -### Improve sltar - -[sltar](http://s01.de/~gottox/index.cgi/proj_sltar) is a simplified tar -implementation which lacks gzip and bzip2 integration. The task requires to -extend sltar with these and to also write a test suite for it. - -***Requirements:*** Good C knowledge would be desirable. - -### Write a decent mailing list Web archive system - -All web archive systems such as hypermail, pipermail, etc. have plenty -drawbacks and are quite out-dated. This task requires to write a completely new -web mailing list archiving tool that follows the thread view concepts found in -the mutt MUA and which is designed with low footprint and efficiency in mind. - -We expect this tool as a stand-alone Unix tool written in C or shell. - -***Requirements:*** Good C/Shell/HTML5 knowledge would be desirable. - -### Extend werc with a repository browser - -This task requires to extend [werc](http://werc.cat-v.org) with a source -browser for VCS repositories including support for -[subversion](http://subversion.tigris.org/), -[mercurial](http://www.selenic.com/mercurial/) and [git](http://git-scm.com). - -***Requirements:*** Good knowledge of the [rc](http://en.wikipedia.org/wiki/Rc) shell -and the [Plan 9 userland for Unix](http://plan9.us) is essential. Good C -knowledge for the helper tools would be desirable. diff --git a/suckless.org/common/community.md b/suckless.org/community.md diff --git a/suckless.org/common/bugs.md b/suckless.org/devel/bugs.md diff --git a/suckless.org/common/faq.md b/suckless.org/devel/faq.md diff --git a/suckless.org/devel/index.md b/suckless.org/devel/index.md @@ -0,0 +1,3 @@ +Development +=========== +This section contains general information about our software development. diff --git a/suckless.org/common/patches.md b/suckless.org/devel/patches.md diff --git a/suckless.org/common/style_guide.md b/suckless.org/devel/style_guide.md diff --git a/suckless.org/common/donations.md b/suckless.org/donations.md diff --git a/suckless.org/common/dynamic_window_management.md b/suckless.org/manifest/dynamic_window_management.md diff --git a/suckless.org/common/index.md b/suckless.org/manifest/index.md diff --git a/suckless.org/common/broken_programs.md b/suckless.org/misc/broken_programs.md diff --git a/suckless.org/common/cool_programs.md b/suckless.org/misc/cool_programs.md diff --git a/suckless.org/misc/index.md b/suckless.org/misc/index.md @@ -0,0 +1,3 @@ +MISC +==== +This section contains information that has no particular category. diff --git a/suckless.org/common/other_projects.md b/suckless.org/other_projects.md diff --git a/suckless.org/people/Pancake.md b/suckless.org/people/Pancake.md @@ -0,0 +1,6 @@ +pancake +======= + +Developer of various minimal tools and main author of [radare](http://www.radare.org). + +* See also other projects: <http://hg.youterm.com/> diff --git a/suckless.org/project_ideas.md b/suckless.org/project_ideas.md @@ -0,0 +1,181 @@ +PROJECT IDEAS FOR FUTURE GSOCs +============================== +We applied as a mentoring organization for [Google Summer of Code 2009](http://code.google.com/soc/), but were rejected this time. Perhaps we will apply in 2010 again. + +Please read our [philosophy](/manifest) for background information. + +Mentors +------- +We intend that each student will be the project leader of his/her particular +project and the only individual with commit privilege for the repository. + +There will be one mentor and one backup mentor per project. In addition, the +suckless.org community will act as a rigid external reviewer of the +student's progress, as well as of the mentor's. + +General ideas +------------- +Our project ideas in general intended to focus on: + +* Graphical user interfaces for expert users (such as more advanced + concepts for mail clients, messaging clients, music players, text editors) +* Web applications for expert users following our GUI concepts +* Mobile applications for expert users following our GUI concepts +* General userland enhancements to Unix-like operating systems, in particular + GNU/Linux +* Audio applications +* Image/Streaming/Gallery desktop and web applications +* Foundations of a new windowing system for Unix-like operating systems + (based on xorg drivers, but no X11- or XServer-dependency) +* Improvements of our existing software projects + +Concrete ideas +-------------- +The listed ideas generally require good knowledge of C and experience with +Unix-like operating systems. The difficulty ranges from medium to high. +An academic background in computer science is desirable but not essential. + +### Unix utilities + +Projects like [dmenu](http://tools.suckless.org/dmenu) prove that it's possible +to bring the Unix philosophy onto the desktop and into the land of graphical +applications. We believe that there is big potential for doing similar things +for other purposes such as managing contacts, bookmarks, browsing +files/directories, reading/managing mails, organizing/viewing images/videos and +listening to music, all in a very elegant and Unix-like way. We believe that such +tools should have a GUI but communicate via standard I/O and be very flexible in +the combination of their purposes. + +***Requirements:*** Good knowledge of the Unix userland, C and of the Xlib is essential. + +### Port dwm to different platforms + +Many dwm users who have to use Microsoft Windows regularly have requested a +port of dwm to Microsoft Windows. There are several tiling window managers, but +unfortunately the majority are proprietary software and can't keep up with dwm. + +Similarly we believe that porting dwm to Mac OS X, or onto mobile devices (with +certain constraints) might create a new paradigm of future window management +concepts in mainstream software. + +There might also be the opportunity to make dwm itself more friendly with +well-established desktop environments, to integrate well with Gnome or KDE in +order to prove that dynamic and tiled window management should be the default +in future window management concepts. + +***Requirements:*** Good knowledge of the Xlib and C is desirable. Also good +knowledge of the specific target platform, such as Cocoa/Quartz on Max OS X, + resp. Win32 API on Windows would be desirable. + +### ddm + +There is no suckless display manager for X11 at the moment, thus a new +dynamic display manager (ddm) should be designed and implemented. + +***Requirements:*** Good knowledge of the Xlib and C is desirable. + +### stm + +There seems to be a need for a suckless ticket management system, as this +is a common task in today's daily activity in business and private time +management. This task includes the design and implementation of a suckless +system that solves the problems of TTS (Trouble Ticket System), ARS (Action +Request System) and IRS (Incident Response System) all together. + +***Requirements:*** Good knowledge of web technologies are essential, good knowledge of C is desirable. + +### Lightweight volume manager alternative + +We'd like to see a lightweight and simple alternative to gnome-volume-manager +and similar programs. + +There's one such project already available at <http://tools.suckless.org/skvm>. + +***Requirements:*** Good C knowledge and knowledge of DBUS and similar techniques are essential. + +### Yet another less sucking editor + +Although vi(m) does its job, it has become a monster over the years. We +believe there is a gap between [ed](http://man.cat-v.org/plan_9/1/ed), [sam](http://sam.cat-v.org), [acme](http://acme.cat-v.org) and vim which must be filled with +a completely new, less-sucking editor. + +***Requirements:*** Good C knowledge and knowledge of I/O APIs is essential. + +### Less sucking C99 subset spec + +Although sufficient, C99 is not a perfect programming language. It suffers from +legacy syntax and semantics and lacks features that make designing libraries +and developing abstractions much easier. To address these shortcomings the +student should survey the problems of C, evaluate possible solutions and +enhance the language as a subset of C99. + +***Requirements:*** Very good C knowledge is essential. + +### Modern libc + +The standard libc is full of awkward and legacy concepts. We believe that +recent approaches such as Google's bionic libc are a step into the right +direction, though not radical enough. We think there is a great opportunity to +implement a completely new libc which abstracts a very nice standard +environment which can be implemented on modern OS platforms in a straightforward manner. +Our goal would be to realize an initial proposal on Linux. + +***Requirements:*** Very good C knowledge is essential. + +### Improve tcc + +We'd like to see [tcc](http://bellard.org/tcc/) being continued and improved. gcc is too slow and too +focused on language-agnostics and particularly focused on its C++ support. We +have the impression that most open source software is written in C and makes no +use of C++, so we desire an improved tcc. + +We are also concerned about recent attempts to implement the C front-end of gcc +in C++. We believe that is a bad decision in general (due to demanding C++ as +bootstrapping environment) and would like to get rid of the gcc dependency +for these reasons. + +We'd like the improved tcc to be able to build all suckless projects +and perhaps the modern libc replacement. + +***Requirements:*** Very good C knowledge is essential as well as knowledge of x86 assembler and executable formats. + +### Comprehensive code audit + +All software hosted at suckless.org should undergo a comprehensive +code audit. This includes search for vulnerabilities, verification of +all algorithms, proof-reading of the documentation and possibly a code +clean-up. The result has to be a report on all found errors and maybe some +advice for the project maintainers. This task requires experience in this +field. + +***Requirements:*** Good C knowledge is essential. + +### Improve sltar + +[sltar](http://s01.de/~gottox/index.cgi/proj_sltar) is a simplified tar +implementation which lacks gzip and bzip2 integration. The task requires to +extend sltar with these and to also write a test suite for it. + +***Requirements:*** Good C knowledge would be desirable. + +### Write a decent mailing list Web archive system + +All web archive systems such as hypermail, pipermail, etc. have plenty +drawbacks and are quite out-dated. This task requires to write a completely new +web mailing list archiving tool that follows the thread view concepts found in +the mutt MUA and which is designed with low footprint and efficiency in mind. + +We expect this tool as a stand-alone Unix tool written in C or shell. + +***Requirements:*** Good C/Shell/HTML5 knowledge would be desirable. + +### Extend werc with a repository browser + +This task requires to extend [werc](http://werc.cat-v.org) with a source +browser for VCS repositories including support for +[subversion](http://subversion.tigris.org/), +[mercurial](http://www.selenic.com/mercurial/) and [git](http://git-scm.com). + +***Requirements:*** Good knowledge of the [rc](http://en.wikipedia.org/wiki/Rc) shell +and the [Plan 9 userland for Unix](http://plan9.us) is essential. Good C +knowledge for the helper tools would be desirable. diff --git a/suckless.org/wiki/sandbox.md b/suckless.org/wiki/sandbox/index.md diff --git a/suckless.org/wiki/sandbox/submenu1/subsubmenu1/index.md b/suckless.org/wiki/sandbox/submenu1/subsubmenu1/index.md @@ -0,0 +1 @@ +test diff --git a/suckless.org/wiki/sandbox/submenu1/subsubmenu2/index.md b/suckless.org/wiki/sandbox/submenu1/subsubmenu2/index.md @@ -0,0 +1 @@ +test diff --git a/suckless.org/wiki/sandbox/submenu1/subsubmenu3/index.md b/suckless.org/wiki/sandbox/submenu1/subsubmenu3/index.md @@ -0,0 +1 @@ +test diff --git a/suckless.org/wiki/sandbox/submenu1/subsubmenu4/index.md b/suckless.org/wiki/sandbox/submenu1/subsubmenu4/index.md @@ -0,0 +1 @@ +test diff --git a/suckless.org/wiki/sandbox/submenu2/subsubmenu1/index.md b/suckless.org/wiki/sandbox/submenu2/subsubmenu1/index.md @@ -0,0 +1 @@ +test diff --git a/suckless.org/wiki/sandbox/submenu2/subsubmenu2/index.md b/suckless.org/wiki/sandbox/submenu2/subsubmenu2/index.md @@ -0,0 +1 @@ +test diff --git a/suckless.org/wiki/sandbox/submenu2/subsubmenu3/index.md b/suckless.org/wiki/sandbox/submenu2/subsubmenu3/index.md @@ -0,0 +1 @@ +test diff --git a/suckless.org/wiki/sandbox/submenu3/subsubmenu1/index.md b/suckless.org/wiki/sandbox/submenu3/subsubmenu1/index.md @@ -0,0 +1 @@ +test diff --git a/suckless.org/wiki/sandbox/submenu3/subsubmenu2/index.md b/suckless.org/wiki/sandbox/submenu3/subsubmenu2/index.md @@ -0,0 +1 @@ +test diff --git a/surf.suckless.org/_werc/config b/surf.suckless.org/_werc/config @@ -1,3 +1,4 @@ masterSite=default.suckless.org siteTitle='surf' -siteSubTitle='surf browser, a WebKit based browser' +siteImage='/surf.png' +siteSubTitle='a WebKit based browser' diff --git a/surf.suckless.org/_werc/lib/top_bar.inc b/surf.suckless.org/_werc/lib/top_bar.inc @@ -0,0 +1,13 @@ + <ul> + <li><a href="http://suckless.org">home/</a></li> + <li><a href="http://hg.suckless.org">code</a></li> + <li><a href="http://dl.suckless.org">download</a></li> + <li><a href="http://man.suckless.org">man/</a></li> + <li><a href="http://dwm.suckless.org">dwm/</a></li> + <li><a href="http://libs.suckless.org">libs/</a></li> + <li><a href="http://st.suckless.org">st</a></li> + <li class="thisPage"><a href="http://surf.suckless.org">surf</a></li> + <li><a href="http://tools.suckless.org">tools/</a></li> + <li><a href="http://wmii.suckless.org">wmii/</a></li> + <li><a href="http://wmi.suckless.org">wmi/</a></li> + </ul> diff --git a/surf.suckless.org/index.md b/surf.suckless.org/index.md @@ -1,10 +1,3 @@ -![surf](surf.gif) - -SURF -==== - -Description ------------ surf is a simple web browser based on WebKit/GTK+. It is able to display websites and follow links. It supports the XEmbed protocol which makes it possible to embed it in another application. Furthermore, @@ -13,13 +6,14 @@ one can point surf to another URI by setting its XProperties. Links ----- -* [Man page](http://hg.suckless.org/surf/raw-file/tip/LICENSE) +* [Man page](http://man.suckless.org/surf/1/surf) * Mailing List: `dev+subscribe@suckless.org` ([Archives](http://lists.suckless.org/dev)) * IRC channel: #suckless at irc.oftc.net Download -------- * [MIT/X Consortium license](http://hg.suckless.org/surf/raw-file/tip/LICENSE) +* [surf 0.1.2](http://dl.suckless.org/surf/surf-0.1.2.tar.gz) (7.6kb) (20090910) * See also [dmenu](http://tools.suckless.org/dmenu) Development diff --git a/surf.suckless.org/surf.gif b/surf.suckless.org/surf.gif Binary files differ. diff --git a/surf.suckless.org/surf.png b/surf.suckless.org/surf.png Binary files differ. diff --git a/tools.suckless.org/9base.md b/tools.suckless.org/9base.md @@ -8,13 +8,17 @@ It currently contains the following original (no source changes) shell commands * awk * basename * bc +* cal * cat * cleanname * date * dc +* du * echo * grep +* hoc * ls +* mk * rc * read * sed @@ -25,19 +29,19 @@ It currently contains the following original (no source changes) shell commands * test * touch * tr +* troff * uniq * yacc It also contains the Plan 9 libc, libbio, libregexp, libfmt and libutf. -The overall SLOC is about 36kSLOC, so this userland + all libs is much smaller as for example bash (duh!). +The overall SLOC is about 40kSLOC, so this userland + all libs is much smaller as for example bash (duh!). Download -------- -* [9base-3](http://dl.suckless.org/tools/9base-3.tar.gz) (20090803) +* [9base-4](http://dl.suckless.org/tools/9base-4.tar.gz) (20090827) * <code>hg clone [http://hg.suckless.org/9base](http://hg.suckless.org/9base)</code> Usage ----- 9base can be used to run [werc](http://werc.cat-v.org) instead of the full blown [plan9port](http://swtch.com/plan9port). - diff --git a/tools.suckless.org/_werc/lib/top_bar.inc b/tools.suckless.org/_werc/lib/top_bar.inc @@ -0,0 +1,13 @@ + <ul> + <li><a href="http://suckless.org">home/</a></li> + <li><a href="http://hg.suckless.org">code</a></li> + <li><a href="http://dl.suckless.org">download</a></li> + <li><a href="http://man.suckless.org">man/</a></li> + <li><a href="http://dwm.suckless.org">dwm/</a></li> + <li><a href="http://libs.suckless.org">libs/</a></li> + <li><a href="http://st.suckless.org">st</a></li> + <li><a href="http://surf.suckless.org">surf</a></li> + <li class="thisPage"><a href="http://tools.suckless.org">tools/</a></li> + <li><a href="http://wmii.suckless.org">wmii/</a></li> + <li><a href="http://wmi.suckless.org">wmi/</a></li> + </ul> diff --git a/tools.suckless.org/dmenu.md b/tools.suckless.org/dmenu.md @@ -12,143 +12,6 @@ Mailing list ------------ * `dev+subscribe@suckless.org` ([Archives](http://lists.suckless.org/dev/)) ([Old Archives](http://lists.suckless.org/dwm/)) (see [community](http://suckless.org/common/community/) for details) -<H2>SYNOPSIS</H2> - -<B>dmenu</B> - -[<B>-i</B>] - -[<B>-b</B>] - -[<B>-fn</B> &lt;font&gt;] - -[<B>-nb</B> &lt;color&gt;] - -[<B>-nf</B> &lt;color&gt;] - -[<B>-p</B> &lt;prompt&gt;] - -[<B>-sb</B> &lt;color&gt;] - -[<B>-sf</B> &lt;color&gt;] - -[<B>-v</B>] - -<A NAME="lbAD">&nbsp;</A> -<H2>DESCRIPTION</H2> - -<A NAME="lbAE">&nbsp;</A> -<H3>Overview</H3> - -dmenu is a generic menu for X, originally designed for -<B>dwm</B>(1). - -It manages huge amounts (up to 10.000 and more) of user defined menu items -efficiently. -<A NAME="lbAF">&nbsp;</A> -<H3>Options</H3> - -<DL COMPACT> -<DT><B>-i</B> - -<DD> -makes dmenu match menu entries case insensitively. -<DT><B>-b</B> - -<DD> -defines that dmenu appears at the bottom. -<DT><B>-fn &lt;font&gt;</B> - -<DD> -defines the font. -<DT><B>-nb &lt;color&gt;</B> - -<DD> -defines the normal background color (#RGB, #RRGGBB, and color names are supported). -<DT><B>-nf &lt;color&gt;</B> - -<DD> -defines the normal foreground color (#RGB, #RRGGBB, and color names are supported). -<DT><B>-p &lt;prompt&gt;</B> - -<DD> -defines a prompt to be displayed before the input area. -<DT><B>-sb &lt;color&gt;</B> - -<DD> -defines the selected background color (#RGB, #RRGGBB, and color names are supported). -<DT><B>-sf &lt;color&gt;</B> - -<DD> -defines the selected foreground color (#RGB, #RRGGBB, and color names are supported). -<DT><B>-v</B> - -<DD> -prints version information to standard output, then exits. -</DL> -<A NAME="lbAG">&nbsp;</A> -<H2>USAGE</H2> - -dmenu reads a list of newline-separated items from standard input and creates a -menu. When the user selects an item or enters any text and presses Return, his/her -choice is printed to standard output and dmenu terminates. -<P> - -dmenu is completely controlled by the keyboard. The following keys are recognized: -<DL COMPACT> -<DT><B>Any printable character</B> - -<DD> -Appends the character to the text in the input field. This works as a filter: -only items containing this text will be displayed. -<DT><B>Left/Right (Mod1-h/Mod1-l)</B> - -<DD> -Select the previous/next item. -<DT><B>PageUp/PageDown (Mod1-k/Mod1-j)</B> - -<DD> -Select the first item of the previous/next 'page' of items. -<DT><B>Home/End (Mod1-g/Mod1-G)</B> - -<DD> -Select the first/last item. -<DT><B>Tab (Control-i)</B> - -<DD> -Copy the selected item to the input field. -<DT><B>Return (Control-j)</B> - -<DD> -Confirm selection and quit (print the selected item to standard output). Returns -<B>0</B> - -on termination. -<DT><B>Shift-Return (Control-Shift-j)</B> - -<DD> -Confirm selection and quit (print the text in the input field to standard output). -Returns -<B>0</B> - -on termination. -<DT><B>Escape (Control-bracketleft)</B> - -<DD> -Quit without selecting an item. Returns -<B>1</B> - -on termination. -<DT><B>Backspace (Control-h)</B> - -<DD> -Remove a character from the input field. -<DT><B>Control-u</B> - -<DD> -Remove all characters from the input field. -<DT><B>Control-w</B> - -<DD> -Remove all characters of current word from the input field. -</DL> +Links +----- +* [Man page](http://man.suckless.org/tools/1/dmenu) diff --git a/tools.suckless.org/ii.md b/tools.suckless.org/ii.md @@ -26,7 +26,7 @@ and ii creates a new #wmii (channel) directory with in and out files. |-- out `-- in -It consists of <= 500 lines of code and is the big brother of [sic](/programs/sic.html) +It consists of <= 500 lines of code and is the big brother of [sic](/sic) Download -------- diff --git a/tools.suckless.org/sic.md b/tools.suckless.org/sic.md @@ -1,6 +1,6 @@ SIMPLE IRC CLIENT ================= -sic is an extremely simple IRC client. It consists of lesser than 250 lines of code. It is the little brother of [irc it](/ii). +sic is an extremely simple IRC client. It consists of less than 250 lines of code. It is the little brother of [irc it](/ii). Download -------- @@ -8,79 +8,10 @@ Download Development ----------- -You can [browse](http://hg.suckless.org/sic) its source code repository or get a copy using [Mercurial](http://www.selenic.com/mercurial/) with following command: +You can [browse](http://hg.suckless.org/sic) its source code repository or get a copy using [Mercurial](http://www.selenic.com/mercurial/) with the following command: hg clone http://hg.suckless.org/sic - -<H2>SYNOPSIS</H2> - -<B>sic</B> - -[<B>-h</B> &lt;host&gt;] - -[<B>-p</B> &lt;port&gt;] - -[<B>-n</B> &lt;nick&gt;] - -[<B>-k</B> &lt;keyword&gt;] - -[<B>-v</B>] - -<A NAME="lbAD">&nbsp;</A> -<H2>DESCRIPTION</H2> - -<B>sic</B> - -is an extremely fast, small and simple irc client. It reads commands from -standard input and prints all server output to standard output. It multiplexes -also all channel traffic into one output, that you don't have to switch -different channel buffers, that's actually a feature. -<A NAME="lbAE">&nbsp;</A> -<H2>OPTIONS</H2> - -<DL COMPACT> -<DT><B>-h &lt;host&gt;</B> - -<DD> -Overrides the default host (irc.oftc.net) -<DT><B>-p &lt;port&gt;</B> - -<DD> -Overrides the default port (6667) -<DT><B>-n &lt;nickname&gt;</B> - -<DD> -Override the default nick ($USER) -<DT><B>-k &lt;keyword&gt;</B> - -<DD> -Specifies the keyword to authenticate your nick on the host -<DT><B>-v</B> - -<DD> -Prints version information to standard output, then exits. -</DL> -<A NAME="lbAF">&nbsp;</A> -<H2>COMMANDS</H2> - -<DL COMPACT> -<DT><B>:j #channel</B> - -<DD> -Join a channel -<DT><B>:l #channel</B> - -<DD> -Leave a channel -<DT><B>:m #channel/user msg</B> - -<DD> -Write a message to #channel/user -<DT><B>:s #channel/user</B> - -<DD> -Set default channel/user -<DT>Everything which is not a command is simply send the server.<DD> -<P> -</DL> +Links +----- +* [Man page](http://man.suckless.org/tools/1/sic) diff --git a/tools.suckless.org/slock.md b/tools.suckless.org/slock.md @@ -1,7 +1,7 @@ SLOCK ===== -Simple X display locker. Really this is the simplest X screen locker we are -aware of. It is stable and quite a lot people in this community are using it +Simple X display locker. This is the simplest X screen locker we are +aware of. It is stable and quite a lot of people in our community are using it every day when they are out with friends or fetching some food from the local pub. diff --git a/wmi.suckless.org/_werc/lib/top_bar.inc b/wmi.suckless.org/_werc/lib/top_bar.inc @@ -0,0 +1,13 @@ + <ul> + <li><a href="http://suckless.org">home/</a></li> + <li><a href="http://hg.suckless.org">code</a></li> + <li><a href="http://dl.suckless.org">download</a></li> + <li><a href="http://man.suckless.org">man/</a></li> + <li><a href="http://dwm.suckless.org">dwm/</a></li> + <li><a href="http://libs.suckless.org">libs/</a></li> + <li><a href="http://st.suckless.org">st</a></li> + <li><a href="http://surf.suckless.org">surf</a></li> + <li><a href="http://tools.suckless.org">tools/</a></li> + <li><a href="http://wmii.suckless.org">wmii/</a></li> + <li class="thisPage"><a href="http://wmi.suckless.org">wmi/</a></li> + </ul> diff --git a/wmi.suckless.org/index.md b/wmi.suckless.org/index.md @@ -1,19 +1,20 @@ -WMI -=== -wmi was the initial project which became popular, though [wmii](/wmii/) is the +wmi was the initial project which became popular, though [wmii](http://wmii.suckless.org) is the successor of wmi. The last release of wmi happened back in 2004. There are still -some occasional users of wmi. If you like to check how the good old days felt, -check it out, though its code sucks more unfortunately than our more -recent projects. +some occasional users of wmi. If you would like to experience the good old days, +please check it out; though, its code sucks more unfortunately than our recent projects. + +*UPDATE* There will be a wmi-11 release in Sep 2009 very soon! ->[![Screenshot](screenshots/wmi-20080718s.png)](screenshots/wmi-20080718.png)<- Download -------- -You can download the historic copy of -[wmi-10](http://dl.suckless.org/misc/wmi-10.tar.gz). Unfortunately there -is no associated repository anymore. There used to be a subversion repository -in the older days. +You can download an historic copy of +[wmi-10](http://dl.suckless.org/misc/wmi-10.tar.gz). You can also [browse](http://hg.suckless.org/wmi) its source code repository or get a copy using [Mercurial](http://www.selenic.com/mercurial/) with the following command: + + hg clone http://hg.suckless.org/wmi + +(The repository contains the source code of the upcoming wmi-11 release!!!) Build ----- @@ -21,8 +22,12 @@ In order to build wmi-10 on more recent systems than they were back 4 years ago, you will need to apply [this patch](wmi-10_compile_fixes.diff) by Sergey Dolgov. +The upcoming wmi-11 version from the source repository just builds fine with current systems. + Issues ------ If you want to contact the author of wmi, use his proper email address [garbeam@gmail.com](mailto:garbeam@gmail.com) -- the email address presented in -the wmi-10 source isn't valid anymore. +the wmi-10 source isn't valid anymore. Though that's fixed in the upcoming wmi-11 release. + +Have fun! diff --git a/wmii.suckless.org/_werc/config b/wmii.suckless.org/_werc/config @@ -1,3 +1,4 @@ masterSite=default.suckless.org siteTitle='wmii' +siteImage='/wmii.png' siteSubTitle='window manager improved 2' diff --git a/wmii.suckless.org/_werc/lib/top_bar.inc b/wmii.suckless.org/_werc/lib/top_bar.inc @@ -0,0 +1,13 @@ + <ul> + <li><a href="http://suckless.org">home/</a></li> + <li><a href="http://hg.suckless.org">code</a></li> + <li><a href="http://dl.suckless.org">download</a></li> + <li><a href="http://man.suckless.org">man/</a></li> + <li><a href="http://dwm.suckless.org">dwm/</a></li> + <li><a href="http://libs.suckless.org">libs/</a></li> + <li><a href="http://st.suckless.org">st</a></li> + <li><a href="http://surf.suckless.org">surf</a></li> + <li><a href="http://tools.suckless.org">tools/</a></li> + <li class="thisPage"><a href="http://wmii.suckless.org">wmii/</a></li> + <li><a href="http://wmi.suckless.org">wmi/</a></li> + </ul> diff --git a/wmii.suckless.org/index.md b/wmii.suckless.org/index.md @@ -1,8 +1,3 @@ -![wmii](wmii.gif) - -WINDOW MANAGER IMPROVED 2 -========================= - wmii is a small, dynamic window manager for X11. It is scriptable, has a 9p filesystem interface and supports classic and tiling (acme-like) window management. It aims to maintain a small and clean (read hackable and beautiful) diff --git a/wmii.suckless.org/wmii.gif b/wmii.suckless.org/wmii.gif Binary files differ. diff --git a/wmii.suckless.org/wmii.png b/wmii.suckless.org/wmii.png Binary files differ.