A simple scrolling window manager/compositor for River. It is written to fit my specific needs, and a way to teach myself how to code in rust.
* may be added later
v0.1.0

cargo build --release
sudo cp target/release/mackenzie /usr/local/bin/
cp examples/mackenzie.toml ~/.config/river/
Mackenzie needs to be invoked using River:
river -c mackenzie
or add a line to exec mackenzie in the river init file ~/.config/river/init as follows:
#!/bin/bash
swaybg -c "#252525" &
waybar &
# ... other autostart items
exec /usr/local/bin/mackenzie
For use as an ipc client:
mackenzie --get [status|version|tags]
--watch tags
--action focus_tag 1
focus left
quit
... etc
Default configuration file is read from $HOME/.config/river/mackenzie.toml.
It is divided into 5 sections:
[layout]
n_tags = 3
gap = 10
scroll_edge_gap = 15
default_column_width = 0.5
[window]
move_resize_step = 15
border_width = 2
border_color_focused = "#1793D0"
border_color_unfocused = "#333333FF" # Specify the alpha with the last two digits
[inputs]
xkb_layout = "us"
xkb_options = "compose:ralt"
touchpad_tap_click = true
touchpad_natural_scroll = true
[rules]
windowrules = [
# template:
# { app_id="id", title="some title", width=0.5, maximized = true, floating=true, tag=1, output="output_name" }
{app_id="Firefox", floating = true},
]
[keybinds]
# Mod1=Alt, Mod4=Super
Mod1-space = { action="spawn", args=["foot"] }
Mod4-Shift-h = { action="focus", args=["left"] }
XF86AudioMute = { action="spawn", args=["pactl", "set-sink-mute", "@DEFAULT_SINK@", "toggle"] }
Mod1+space spawns foot terminal emulatorMod1+q to quit the compositor[mousebinds]
Mod1-BTN_LEFT = { action="move_floating" }
Mod1-BTN_RIGHT = { action="resize_floating" }
Please use the Github Issues Tracker to report bugs and issues.
A simple scrolling window manager/compositor for River. It is written to fit my specific needs, and a way to teach myself how to code in rust.
* may be added later
v0.1.0

cargo build --release
sudo cp target/release/mackenzie /usr/local/bin/
cp examples/mackenzie.toml ~/.config/river/
Mackenzie needs to be invoked using River:
river -c mackenzie
or add a line to exec mackenzie in the river init file ~/.config/river/init as follows:
#!/bin/bash
swaybg -c "#252525" &
waybar &
# ... other autostart items
exec /usr/local/bin/mackenzie
For use as an ipc client:
mackenzie --get [status|version|tags]
--watch tags
--action focus_tag 1
focus left
quit
... etc
Default configuration file is read from $HOME/.config/river/mackenzie.toml.
It is divided into 5 sections:
[layout]
n_tags = 3
gap = 10
scroll_edge_gap = 15
default_column_width = 0.5
[window]
move_resize_step = 15
border_width = 2
border_color_focused = "#1793D0"
border_color_unfocused = "#333333FF" # Specify the alpha with the last two digits
[inputs]
xkb_layout = "us"
xkb_options = "compose:ralt"
touchpad_tap_click = true
touchpad_natural_scroll = true
[rules]
windowrules = [
# template:
# { app_id="id", title="some title", width=0.5, maximized = true, floating=true, tag=1, output="output_name" }
{app_id="Firefox", floating = true},
]
[keybinds]
# Mod1=Alt, Mod4=Super
Mod1-space = { action="spawn", args=["foot"] }
Mod4-Shift-h = { action="focus", args=["left"] }
XF86AudioMute = { action="spawn", args=["pactl", "set-sink-mute", "@DEFAULT_SINK@", "toggle"] }
Mod1+space spawns foot terminal emulatorMod1+q to quit the compositor[mousebinds]
Mod1-BTN_LEFT = { action="move_floating" }
Mod1-BTN_RIGHT = { action="resize_floating" }
Please use the Github Issues Tracker to report bugs and issues.