A theme manager for linux, currently focusing on i3. Supports multiple different configuration files, and is fast and portable.
All you technically require is cargo to be installed. Run:
git clone https://github.com/nicohman/raven.git && cd raven
cargo build --release
sudo cp targets/release/raven /usr/bin/raven
The following packages are required for their relevant options:
Feh: wall
Polybar: poly
Termite: termite
i3: wm
Ranger : ranger
Lemonbar : lemonbar
Ncmpcpp : ncmpcpp
You can also download a prebuilt binary from here
raven help
for a list of available commands:
Commands:
help : show this screen
load [theme] : load a complete theme
new [theme] : create a new theme
delete [theme] : delete a theme
refresh : load last loaded theme
edit [theme] : initialize editing [theme]
modify [option] : open the currently edited themes's [option] in $EDITOR
add [option] [file] : add option to current theme
cycle {{check|start|stop}} : manage theme cycling daemon
rm [option] : remove option from current theme
info : print info about the theme being currently edited
menu : show theme menu
A main config file is placed in ~/.config/raven/config, which has two options:
window_manager: |[window manager in use. Currently only i3 is supported.]|
monitor : |number of monitors available, to tell how many polybars to dupe.|
To configure a theme, start off by creating it with raven new [theme]
. You'll automatically start editing that theme. Run raven add [option] [file]
to add a specific option. This will copy the indicated file to raven's registry, and run/reload/copy it when the edited theme is loaded or refreshed. Run raven rm [option]
to remove an option from a theme. Available options are:
If you place an i3 config named base_i3 in ~/.config/raven, the contents of wm for a theme will be appended to it instead of being run on their own. This allows you to have a central config for keyboard shortcuts, and have cosmetics only be stored in the theme.
The lemonbar option should be a shell script that runs lemonbar(s). They will automatically be killed just like polybars when the theme is changed or reloaded.
Up to two polybars will be started, depending on how many monitors you have configured. The bars should be named, in order: main
and other
With the cycle command you can control a daemon that will automatically cycle through all of your configured themes. You need to edit ~/.config/raven/time
and place the number of seconds there should be inbetween each cycle into that file in order to use it.