Dynamically update the name of each i3wm workspace using font-awesome icons or the names of applications running in each workspace.
Project description
# i3-workspace-names-daemon
This script dynamically updates [i3wm](https://i3wm.org/) workspace names based on the names of the windows therein.
It also allows users to define an icon to show for a named window from the [Font Awesome](https://origin.fontawesome.com/icons?d=gallery) icon list.
### install
Install the [package](https://pypi.org/project/i3-workspace-names-daemon/) from pypi with [pip](https://pypi.org/project/pip/).
```
sudo pip3 install i3-workspace-names-daemon
```
**NB. if you don't have sudo privileges instead do**
```
pip3 install --user i3-workspace-names-daemon
```
##### font
Install the [Font Awesome](https://origin.fontawesome.com/icons?d=gallery) font via your favourite package manager. This is necessary if you want to show an icon instead of a window's name in the i3 status bar.
For Debian/Ubuntu et al.
```
sudo apt install fonts-font-awesome
```
**NB: if the glyphs are not rendering make sure the font is installed.**
### i3 config
Add the following line to your ``~/.i3/config``.
```
exec_always --no-startup-id exec i3-workspace-names-daemon
```
If you use the ``$mod+1`` etc. shortcuts to switch workspaces then update the following so that the *switch to workspace* and *move focussed window to workspace* **shortcuts still work**.
from
```
bindsym $mod+1 workspace 1
bindsym $mod+Shift+1 move container to workspace 1
# etc
```
to
```
bindsym $mod+1 workspace number 1
bindsym $mod+Shift+1 move container to workspace number 1
# etc
```
### icons config
Configure what icons to show for what application-windows in the file ``~/.i3/app-icons.json`` or ``~/.config/i3/app-icons.json`` (in JSON format). For example:
```
chris@vulcan: ~$ cat ~/.i3/app-icons.json
{
"firefox": "firefox",
"chromium-browser": "chrome",
"chrome": "chrome",
"google-chrome": "chrome",
"x-terminal-emulator": "terminal",
"thunderbird": "envelope",
"jetbrains-idea-ce": "edit",
"nautilus": "folder-open",
"clementine": "music",
"vlc": "play",
"signal": "comment"
}
```
where the key is the name of the i3-window (ie. what is shown in the i3-bar when it is not configured yet) and the value is the font-awesome icon name you want to show instead, see [picking icons](#picking-icons).
### picking icons
The easiest way to pick an icon is to search for one in the [gallery](https://origin.fontawesome.com/icons?d=gallery). **NB: the "pro" icons are not available in the debian package as you might expect.**
##### FAQ
https://pypi.org/project/i3-workspace-names-daemon/
This script dynamically updates [i3wm](https://i3wm.org/) workspace names based on the names of the windows therein.
It also allows users to define an icon to show for a named window from the [Font Awesome](https://origin.fontawesome.com/icons?d=gallery) icon list.
### install
Install the [package](https://pypi.org/project/i3-workspace-names-daemon/) from pypi with [pip](https://pypi.org/project/pip/).
```
sudo pip3 install i3-workspace-names-daemon
```
**NB. if you don't have sudo privileges instead do**
```
pip3 install --user i3-workspace-names-daemon
```
##### font
Install the [Font Awesome](https://origin.fontawesome.com/icons?d=gallery) font via your favourite package manager. This is necessary if you want to show an icon instead of a window's name in the i3 status bar.
For Debian/Ubuntu et al.
```
sudo apt install fonts-font-awesome
```
**NB: if the glyphs are not rendering make sure the font is installed.**
### i3 config
Add the following line to your ``~/.i3/config``.
```
exec_always --no-startup-id exec i3-workspace-names-daemon
```
If you use the ``$mod+1`` etc. shortcuts to switch workspaces then update the following so that the *switch to workspace* and *move focussed window to workspace* **shortcuts still work**.
from
```
bindsym $mod+1 workspace 1
bindsym $mod+Shift+1 move container to workspace 1
# etc
```
to
```
bindsym $mod+1 workspace number 1
bindsym $mod+Shift+1 move container to workspace number 1
# etc
```
### icons config
Configure what icons to show for what application-windows in the file ``~/.i3/app-icons.json`` or ``~/.config/i3/app-icons.json`` (in JSON format). For example:
```
chris@vulcan: ~$ cat ~/.i3/app-icons.json
{
"firefox": "firefox",
"chromium-browser": "chrome",
"chrome": "chrome",
"google-chrome": "chrome",
"x-terminal-emulator": "terminal",
"thunderbird": "envelope",
"jetbrains-idea-ce": "edit",
"nautilus": "folder-open",
"clementine": "music",
"vlc": "play",
"signal": "comment"
}
```
where the key is the name of the i3-window (ie. what is shown in the i3-bar when it is not configured yet) and the value is the font-awesome icon name you want to show instead, see [picking icons](#picking-icons).
### picking icons
The easiest way to pick an icon is to search for one in the [gallery](https://origin.fontawesome.com/icons?d=gallery). **NB: the "pro" icons are not available in the debian package as you might expect.**
##### FAQ
https://pypi.org/project/i3-workspace-names-daemon/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for i3-workspace-names-daemon-0.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b2821e3e11c82130f82936340d844747ebe1d5d1adc5f103ef177dcfd176d77 |
|
MD5 | 2a99f3295ac40c4db257d74ab654d1f1 |
|
BLAKE2b-256 | 5e1d3d189bd5e290a9e440794d73d54b48195cf1a209b502513c7f24c479468d |