|
2 | 2 | <img src="contrib/header.png"><br>
|
3 | 3 | </div>
|
4 | 4 |
|
5 |
| -# table of contents |
6 |
| - |
7 |
| -* **[installation](#installation)** |
8 |
| - * **[dependencies](#dependencies)** |
9 |
| - * **[automatic install](#automatic-install)** |
10 |
| - * **[manual install](#manual-install)** |
11 |
| -* **[usage](#usage)** |
12 |
| - * **[commandline arguments](#commandline-arguments)** |
13 |
| - * **[using custard with xinit](#using-custard-with-xinit)** |
14 |
| - * **[using custard with a display manager](#using-custard-with-a-display-manager)** |
15 |
| -* **[configuration](#configuration)** |
16 |
| - * **[configuring the virtual grid](#configuring-the-virtual-grid)** |
17 |
| - * **[window borders](#window-borders)** |
18 |
| - * **[types and sizes](#types-and-sizes)** |
19 |
| - * **[border colors](#border-colors)** |
20 |
| - * **[miscellaneous](#miscellaneous)** |
21 |
| - |
22 |
| -# description |
23 |
| - |
24 |
| -custard is a manual tiling window manager for the X windowing system. Users |
25 |
| -configure a grid size and create geometries that windows are sized after. |
| 5 | +custard is a manual tiling window manager for the X windowing system that |
| 6 | +utilizes grids to both size and position windows on the screen. |
26 | 7 |
|
27 | 8 | custard is based on [2bwm](https://github.com/venam/2bwm),
|
28 | 9 | [swm](https://github.com/dcat/swm), [subtle](https://subtle.subforge.org/),
|
29 | 10 | and [howm](https://github.com/HarveyHunt/howm).
|
30 | 11 |
|
31 |
| -# installation |
32 |
| - |
33 |
| -## dependencies |
34 |
| - |
35 |
| -|OS |Packages | |
36 |
| -|------------|--------------------------------------------------------| |
37 |
| -|Arch Linux |`libxcb xcb-util xcb-util-wm` | |
38 |
| -|Debian Linux|`xcb libxcb-ewmh-dev libxcb-icccm4-dev libxcb-util0-dev libxcb-randr0-dev libpcre3-dev`| |
39 |
| -|Gentoo Linux|`x11-libs/libxcb x11-libs/xcb-util x11-libs/xcb-util-wm`| |
40 |
| -|Void Linux |`libxcb-devel xcb-util-devel xcb-util-wm-devel pcre-devel`| |
41 |
| -|OpenBSD |`/usr/ports/x11/xcb` | |
42 |
| - |
43 |
| -If the dependencies for your operating system are not listed yet, feel free to |
44 |
| -contribute them to the list. |
45 |
| - |
46 |
| -If your operating system does not provide them as packages you can collect |
47 |
| -them from freedesktop via git and build them from source. |
48 |
| - |
49 |
| -``` |
50 |
| -$ git clone git://anongit.freedesktop.org/xcb/libxcb |
51 |
| -$ git clone git://anongit.freedesktop.org/xcb/util |
52 |
| -$ git clone git://anongit.freedesktop.org/xcb/util-wm |
53 |
| -``` |
54 |
| - |
55 |
| -###### [return to table of contents](#table-of-contents) |
56 |
| - |
57 |
| -## Installation |
58 |
| - |
59 |
| -``` |
60 |
| -$ git clone https://github.com/Sweets/custard |
61 |
| -$ cd custard |
62 |
| -$ make |
63 |
| -$ sudo make install |
64 |
| -$ make clean |
65 |
| -``` |
66 |
| - |
67 |
| -###### [return to table of contents](#table-of-contents) |
68 |
| - |
69 |
| -# usage |
70 |
| - |
71 |
| -## commandline arguments |
72 |
| - |
73 |
| -|Argument|Function| |
74 |
| -|-|-| |
75 |
| -|`--debug`|Enables the debug mode from the command-line| |
76 |
| -|`--rc`|Sets the rc file that will be ran when custard starts. The next argument must be a file that is both readable and executable.| |
77 |
| - |
78 |
| -If the first argument of the commandline after the `custard` binary is a single hyphen |
79 |
| -(`-`) then custard will start as a controller and not a window manager. |
80 |
| - |
81 |
| -###### [return to table of contents](#table-of-contents) |
82 |
| - |
83 |
| -## using custard with xinit |
84 |
| - |
85 |
| -###### [return to table of contents](#table-of-contents) |
86 |
| - |
87 |
| -## using custard with a display manager |
88 |
| - |
89 |
| -TODO: this |
90 |
| - |
91 |
| -###### [return to table of contents](#table-of-contents) |
92 |
| - |
93 |
| ---- |
94 |
| - |
95 |
| -# configuration |
96 |
| - |
97 |
| -``` |
98 |
| -$ custard - configure ([setting name] [setting value])... |
99 |
| -``` |
100 |
| - |
101 |
| -The configure command allows you to change variables that are used by the |
102 |
| -window manager as a whole. |
103 |
| - |
104 |
| -Any amount of setting name and value pairs can be provided to the controller, |
105 |
| -and all of the settings will be changed. |
106 |
| - |
107 |
| -|Setting name|Default value|Accepted inputs|Behavior| |
108 |
| -|-|-|-|-| |
109 |
| -|`grid.rows`|`2`|Any positive integer|Sets the default amount of rows for a grid| |
110 |
| -|`grid.columns`|`3`|Any positive integer|Sets the default amount of columns for a grid| |
111 |
| -|`grid.margins`|`0`|Any positive integer|Sets the default grid gap size| |
112 |
| -|`grid.margin.top`|`0`|Any position integer|Sets the default grid offset from the top of the screen| |
113 |
| -|`grid.margin.bottom`|`0`|Any position integer|Sets the default grid offset from the bottom of the screen| |
114 |
| -|`grid.margin.left`|`0`|Any position integer|Sets the default grid offset from the left of the screen| |
115 |
| -|`grid.margin.right`|`0`|Any position integer|Sets the default grid offset from the right of the screen| |
116 |
| -|`borders`|`0`|Any positive integer|Sets the default amount of borders for a window. Currently a maximum of three borders is supported.| |
117 |
| -|`border.size.inner`|`0`|Any positive integer|Sets the default inner-border size for a window. Unused for single-border windows| |
118 |
| -|`border.size.outer`|`0`|Any positive integer|Sets the default inner-border size for a window| |
119 |
| -|`border.color.focused`|`#FFFFFFFF`|Any hexadecimal color, with or without an alpha channel|Sets the default focused color for a window border| |
120 |
| -|`border.color.unfocused`|`#676767FF`|Any hexadecimal color, with or without an alpha channel|Sets the default unfocused color for a window border| |
121 |
| -|`border.color.background`|`#000000FF`|Any hexadecimal color, with or without an alpha channel|Sets the default background color for a window. Also used as a border background color for two or more borders| |
122 |
| -|`border.colors.flipped`|`False`|Any boolean (`True` or `False`)|Flips border colors between the focus-state color and background color| |
123 |
| -|`workspaces`|`1`|Any positive integer|Sets the amount of available workspaces. Workspaces are available per monitor| |
124 |
| - |
125 |
| -### Example usage |
126 |
| - |
127 |
| -``` |
128 |
| -$ custard - configure \ |
129 |
| - grid.rows 2 \ |
130 |
| - grid.columns 3 \ |
131 |
| - grid.margins 0 \ |
132 |
| - grid.margin.top 0 \ |
133 |
| - grid.margin.bottom 0 \ |
134 |
| - grid.margin.left 0 \ |
135 |
| - grid.margin.right 0 \ |
136 |
| - borders 0 \ |
137 |
| - border.size.outer 0 \ |
138 |
| - border.size.inner 0 \ |
139 |
| - border.color.focused '#FFFFFFFF' \ |
140 |
| - border.color.unfocused '#676767FF' \ |
141 |
| - border.color.background '#000000FF' |
142 |
| -``` |
143 |
| - |
144 |
| -###### [return to table of contents](#table-of-contents) |
145 |
| - |
146 |
| -# configuring the virtual grid |
147 |
| - |
148 |
| -custard uses a virtual grid to size and position windows on the screen. |
149 |
| -There are global settings that the window manager uses to configure a grid, |
150 |
| -but each grid is per monitor output, and as such, each monitor can have their |
151 |
| -own grid settings. |
152 |
| - |
153 |
| -###### [return to table of contents](#table-of-contents) |
154 |
| - |
155 |
| ---- |
| 12 | +For usage, installation, configuration, and/or usage, consult the GitHub |
| 13 | +[wiki](https://github.com/Sweets/custard/wiki). |
0 commit comments