Athanasius Rice Manager
Athanasius is a set of themes and bash utilities to handle switching between rices easily. Athanasius links configuration files for utilities like rofi, lemonbar, and picom to scripts in a central directory in the user's $PATH. Bars, compositors, and other programs can then be run with the specified theme without direct reconfiguration. The rices included are aimed at MMWM but are somewhat compatible with other WM's. Athanasius aims to make ricing easy by population athanasius.conf with variables useful in ricing scripts and config files. The autogenerated config file and related scripts make it easy to shift between machines and share configs by detecting the correct variables and frontloading the work of making your scripts compatible with other systems. For example, instead of sharing a bar script which detects whether the user is running pulseaudio or alsa, the scripts AWMgetvolume and AWMgetmute are already symlinked to the correct script in the default_scripts directory.
The included themes make use of lemonbar-xft over polybar or yabar to cut down on system resource usage. Each theme includes a bar which can pull system information seamlessly without prior configuration. The bars update volume and battery in real time without the need for loops or external scripts by reading the output of acpi_listen.
Usage
The setup script will automatically detect your battery, audioservice (pulseaudio or alsa), network interface, and WM and adjust its scripts accordingly.
To use athanasius in you own scripts simply source the athanasius configuration file to get variables like battery number (BAT1 or BAT0), audioservice (pulseaudio or alsa), wireless interface, and WM. This file is autogenerated once with the AWMsetup script which avoids the overhead of having the user input the correct values or having the script obtain them on every run. To source the file add:' . "$AWMdir/athanasius.conf"' to the top of your script. $AWMdir is a persistent environmental variable which points to wherever the user stores athanasius.
AWMtheme
To set the current theme type AWMtheme 'themename'
example:
AWMtheme leo
To create a theme simply create a directory in the themes folder and add configs to configs folder. To get a better idea how to create themes, check out the five included themes.
AWMpatch
This utility is useful if you don't want to have your rice stored in the athanasius directory. AWMpatch will patch configs in their respective default locations. AWMpatch takes a link to a file or github/gitlab link or local file and patches your existing config. Old configs are stored in the athanasius backups folder. AWMpatch can also easily revert the most recent changes made to the system.
To use simply run one of the following:
AWMpatch 'config'
AWMpatch 'github link'
AWMpatch -r
AWMmenu
The theme backend rices rofi by pointing to the correct config in a script called 'AWMtheme.' To use it just run AWMmenu
You can specify the type of menu you would like with command line flags (-h
to see the list of options). This allows you to easily bind keys to simple commands that will always follow changes to your rofi theme. The menu script includes a file quick-launch function with the -f
flag. The quick launcher looks through paths specified in the searchpaths
file in the main directory. You must populate the searchlist by typing gennew
the first time you run the file launcher. By default, the file-viewer uses my opener script but it can be changed to exo-open
for pleb-compatibility.
Useful scripts
To get volume information or change volume
AWMgetvolume
AWMgetmute
AWMaudioup
AWMaudiodown
These commands are useful in bar scripts or WM configurations since the script will have the desired effect regardless of whether the user is running pulseaudio or alsa.
To stop all proccesses initiated by the current theme.
AWMthemedown
Themes
To create a theme, simply add the config files you want to a directory in the themes directory. The name of any theme is the name of the directory where config files are stored. Athanasius comes with five basic example themes to demonstrate the basic file structure.
Michael
Simeon
Leo
Bruno
Akita
Theme Dependencies
- lemonbar-xft
- acpid
- rofi
- xdotool & xprop for michael theme
- picom-ibhagwan for all but Bruno, Leo, and Knight
- feh for setting wallpaper
installation
- clone the repo wherever you like
- run the AWMsetup script
- add 'AWMstart' to ~.xinitrc
Credits
Icon Font
The icon font is created entirely from free icons not made by me. The icon font is made up of the following:
Wallpapers
Wallpaper Photo by eberhard grossgasteiger from Pexels
wallpaper Photo by Min An from Pexels
Wallpaper Photo by Anni Roenkae from Pexels
Wallpaper by Dark Indigo from Pexels
Wallpaper from Imgur
Wallpaper by Tobias Jelskov from unsplash
Thanks
The bar scripts borrow work from fsfg and nan0s7. Work on rofi menus taken from CaptainUereka. Most of simeon's dunstrc taken form Hrqmonteiro The file viewer in AWMmenu is mostly taken from salman-abedin's bolt