sites

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

index.md (2960B)


      1 flextile layout
      2 ===============
      3 
      4 Description
      5 -----------
      6 This patch replaces the `tile` layout with a more flexible version. The
      7 features include the following:
      8 
      9 * tile like the original version (left single master, right stack)
     10 * left/right/top/bottom n-master, right/left/bottom/top/no stack/deck (deck is
     11   like `monocle` in the stack area)
     12 * per-tag configuration
     13 
     14 It therefore provides the following additional possibilities:
     15 
     16 * `tile` for left-handed people
     17 * compare multiple files with one other each at a time without switching
     18   between views
     19 
     20 The patch incorporates and expands the following patches:
     21 
     22 * bottom stack (`bstack` and `bstackhoriz`)
     23 * nmaster
     24 * pertag
     25 
     26 Configuration
     27 -------------
     28 1. Download the patch and apply it according to the
     29    [general instructions](../).
     30 
     31 2. Transfer the changes made by the patch in `config.def.h` to your `config.h`,
     32    if needed.
     33 
     34 	/* tagging */
     35 	...
     36 	/* include(s) depending on the tags array */
     37 	#include "flextile.h"
     38 
     39 	/* layout(s) */
     40 	static const int layoutaxis[] = {
     41 		1,    /* layout axis: 1 = x, 2 = y; negative values mirror the layout, setting the master area to the right / bottom instead of left / top */
     42 		2,    /* master axis: 1 = x (from left to right), 2 = y (from top to bottom), 3 = z (monocle) */
     43 		2,    /* stack axis:  1 = x (from left to right), 2 = y (from top to bottom), 3 = z (monocle) */
     44 	};
     45 	static const unsigned int mastersplit = 1;	/* number of tiled clients in the master area */
     46 
     47 	static Key keys[] = {
     48     ...
     49 		{ MODKEY,                       XK_i,      shiftmastersplit, {.i = +1} },   /* increase the number of tiled clients in the master area */
     50 		{ MODKEY,                       XK_d,      shiftmastersplit, {.i = -1} },   /* reduce the number of tiled clients in the master area */
     51 	...
     52 		{ MODKEY|ControlMask,           XK_t,      rotatelayoutaxis, {.i = 0} },    /* 0 = layout axis */
     53 		{ MODKEY|ControlMask,           XK_Tab,    rotatelayoutaxis, {.i = 1} },    /* 1 = master axis */
     54 		{ MODKEY|ControlMask|ShiftMask, XK_Tab,    rotatelayoutaxis, {.i = 2} },    /* 2 = stack axis */
     55 		{ MODKEY|ControlMask,           XK_Return, mirrorlayout,     {0} },
     56 
     57 
     58 Usage
     59 -----
     60 With the default configuration (see above) the original tile layout is
     61 emulated. You can change the layout by adjusting the four parameters `layout
     62 axis`, `master axis`, `stack axis` and `master split` (description see above)
     63 by pressing the appropriate keys.
     64 
     65 The original `tile` layout is only available by setting the above parameters,
     66 but not as a discrete layout; the `monocle` layout is still available by
     67 pressing `ALT+m` (in the default configuration).
     68 
     69 Download
     70 --------
     71 * [dwm-flextile-20210722-138b405.diff](dwm-flextile-20210722-138b405.diff)
     72 * [dwm-flextile-5.8.2.diff](dwm-flextile-5.8.2.diff)
     73 * [dwm-flextile-5.8.1.diff](dwm-flextile-5.8.1.diff)
     74 
     75 Authors
     76 -------
     77 * joten (at) freenet (dot) de
     78 * mail at pascal-wittmann dot de
     79 * Max Schillinger - <maxschillinger@web.de> (6.2 port)