- Define your own icons for applications
- Set custom icons for terminal applications based on client title
Dynamic terminal icons (as shown on gif) require you to have a shell-terminal-stack that supports dynamic titles (the title of the client (WM_NAME
) changes based on the running app or pwd).
Not every terminal or shell supports dynamic titles or is configured correctly out of the box.
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
Clone the repo and import the module:
git clone https://github.com/intrntbrn/icon_customizer ~/.config/awesome/icon_customizer
echo "require('icon_customizer'){ delay = 0.2 }" >> ~/.config/awesome/rc.lua
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"
}
theme.ic_fallback_icon = icon_dir .. "default_icon.png"
Get application class names or titles by using xprop
.
Applications can still overwrite your custom icon.
- icons: numix circle
- awesomewm taglist: fancy_taglist