tREADME.md - wmutils - X windows manipulation utilities
HTML git clone git://z3bra.org/wmutils
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
tREADME.md (2887B)
---
1 wmutils' core
2 =============
3
4 wmutils' core is a set of tools for X windows manipulation. Each tool only has
5 one purpose, to make it as flexible and reliable as possible.
6
7 Here's a quick example. This snippet will put the currently focused window in
8 the middle of the screen:
9
10 #!/bin/sh
11
12 # get current window id, width and height
13 WID=$(pfw)
14 WW=$(wattr w $WID)
15 WH=$(wattr h $WID)
16
17 # get screen width and height
18 ROOT=$(lsw -r)
19 SW=$(wattr w $ROOT)
20 SH=$(wattr h $ROOT)
21
22 # move the current window to the center of the screen
23 wtp $(((SW - WW)/2)) $(((SH - WH)/2)) $WW $WH $WID
24
25 You also might want to check [sxhkd](https://github.com/baskerville/sxhkd), a
26 daemon which allow binding applications to hot keys.
27
28 utilities
29 ---------
30
31 Here are the tools. This project is quite young, new tools can arrive
32 without being added to this list, so take it with a grain of salt.
33
34 * chwb - change window's border
35 * chwso - change window's stacking order
36 * ignw - ignore/unignore window
37 * killw - kill windows
38 * lsw - list windows
39 * mapw - map/unmap windows
40 * pfw - print focused window
41 * pdw - print decoration window
42 * slw - select window interactively
43 * wattr - show window's attributes
44 * wmp - move the mouse pointer
45 * wmv - move a window
46 * wrs - resize a window
47 * wtf - focus a window
48 * wtp - teleport a window
49 * atomx - modify atoms on a window
50
51 All these tools come with a manpage ! read them for further informations.
52
53 dependencies
54 ------------
55
56 wmutils only relies on the XCB library.
57
58 license
59 -------
60
61 All the code of this project is released under the
62 [ISC](http://www.openbsd.org/policy.html) license. See LICENSE file.
63
64 build & install
65 ---------------
66
67 System-wide installation (default PREFIX is `/usr`):
68
69 $ make
70 # make install
71
72 Here are the variables you can override, along with their default values:
73
74 CC = cc
75 LD = $(CC)
76 CFLAGS = -std=c99 -pedantic -Wall -Os
77 LDFLAGS = -lxcb
78 PREFIX = /usr
79 MANPREFIX = $(PREFIX)/man
80 DESTDIR =
81
82 You can override them by passing them on the command line:
83
84 make DESTDIR=/newroot install
85
86 Or by setting them via the environment:
87
88 CC=c99; export CC
89 make -e
90
91 contribute
92 ----------
93
94 You can contribute to the project in many ways; be it by testing the software,
95 reporting bugs, submitting patches, or simply talking about it to other
96 people!
97 The official IRC channel for wmutils' talks is #wmutils @irc.freenode.net.
98
99 If you find a bug in the software, please report an issue. Same goes for
100 feature requests, if they match the project's philosophy.
101
102 When submitting pull requests, please reference the issue number. If there is
103 no issue to reference, then create one and wait for a validation of the bug
104 before submitting the pull request.
105
106 IF YOUR PULL REQUEST DOESN'T REFER TO A VALID ISSUE, IT WILL BE DISCARDED.