Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jorisvink/coma
My minimalistic X11 window manager. || This is a read-only mirror, pull requests are ignored.
https://github.com/jorisvink/coma
windowmanager x11 x11-wm
Last synced: about 19 hours ago
JSON representation
My minimalistic X11 window manager. || This is a read-only mirror, pull requests are ignored.
- Host: GitHub
- URL: https://github.com/jorisvink/coma
- Owner: jorisvink
- License: isc
- Created: 2019-01-04T12:45:55.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-03-07T07:01:03.000Z (8 months ago)
- Last Synced: 2024-08-04T02:07:43.536Z (3 months ago)
- Topics: windowmanager, x11, x11-wm
- Language: C
- Homepage:
- Size: 177 KB
- Stars: 40
- Watchers: 5
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ricing - coma - My minimalistic X11 window manager. (C) (Packages / window-managers)
README
About
-----Coma is a minimalistic X11 Window Manager.
It makes my life easier when hacking on my laptop as by default
I will get my 2 frames containing 80 column terminals with a nice
gap and layout.Read the included manual page for more information.
License
-------
Coma is licensed under the ISC license.Building
--------Coma should build fine on MacOS, Linux and OpenBSD.
OpenBSD:
```
$ make
$ doas make install
```MacOS:
```
$ export PKG_CONFIG_PATH=/opt/X11/share/pkgconfig:/opt/X11/lib/pkgconfig
$ make
$ sudo make install
```Linux (requires libbsd):
```
$ env CFLAGS=-D_GNU_SOURCE LDFLAGS=-lbsd make
$ sudo make install
```Shell setup
-----------Coma ties in directly with your xterms and running shell. With the help
of your shell you can update coma on the hostname, pwd and commands
running in the clients.Here's a snippet from my .zshrc that can get you started:
```
precmd() {
print -Pn "\e]0;%M;%d;zsh\a"
}preexec() {
cmd=`echo $1 | cut -f1 -d' '`
if [ "$cmd" = "vi" ] || [ "$cmd" = $EDITOR ]; then
cmd=`echo $1 | cut -f2 -d' '`
fiprint -Pn "\e]0;%M;%d;$cmd\a"
}
```Coma expects the information from the shell in the following format:
hostname;directory;running command
If your environment is configured like the above Coma will be able to
execute commands on remote hosts transparently via prefix-e as it will
auto detect what host you are currently on and execute the coma-remote
script to connect to it before executing the command given.Key bindings
------------
All key bindings are changable via the config file (see coma.1).C-t = prefix
prefix-c = new xterm
prefix-e = open command execution input
prefix-Space = toggle popup area
prefix-colon = coma internal command prompt
prefix-p = previous window
prefix-n = next window
prefix-r = restart Coma
prefix-h = move to frame to the left of current frame
prefix-l = move to frame to the right of current frame
prefix-k = kill client in current frame
prefix-i = move the active client to the left
prefix-o = move the active client to the right
prefix-s = split frame
prefix-q = client quick selection list
prefix-m = merge frame back together
prefix-f = toggle focus between split frames
prefix-z = zoom/unzoom current frame to cover all frames
Screenshots
-----------![coma](https://coma.one/wm/screenshots/coma2.png?raw=true)