1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
monsterwm
=========
→ tiny and monsterous!
----------------------
**monsterwm** is a minimal, lightweight, tiny but monsterous dynamic tiling window manager.
It will try to stay as small as possible. Currently under 750 lines with the config file included.
It provides a set of different layout modes (see below), and has partial floating mode support.
Each virtual desktop has its own properties, unaffected by other desktops' settings.
For screenshots and ramblings/updates check the [topic on ArchLinux forums][monsterwm].
[monsterwm]: https://bbs.archlinux.org/viewtopic.php?id=132122
Modes
-----
Monsterwm allows opening the new window as master or
opening the window at the bottom of the stack (attach\_aside)
---
*Common tiling mode:*
--------------
| | W |
| |___|
| Master | |
| |___|
| | |
--------------
---
*Bottom Stack (bstack) tiling mode:*
-------------
| |
| Master |
|-----------|
| W | | |
-------------
---
*Grid tiling mode:*
-------------
| | | |
|---|---|---|
| | | |
|---|---|---|
| | | |
-------------
---
*Monocle mode* (aka fullscreen)
-------------
| |
| no |
| borders! |
| |
-------------
---
*partial floating mode*
-------------
| | |
|--' .---. |
| | | |
| | | |
------`---'--
_Partial_ floating mode means that one can freely move and resize windows, but
the windows will revert to their tiling mode position once a window is added or
removed, and that window is not transient.
---
All accessible with keyboard and mouse shortcuts are defined in the config.h file.
* The window W at the top of the stack can be resized on a per desktop basis.
* Changing a tiling mode or window size on one desktop doesn't affect the other desktops.
Panel - Statusbar
-----------------
The user can define an empty space on the bottom or top of the screen, to be
used by a panel. The panel is toggleable, but will be visible if no windows are
on the screen.
Monsterwm does not provide a panel and/or statusbar itself. Instead it adheres
to the [UNIX philosophy][unix] and outputs information about the existent
desktop, the number of windows on each, the mode of each desktop, the current
desktop and urgent hints whenever needed. The user can use whatever tool or
panel suits him best (dzen2, conky, w/e), to process and display that information.
[unix]: http://en.wikipedia.org/wiki/Unix_philosophy
Installation
------------
You need Xlib, then,
copy `config.def.h` as `config.h`
and edit to suit your needs.
Build and install.
$ cp config.def.h config.h
$ $EDITOR config.h
$ make
# make clean install
Bugs
----
For any bug or request [fill an issue][bug] on [GitHub][ghp] or report on the [ArchLinux topic][monsterwm]
[bug]: https://github.com/c00kiemon5ter/monsterwm/issues
[ghp]: https://github.com/c00kiemon5ter/monsterwm
License
-------
Licensed under MIT/X Consortium License, see [LICENSE][law] file for more copyright and license information.
[law]: https://raw.github.com/c00kiemon5ter/monsterwm/master/LICENSE
Thanks
------
[the suckless team][skls] for [dwm][],
[moetunes][] for [dminiwm][],
[pyknite][] for [catwm][]
[skls]: http://suckless.org/
[dwm]: http://dwm.suckless.org/
[moetunes]: https://github.com/moetunes
[dminiwm]: https://bbs.archlinux.org/viewtopic.php?id=126463
[pyknite]: https://github.com/pyknite
[catwm]: https://github.com/pyknite/catwm
|