Skip to content

shmalebx9/athanasius

Repository files navigation

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.

Alt Text

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

Alt Text

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

michael

Simeon

simeon

Leo

leo

Bruno

bruno

Akita

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

  1. clone the repo wherever you like
  2. run the AWMsetup script
  3. 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:

RemixIcons

Picol Icons

Font Awesome

Ionicons

OctIcons

Elusive Icons

Minicons

Foundation Icons

Entypo

Metrize

Iconic

Steadysheets

Other Icons

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