├── README.md ├── icons-wl └── icons-x11 /README.md: -------------------------------------------------------------------------------- 1 | ![image](https://github.com/iguanajuice/sway-font-awesome/assets/125163000/7d0f9d47-27e3-4525-8177-c66a70370410) 2 | 3 | Inspired by [this comment,](https://github.com/swaywm/sway/issues/4882#issuecomment-611464474) this is a sway config file for adding icons in title bars using [Font Awesome](https://fontawesome.com/search?o=r&m=free) and [Nerd Fonts Symbols.](https://www.nerdfonts.com/cheat-sheet) 4 | 5 | Normally, this is very tedidous to do; so to not waste time on a grand scale with everyone manually trying to specifiy an icon for each app, I decided to make this repo as a shortcut for people who are interested. 6 | 7 | # Usage 8 | 9 | 1. Install Font Awesome. 10 | 11 | Arch-based: 12 | ``` 13 | sudo pacman -S ttf-font-awesome 14 | ``` 15 | 16 | Debian-based: 17 | ``` 18 | sudo apt install fonts-font-awesome 19 | ``` 20 | 21 | Every other distro: https://fontawesome.com/download 22 | 23 | 2. Install Nerd Fonts Symbols. 24 | 25 | Arch-based: 26 | ``` 27 | sudo pacman -S ttf-nerd-fonts-symbols 28 | ``` 29 | 30 | Every other distro: https://github.com/ryanoasis/nerd-fonts/releases 31 | 32 | 3. Clone the repo to `~/.config/sway/` 33 | ``` 34 | cd ~/.config/sway/ 35 | git clone https://github.com/iguanajuice/sway-font-awesome 36 | ``` 37 | 38 | 4. Add lines... 39 | ``` 40 | # Enable title bar icons 41 | exec cd ~/.config/sway/sway-font-awesome && git reset --hard && git pull 42 | include sway-font-awesome/icons-wl 43 | include sway-font-awesome/icons-x11 # exclude if sway is compiled without xwayland 44 | ``` 45 | ...to `~/.config/sway/config` 46 | 47 | 5. Enable pango in sway's config: 48 | ``` 49 | font pango:YourChoiceOfFont [font_size] 50 | ``` 51 | 52 | # Opening issues 53 | 54 | If there are any apps that I haven't added an icon for yet; please open an issue with the `app_id` or `class` of the application that's missing an icon. 55 | 56 | You can find the app_id/class by launching the app and running `swaymsg -t get_tree` in a terminal. 57 | 58 | # Opening PRs 59 | Please follow these rules: 60 | * Be sure to update icons by relogging in before opening any issues. 61 | * Everything should be sorted alphabetically. 62 | * `app_id` and `class` entries should stay seperated. 63 | * Icon should be from Font Awesome primarily. Use Nerd Fonts Symbols if FA has nothing better. 64 | * Icon should be wrapped in `` and `` tags. 65 | * There must be a space between `` and `%title`. 66 | * Due to a bug in god knows where, the first `` tag must be preceded by a soft-hyphen. You can type this special character by pressing Ctrl+Shift+u, typing "ad", then pressing enter. 67 | * If an icon is rendered too small, increase size to 110%, 120%, 133%, or 150%. Icon size should be consistent to one another. 68 | * If an icon is placed too high, use `rise='-1pt'` to lower it. 69 | -------------------------------------------------------------------------------- /icons-wl: -------------------------------------------------------------------------------- 1 | for_window [app_id=^Alacritty$|^foot$|^footclient$|^kitty$|-terminal$] title_format "­ %title" 2 | for_window [app_id=^antimicrox$] title_format "­ %title" 3 | for_window [app_id=^avahi-discover$|^bssh$|^bvnc$] title_format "­ %title" 4 | for_window [app_id=^assistant$|^designer$|^linguist$|^qdbusviewer$] title_format "­󰜬 %title" 5 | for_window [app_id=^audacity$] title_format "­󱑽 %title" 6 | for_window [app_id=^blender$] title_format "­󰂫 %title" 7 | for_window [app_id=^cinnamon-settings.py$] title_format "­ %title" 8 | for_window [app_id=^com.github.hluk.copyq$] title_format "­ %title" 9 | for_window [app_id=^com.usebottles.Bottles$] title_format "­ %title" 10 | for_window [app_id=^com.github.tchx84.Flatseal$] title_format "­󱛟 %title" 11 | for_window [app_id=^com.obsproject.Studio$] title_format "­ %title" 12 | for_window [app_id=^corectrl$|^radeon-profile$] title_format "­󰙪 %title" 13 | for_window [app_id=^de.shorsh.discord-screenaudio$] title_format "­󰙯 %title" 14 | for_window [app_id=^deadbeef$] title_format "­󰜋 %title" 15 | for_window [app_id=^deluge$] title_format "­ %title" 16 | for_window [app_id=^discord$|^webcord$] title_format "­ %title" 17 | for_window [app_id=^dolphin$|^nemo$|^org.gnome.Nautilus$|^pcmanfm$|^pcmanfm-qt$|^thunar$] title_format "­ %title" 18 | for_window [app_id=^dconf-editor$|^qt5ct$|^qt6ct$] title_format "­ %title" 19 | for_window [app_id=^eog$|^eom$|^feh$|^ristretto$|^xviewer$|^imv$] title_format "­ %title" 20 | for_window [app_id=^epiphany$|^org.qutebrowser.qutebrowser$] title_format "­ %title" 21 | for_window [app_id=^file-roller$] title_format "­ %title" 22 | for_window [app_id=^firefox$|^librewolf$|^firedragon$|^org.mozilla.firefox$|^firefox-esr$] title_format "­ %title" 23 | for_window [app_id=^galculator$|^gnome-calculator$|^mate-calc$|^org.kde.kalk$|^org.kde.kcalc$|^qalculate-gtk$] title_format "­󰃬 %title" 24 | for_window [app_id=^gedit$|^kate$|^mousepad$|^xed$] title_format "­ %title" 25 | for_window [app_id=^gimp-] title_format "­ %title" 26 | for_window [app_id=^gnome-boxes$] title_format "­ %title" 27 | for_window [app_id=^gnome-mines$] title_format "­󰈿 %title" 28 | for_window [app_id=^gnome-tetravex$] title_format "­󰐱 %title" 29 | for_window [app_id=^gtk3-|^org.gtk.] title_format "­ %title" 30 | for_window [app_id=^heroic$] title_format "­󱢾 %title" 31 | for_window [app_id=^info.mumble.Mumble$] title_format "­󰋎 %title" 32 | for_window [app_id=^input-remapper-gtk$] title_format "­ %title" 33 | for_window [app_id=^io.github.celluloid_player.Celluloid$] title_format "­󰈰 %title" 34 | for_window [app_id=^io.github.quodlibet.QuodLibet$] title_format "­󰎈 %title" 35 | for_window [app_id=^kdiskmark$] title_format "­󰓅 %title" 36 | for_window [app_id=^kvantummanager$|^lxappearance$|^nwg-look$] title_format "­ %title" 37 | for_window [app_id=^libreoffice-startcenter$] title_format "­ %title" 38 | for_window [app_id=^libreoffice-base$] title_format "­ %title" 39 | for_window [app_id=^libreoffice-calc$] title_format "­ %title" 40 | for_window [app_id=^libreoffice-draw$] title_format "­ %title" 41 | for_window [app_id=^libreoffice-impress$] title_format "­ %title" 42 | for_window [app_id=^libreoffice-math$] title_format "­ %title" 43 | for_window [app_id=^libreoffice-writer$] title_format "­ %title" 44 | for_window [app_id=^lutris$] title_format "­ %title" 45 | for_window [app_id=^mpv$] title_format "­ %title" 46 | for_window [app_id=^nm-applet$] title_format "­ %title" 47 | for_window [app_id=^nm-connection-editor$] title_format "­ %title" 48 | for_window [app_id=^org.gnome.Chess$] title_format "­󰡘 %title" 49 | for_window [app_id=^org.gnome.SystemMonitor$] title_format "­ %title" 50 | for_window [app_id=^org.inkscape.Inkscape$] title_format "­ %title" 51 | for_window [app_id=^org.kde.kdeconnect.] title_format "­ %title" 52 | for_window [app_id=^org.kde.kdenlive$] title_format "­ %title" 53 | for_window [app_id=^org.libretro.RetroArch$] title_format "­󰯉 %title" 54 | for_window [app_id=^org.prismlauncher.PrismLauncher$] title_format "­󰍳 %title" 55 | for_window [app_id=^org.pipewire.Helvum$] title_format "­ %title" 56 | for_window [app_id=^org.qbittorrent.qBittorrent$|transmission] title_format "­ %title" 57 | for_window [app_id=^org.wireshark.Wireshark$|transmission] title_format "­󱙳 %title" 58 | for_window [app_id=^pitivi$] title_format "­ %title" 59 | for_window [app_id=^pavucontrol] title_format "­ %title" 60 | for_window [app_id=^quadrapassel$] title_format "­ %title" 61 | for_window [app_id=^rhythmbox$] title_format "­󰓃 %title" 62 | for_window [app_id=^soundux$] title_format "­󰇥 %title" 63 | for_window [app_id=^virt-manager$] title_format "­ %title" 64 | for_window [app_id=^vesktop$] title_format "­ %title" 65 | for_window [app_id=^vlc$] title_format "­󰕼 %title" 66 | for_window [app_id=^vscode$|^code-url-handler$] title_format "­ %title" 67 | for_window [app_id=^waterfox$] title_format "­ %title" 68 | for_window [app_id=^Waydroid] title_format "­ %title" 69 | -------------------------------------------------------------------------------- /icons-x11: -------------------------------------------------------------------------------- 1 | for_window [class=^Ardour$] title_format "­󰔶 %title" 2 | for_window [class=^Audacity$|^lmms] title_format "­󱑽 %title" 3 | for_window [class=^Bitwarden$] title_format "­ %title" 4 | for_window [class=^Brave-browser$|^Vivaldi-stable$] title_format "­ %title" 5 | for_window [class=^Caja$|^Pcmanfm$] title_format "­ %title" 6 | for_window [class=^Chromium$|^Chromium-browser$|^Google-chrome$] title_format "­ %title" 7 | for_window [class=^qBittorrent$|^transmission$] title_format "­ %title" 8 | for_window [class=^Discord$|^WebCord$|^vesktop$] title_format "­ %title" 9 | for_window [class=^dolphin-emu$] title_format "­󱢴 %title" 10 | for_window [class=^firefox$|^librewolf$|^firedragon$] title_format "­ %title" 11 | for_window [class=^Gimp-] title_format "­ %title" 12 | for_window [class=^Genymotion] title_format "­ %title" 13 | for_window [class=^Godot$] title_format "­ %title" 14 | for_window [class=^heroic$] title_format "­󱢾 %title" 15 | for_window [class=^krita$] title_format "­ %title" 16 | for_window [class=^Lxappearance$] title_format "­ %title" 17 | for_window [class=^LBRY$] title_format "­ %title" 18 | for_window [class=^Microsoft-edge$] title_format "­ %title" 19 | for_window [class=^Minecraft] title_format "­󰍳 %title" 20 | for_window [class=^obs$] title_format "­ %title" 21 | for_window [class=^pcsx2-qt$|^rpcs3$] title_format "­ %title" 22 | for_window [class=^qalculate-qt$] title_format "­󰃬 %title" 23 | for_window [class=^qpwgraph$] title_format "­ %title" 24 | for_window [class=^REAPER$] title_format "­󰋅 %title" 25 | for_window [class=^Renoise$] title_format "­ %title" 26 | for_window [class=^Shotcut$] title_format "­󰏡 %title" 27 | for_window [class=^Signal$] title_format "­ %title" 28 | for_window [class=^steam$] title_format "­ %title" 29 | for_window [class=^Timeshift-gtk$] title_format "­ %title" 30 | for_window [class=^thunderbird$] title_format "­ %title" 31 | for_window [class=^VirtualBox] title_format "­ %title" 32 | for_window [class=^vlc$] title_format "­󰕼 %title" 33 | for_window [class=^waterfox$] title_format "­ %title" 34 | --------------------------------------------------------------------------------