- Configuration
- Status bar options
- Color theming
- Plugins
- attached-clients
- battery
- continuum
- cpu-usage
- cwd
- fossil
- git
- GPU Info (gpu-usage, gpu-ram-usage, gpu-power-draw)
- hg
- Kerberos TGT (krbtgt)
- kubernetes-context
- libreview
- mpc
- network
- network-bandwidth
- network-ping
- network-vpn
- playerctl
- ram-usage
- spotify-tui
- ssh-session
- synchronize-panes
- sys-temp
- terraform
- time
- tmux-ram-usage
- weather
- custom:script-name
Configuration - up
The following configuration works regardless of whether you are using $HOME/.tmux.conf
, or $XDG_CONFIG_HOME/tmux/tmux.conf
.
To enable plugins set up the @dracula-plugins
option in your .tmux.conf
file, separate plugin by space.
The order that you define the plugins will be the order on the status bar left to right.
The name of the plugin used in the table of contents, as well as each plugins headline, is the name to be used in the @dracula-plugins
option.
set -g @dracula-plugins "cpu-usage gpu-usage ram-usage"
For each plugin is possible to customize background and foreground colors. For more fine-grained color customization please reference Color theming.
# per default available colors: white, gray, dark_gray, light_purple, dark_purple, cyan, green, orange, red, pink, yellow
# set -g @dracula-[plugin-name]-colors "[background] [foreground]"
set -g @dracula-cpu-usage-colors "pink dark_gray"
Status bar options - up
Enable window flags
set -g @dracula-show-flags true
Adjust the refresh rate for the status bar
# the default is 5, it can accept any number
set -g @dracula-refresh-rate 5
Enable high contrast pane border
set -g @dracula-border-contrast true
Hide empty plugins
set -g @dracula-show-empty-plugins false
Powerline - up
Enable powerline symbols
set -g @dracula-show-powerline true
Switch powerline symbols
# for left
set -g @dracula-show-left-sep
# for right symbol (can set any symbol you like as separator)
set -g @dracula-show-right-sep
Make the powerline background transparent
set -g @dracula-powerline-bg-transparent true
# the left separator symbol is inversed with a transparent background, you can modify it with any symbol you like
set -g @dracula-inverse-divider
Left Icon - up
- The left icon can be set to anything static you'd like.
- However if you use tmux on multiple machines, it may be helpful to display the hostname.
- If you use multiple sessions simultaneously it can be good to name them and have the name in the left icon.
the following example uses formatting to display "hostname | session_name"
:
set -g @dracula-show-left-icon "#h | #S"
formats:
#H: Hostname of local host
#h: Hostname of local host (no domain name)
#S: name of session -> suggestion: alias trs to tmux rename-session
#W: current Window
more formats can be found here, though those without a shorthand like #H need to be used like #{host}, which is equivalent. reference: tmux(1) - OpenBSD manual pages
besides formats, any other string can be used.
additionally the left icons padding can be set like so:
# default is 1, it can accept any number and 0 disables padding.
set -g @dracula-left-icon-padding 1
Each individual widget's foreground and background color can be overridden. Additionally, the variables used for storing color values can be overridden and extended. This allows for the use of custom themes like catppuccin or gruvbox.
For everything regarding colors, please refer to the color theming directory.
attached-clients - up
This widget provides the number of clients attached to the current tmux session.
Set the minimum number of clients to show (otherwise, show nothing)
set -g @dracula-clients-minimum 1
Set the label when there is one client, or more than one client
set -g @dracula-clients-singular client
set -g @dracula-clients-plural clients
battery - up
This widget provides information about the current charge of the battery, whether it is attached to a powersupply and charging from it, or running off the powersupply without charging. it also detects desktop pcs having no battery.
Display any icon for the battery you'd like with:
set -g @dracula-battery-label "♥ "
to use nothing but nerdfont icons informing you about the current state, use the following, which will display the battery charge and whether its charging (or just drawing from AC) as nerdfont icons.
set -g @dracula-battery-label false
set -g @dracula-show-battery-status true
if you have no battery and would like the widget to hide in that case, set the following:
set -g @dracula-no-battery-label false
alternatively, if you have no battery and would like a nerdfont icon to indicate that, consider setting the following:
set -g @dracula-no-battery-label " "
continuum - up
Set the output mode. Options are:
- countdown: Show a T- countdown to the next save (default)
- time: Show the time since the last save
- alert: Hide output if no save has been performed recently
- interval: Show the continuum save interval
set -g @dracula-continuum-mode countdown
Show if the last save was performed less than 60 seconds ago (default threshold is 15 seconds)
set -g @dracula-continuum-time-threshold 60
Other options.
@dracula-continuum-first-save
@resurrect-dir
@continuum-save-last-timestamp
@continuum-save-interval
cpu-usage - up
This widget displays the cpu usage in percent by default, but can display cpu load on linux. Load average – is the average system load calculated over a given period of time of 1, 5 and 15 minutes (output: x.x x.x x.x)
set -g @dracula-cpu-display-load true
possible nerdfont settings for cpu usage label:
set -g @dracula-cpu-usage-label " "
nerdfont icons to consider:
set -g @dracula-refresh-rate 5
affects this widget
cwd - up
This widget displays the path of the current working directory.
fossil - up
TODO
git - up
This widget displays info about the current git repository.
Hide details of git changes
set -g @dracula-git-disable-status true
Set symbol to use for when branch is up to date with HEAD
# default is ✓. Avoid using non unicode characters that bash uses like $, * and !
set -g @dracula-git-show-current-symbol ✓
Set symbol to use for when branch diverges from HEAD
# default is unicode !. Avoid bash special characters
set -g @dracula-git-show-diff-symbol !
Set symbol or message to use when the current pane has no git repo
# default is unicode no message
set -g @dracula-git-no-repo-message ""
Hide untracked files from being displayed as local changes
# default is false
set -g @dracula-git-no-untracked-files true
Show remote tracking branch together with diverge/sync state
# default is false
set -g @dracula-git-show-remote-status true
gpu-info - up
These widgets display the current computational, ram, and power usage of installed graphics cards.
They are split into widgets with the names: gpu-usage, gpu-ram-usage, gpu-power-draw
.
hardware support:
- full support for NVIDIA gpus on linux.
- partial support for apple m-chips on MacOS.
- support for amd and intel is underway
If your gpu is not recognised, force the script to assume a certain brands.
set -g @dracula-force-gpu "NVIDIA"
To display the used vram in percent (gigabyte is default unit):
set -g @dracula-gpu-vram-percent true
Vram usage is displayed in gigabyte without decimal places per default. To change that behaviour, use the following options with the respective number of decimal places you'd like to get:
set -g @dracula-gpu-vram-used-accuracy ".2f"
set -g @dracula-gpu-vram-total-accuracy ".1f"
To display the power usage in percent (watt is default unit):
set -g @dracula-gpu-power-percent true
Possible nerdfont settings for gpu info labels:
set -g @dracula-gpu-power-label " "
set -g @dracula-gpu-usage-label " "
set -g @dracula-gpu-vram-label " "
nerdfont icons to consider:
set -g @dracula-refresh-rate 5
affects this widget
hg - up
This widget displays info about the current mercurial repository.
Hide details of hg changes
set -g @dracula-hg-disable-status true
Set symbol to use for when branch is up to date with HEAD
#default is ✓.Avoid using non unicode characters that bash uses like $, * and !
set -g @dracula-hg-show-current-symbol ✓
Set symbol to use for when branch diverges from HEAD
#default is unicode !.Avoid bash special characters
set -g @dracula-hg-show-diff-symbol !
Set symbol or message to use when the current pane has no hg repo
#default is unicode no message
set -g @dracula-hg-no-repo-message ""
Hide untracked files from being displayed as local changes
#default is false
set -g @dracula-hg-no-untracked-files false
Kerberos TGT - up
This widgets name is krbtgt
.
Set the principal to check the TGT expiration date for (with or without the REALM)
set -g @dracula-krbtgt-principal "principal"
kubernetes-context - up
Add prefix label before the context
set -g @dracula-kubernetes-context-label "Some Label"
Hide user from the context string
set -g @dracula-kubernetes-hide-user true
Hide ARN (show only cluster name) - Available for EKS only (only available for cluster names that are ARNs)
set -g @dracula-kubernetes-eks-hide-arn true
Extract the account as a prefix to the cluster name - Available for EKS only (only available for cluster names that are ARNs)
set -g @dracula-kubernetes-eks-extract-account true
libreview - up
This script retrieves and displays continuous glucose monitoring (CGM) data from the LibreView API. It caches the data to minimize API requests and displays the latest glucose level along with a trend indicator in a Tmux status bar.
mpc - up
This widget displays music information provided by mpc.
To format the display format:
set -g @dracula-mpc-format "%title% - %artist%"
set -g @dracula-refresh-rate 5
affects this widget
network - up
This widget displays one of three states: offline, ethernet connected, or wifi connected. however, per default this will only display the wifi you're connected to, if it provides internet access!
You can use different hosts to ping in order to check for a wifi or wired connection. If you frequently use networks without internet access, you can use local ip-addresses here to still display the connection.
set -g @dracula-network-hosts "1.1.1.1 8.8.8.8"
Possible nerdfont settings for network info:
set -g @dracula-network-ethernet-label " Eth"
set -g @dracula-network-offline-label " "
set -g @dracula-network-wifi-label " "
Nerdfont icons to consider:
ethernet:
offline:
wifi:
Known issues:
- If for some reason
iw
is only in the path for root and not the normal user, wifi connections will be considered ethernet connections.
network-bandwidth - up
This widget gives the currently used up and download speeds per second for one interface.
The most common interfaces name are eth0
for a wired connection and wlan0
for a wireless connection.
To set a specific network interface you'd like to monitor, used:
set -g @dracula-network-bandwidth "eno0"
To display the interface name alongside the speeds, set:
set -g @dracula-network-bandwidth-show-interface true
Per default, this widget checks the speeds as frequently as it can. to set longer intervals, use the following:
set -g @dracula-network-bandwidth-interval 5
network-ping - up
This widget displays the current ping to a specific server.
You can configure which server (hostname, IP) you want to ping and at which rate (in seconds). Default is google.com at every 5 seconds.
set -g @dracula-ping-server "google.com"
set -g @dracula-ping-rate 5
network-vpn - up
This widget displays whether a vpn is connected.
These options are not available yet.
set -g @dracula-network-vpn-verbose true
set -g @dracula-network-vpn-label
playerctl - up
This widget displays playerctl info.
Set the playerctl metadata format like so:
set -g @dracula-playerctl-format "► {{ artist }} - {{ title }}"
ram-usage - up
This widget displays the currently used ram as GB per GB.
Possible nerdfont settings for ram usage:
set -g @dracula-ram-usage-label " "
Nerdfont icons to consider:
spotify-tui - up
This widget displays music information provided by spotify-tui. Spotify-tui must be installed to use this widget.
To format the display format:
set -g @dracula-spotify-tui-format "%f %s %t - %a"
To limit the maximum length (0 means unlimited length):
set -g @dracula-spotify-tui-max-len 30
set -g @dracula-refresh-rate 5
affects this widget
ssh-session - up
This widget displays the current username@host combination, both of the local machine as well as when connected via ssh.
To output nothing (and maybe hide the widget) when not connected via ssh:
set -g @dracula-show-ssh-only-when-connected true
Show SSH session port:
set -g @dracula-show-ssh-session-port true
nerdfont icons to consider:
synchronize-panes - up
This widget displays whether the tmux panes are currently synchronised or not.
To change the label:
set -g @dracula-synchronize-panes-label "Sync"
set -g @dracula-refresh-rate 5
affects this widget
sys-temp - up
This widget displays the system temperature.
terraform - up
TODO
set -g @dracula-terraform-label ""
set -g @dracula-refresh-rate 5
affects this widget
time - up
This widget displays current date and time.
Disable timezone
set -g @dracula-show-timezone false
Swap date to day/month
set -g @dracula-day-month true
Enable military time
set -g @dracula-military-time true
Set custom time format e.g (2023-01-01 14:00)
set -g @dracula-time-format "%F %R"
See [this page] for other format symbols.
tmux-ram-usage - up
This widget displays the ram currently used by tmux.
Possible nerdfont settings for tmux ram usage:
@dracula-tmux-ram-usage-label " "
Nerdfont icons to consider:
weather - up
Show weather information for given location.
Switch from default fahrenheit to celsius
set -g @dracula-show-fahrenheit false
Set your location manually
set -g @dracula-fixed-location "Some City"
Hide your location
set -g @dracula-show-location false
custom:script-name - up
For testing/ running custom plugins, put the bash script into the scripts directory of dracula/tmux plugin.
Additionally, in the @dracula-plugins
option, add the script as custom:name-of-script.sh
.