set custom icons for gui and terminal applications in awesomewm
Go to file
BZ 7b37f7eece xprop hint 2020-06-19 15:38:47 +02:00
README.md xprop hint 2020-06-19 15:38:47 +02:00
dynamictitles.bash rename example shell configurations (again) 2020-06-19 14:56:08 +02:00
dynamictitles.zsh rename example shell configurations (again) 2020-06-19 14:56:08 +02:00
init.lua cleanup variable definition 2020-06-19 14:15:43 +02:00

README.md

icon_customizer for awesomewm

Features:

  • Define your own icons for applications
  • Set custom icons for terminal applications by using regular expressions

Prerequisite:

You need to configure your shell and terminal to support dynamic titles. Verify your setup by typing sleep 5 in your terminal. If the title (WM_NAME) of the terminal changes while sleep is running, you are good to go. Otherwise your shell is most likely not configured to show dynamic titles.

Minimal configurations are provided for bash and zsh:

echo "source ~/.config/awesome/icon_customizer/dynamictitles.bash" >> ~/.bashrc
echo "source ~/.config/awesome/icon_customizer/dynamictitles.zsh" >> ~/.zshrc

Installation:

Clone the repo and import the module:

  1. git clone https://github.com/intrntbrn/icon_customizer ~/.config/awesome/icon_customizer
  2. echo "require('icon_customizer'){}" >> ~/.config/awesome/rc.lua

Example Configuration:

Define your custom icons in theme.lua:

local icon_dir = os.getenv("HOME") .. "/.config/awesome/icons/"
theme.ic_icons = {
	["Chromium"] = icon_dir .. "chromium.png",
	["firefox"] = icon_dir .. "firefox.png",
	["Zathura"] = icon_dir .. "zathura.png",
	["Steam"] = icon_dir .. "steam.png",
	["discord"] = icon_dir .. "discord.png",
	["Alacritty"] = icon_dir .. "terminal.png",
	["kitty"] = icon_dir .. "terminal.png"
}

theme.ic_dynamic_classes = { "Alacritty", "kitty", "St", "URxvt", "Termite" }
theme.ic_dynamic_icons = {
	["- NVIM$"] = icon_dir .. "vim.png",
	["- VIM$"] = icon_dir .. "vim.png",
	["- TMUX$"] = icon_dir .. "tmux.png",
	["^ranger$"] = icon_dir .. "file-manager.png",
	["^spt$"] = icon_dir .. "spotify.png",
	["^googler$"] = icon_dir .. "google.png",
	["- rtv"] = icon_dir .. "reddit.png"
}

Get application class names or titles by using xprop.

Limitations:

It is not possible to set custom icons for applications that are constantly updating the icon themselves (e.g. Gimp).