<commit_before>Windowchef
==========

Cooking windows since 2016
--------------------------

Windowchef is a stacking window manager that doesn't handle keyboard or
pointer inputs. A third party program (like `sxhkd`) is needed in order to
translate keyboard and pointer events to `waitron` commands.

Waitron is a program that sends commands to the window manager through X client
messages. Waitron doesn't print anything on success. The commands and the
parameters are fed as program arguments and waitron delivers them to the
windowchef.

Windowchef is written in C with the help of the XCB library for
communicating with the X server. It supports randr and a subset of ewmh and
icccm.

### Dependencies

Windowchef depends on `xcb` to communicate with the X11 server, `xcb-randr` to
gather information about connected displays and `xcb-util-wm` for ewmh and icccm helper functions.

I couldn't find compiled documentation for `xcb-util-wm` so I compiled it and
put it on my website [here](http://thetudor.ddns.net/res).

Features
--------

* Move, teleport, enlarge/shrink and resize windows
* Maximize windows vertically/horizontally/fully
	* Supports maximizing via EWMH
* Close windows (either killing them or via ICCCM)
* Put windows in a virtual grid.
* Snap windows in the corners or in the middle of the screen
* Cycle windows forwards and backwards
* cwm-like window groups
	* Add or remove windows to a group
	* Activate/Deactivate/Toggle a group
* Simple and stylish solid-color border. Width can be configured
* Gaps around the monitor

### Soon to come

- [ ] Infinite number of borders

### Groups

A window belongs in a maximum number of 1 groups. You can show or hide as many
groups as you wish. For example, you can have *group 1* with a terminal window
for programming and another one with a shell opened and *group 2* with a
browser window. You can either show only *group 1*, only *group 2* or both
at the same time.

Windowchef allows you to add/remove windows to/from groups, show groups, hide
groups or toggle them.

### Virtual grids
<commit_msg>added two more items on the todo list<commit_after>Windowchef
==========

Cooking windows since 2016
--------------------------

Windowchef is a stacking window manager that doesn't handle keyboard or
pointer inputs. A third party program (like `sxhkd`) is needed in order to
translate keyboard and pointer events to `waitron` commands.

Waitron is a program that sends commands to the window manager through X client
messages. Waitron doesn't print anything on success. The commands and the
parameters are fed as program arguments and waitron delivers them to the
windowchef.

Windowchef is written in C with the help of the XCB library for
communicating with the X server. It supports randr and a subset of ewmh and
icccm.

### Dependencies

Windowchef depends on `xcb` to communicate with the X11 server, `xcb-randr` to
gather information about connected displays and `xcb-util-wm` for ewmh and icccm helper functions.

I couldn't find compiled documentation for `xcb-util-wm` so I compiled it and
put it on my website [here](http://thetudor.ddns.net/res).

Features
--------

* Move, teleport, enlarge/shrink and resize windows
* Maximize windows vertically/horizontally/fully
	* Supports maximizing via EWMH
* Close windows (either killing them or via ICCCM)
* Put windows in a virtual grid.
* Snap windows in the corners or in the middle of the screen
* Cycle windows forwards and backwards
* cwm-like window groups
	* Add or remove windows to a group
	* Activate/Deactivate/Toggle a group
* Simple and stylish solid-color border. Width can be configured
* Gaps around the monitor

### Soon to come

- [ ] Infinite number of borders
- [ ] Move windows with the mouse
- [ ] Resize windows with the mouse

### Groups

A window belongs in a maximum number of 1 groups. You can show or hide as many
groups as you wish. For example, you can have *group 1* with a terminal window
for programming and another one with a shell opened and *group 2* with a
browser window. You can either show only *group 1*, only *group 2* or both
at the same time.

Windowchef allows you to add/remove windows to/from groups, show groups, hide
groups or toggle them.

### Virtual grids

{'fraction_non_alphanumeric': 0.07122641509433962, 'fraction_numerical': 0.005188679245283019, 'mean_word_length': 3.931395348837209, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7089959', 'n_tokens_mistral': 1181, 'n_tokens_neox': 1110, 'n_words': 631}