- Configuration
- Status bar options
- Color theming
- Plugins
- attached-clients
- battery
- compact-alt
- continuum
- cpu-arch
- cpu-usage
- cwd
- fossil
- git
- GPU Info (gpu-usage, gpu-ram-usage, gpu-power-draw)
- hg
- Kerberos TGT (krbtgt)
- kubernetes-context
- libreview
- mac-player
- mpc
- network
- network-public-ip
- network-bandwidth
- network-ping
- network-vpn
- playerctl
- ram-usage
- spotify-tui
- spr
- ssh-session
- synchronize-panes
- sys-temp
- terraform
- time
- tmux-ram-usage
- uptime
- 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 trueAdjust the refresh rate for the status bar
# the default is 5, it can accept any number
set -g @dracula-refresh-rate 5Enable high contrast pane border
set -g @dracula-border-contrast trueHide empty plugins
set -g @dracula-show-empty-plugins falseSet plugin padding Whilst the padding is one space per default, can be whatever you want it to be, whether that's whitespace or other characters. If you want to remove any padding, you need to use a zero width space!
set -g @dracula-left-pad ' ° '
set -g @dracula-right-pad ' ° '
# no padding with zero width space
set -g @dracula-left-pad ''
set -g @dracula-right-pad ''Powerline - up
Enable powerline symbols
set -g @dracula-show-powerline trueEnable edge icons
set -g @dracula-show-edge-icons trueSwitch 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-transparent-powerline-bg 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 Windowmore 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 1Each 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 1Set the label when there is one client, or more than one client
set -g @dracula-clients-singular client
set -g @dracula-clients-plural clientsbattery - 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 truethese settings will introduce the following icons:
- the battery is discharging and at the current level:
- the battery is charging and at the current level:
- power is being drawn from AC, but the battery is neither charging nor discharging:
- we were able to determine that the battery is charging/ discharging, but something about the percentage went wrong:
- we don't know the status of the battery:
if you have no battery and would like the widget to hide in that case, set the following:
set -g @dracula-no-battery-label falsealternatively, if you have no battery and would like a nerdfont icon to indicate that, consider setting the following:
set -g @dracula-no-battery-label " "in case you have multiple batteries:
the default battery label is only displayed in the very front.
you can specify multiple battery labels by splitting them with \n like so:
set -g @dracula-battery-label "1:\n2:"additionally you can specify the separator between each battery like so:
set -g @dracula-battery-separator "; "compact-alt - up
This widget allows the user to switch to an alternate list of widgets when the terminal becomes narrow.
Switching only works if the widget is added to set -g @dracula-plugins "your-plugins-here".
to set what widgets should be shown in narrow mode, set the following variable. make sure to include the compact-alt widget as you won't be able to switch out of narrow mode otherwise.
set -g @dracula-narrow-plugins "compact-alt battery network weather"to determine when to switch to narrow mode, set the following variable. any value below this threshold is considered narrow.
set -g @dracula-compact-min-width 140the compact-alt widget needs to reload your tmux config to switch from wide to narrow and back. therefore, you need to make sure to set the right path to your config file.
set -g @dracula-config-path "$HOME/.config/tmux/tmux.conf"if you want to see your window with and whether narrow mode is active, set the following, which is false per default.
set -g @dracula-compact-alt-verbose truethis widget maintains a global variable informing about whether narrow mode is active. that variable should never be touched by the user and could potentially be used by other widgets/ plugins.
# NEVER DO:
set -g @dracula-narrow-mode some-valuecontinuum - 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 countdownShow if the last save was performed less than 60 seconds ago (default threshold is 15 seconds)
set -g @dracula-continuum-time-threshold 60Other options.
@dracula-continuum-first-save
@resurrect-dir
@continuum-save-last-timestamp
@continuum-save-intervalcpu-arch - up
This widget displays the cpu architecture.
possible nerdfont settings for cpu arch label:
set -g @dracula-cpu-arch-label " "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 truepossible 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, where the path of the users home directory will be shortened to ~.
The maximum number of directories and number of characters used for that is unlimited by default, but can be set with the following two options:
set -g @dracula-cwd-max-dirs "0"
set -g @dracula-cwd-max-chars "0"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 trueSet 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 trueShow remote tracking branch together with diverge/sync state
# default is false
set -g @dracula-git-show-remote-status trueShow the current repository name in the status bar
# default is false
set -g @dracula-git-show-repo-name truegpu-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, when using official nvidia drivers.
- partial support for apple m-chips on MacOS.
- partial support for amd and intel on linux
If your gpu is not recognised, force the script to assume a certain brand.
set -g @dracula-force-gpu "NVIDIA"To display the used vram in percent (gigabyte is default unit):
set -g @dracula-gpu-vram-percent trueVram 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 truePossible 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 trueSet 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 falseKerberos 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.
mac-player - up
This widget and script displays music information provided by the native macOS players.
The current supported apps are:
- Native Players:
- Spotify
- Music - Apple Music
- Browser Players (active tab must match one of these URLs and requires Google Chrome or Safari):
- youtube.com/watch
- open.spotify.com
It also has a remote-player feature. The supported remote players are:
- Spotify
- Music - Apple Music
To change player icons:
set -g @dracula-mac-player-play-icon "♪ "
set -g @dracula-mac-player-pause-icon "❚❚ "
To change length of the widget (length 25 by default):
set -g @dracula-mac-player-length 25To activate the remote:
set -g @dracula-mac-player-remote trueTo specify the app to use("Music" or "Spotify"):
set -g @dracula-mac-player-app "Music"The default keybinds are:
<prefix> + P- Play/Pause<prefix> + R- Back to position 0/previous track<prefix> + N- Next track
To change the keybinds:
set -g @dracula-mac-player-remote-play-pause "P"
set -g @dracula-mac-player-remote-back "R"
set -g @dracula-mac-player-remote-next "N"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
iwis only in the path for root and not the normal user, wifi connections will be considered ethernet connections.
network-public-ip - up
This widget displays the public IP address you're using, by querying the public service ifconfig.me.
Possible nerdfont settings for public IP info:
set -g @dracula-network-public-ip-label " "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 truePer default, this widget checks the speeds as frequently as it can. to set longer intervals, use the following:
set -g @dracula-network-bandwidth-interval 5network-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 5network-vpn - up
This widget tries to display whether a vpn is connected. Tailscale exit nodes are fully supported for Linux and MacOS.
Set verbose to true in order to see the VPNs IP or name of Tailscale exit node.
set -g @dracula-network-vpn-verbose trueSet the widgets label like so:
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 30set -g @dracula-refresh-rate 5 affects this widget
spr - up
This widget displays music information provided by spotify-player. spotify-player must be installed to use this widget.
To change player icons:
set -g @dracula-spr-play-icon "♪ "
set -g @dracula-spr-pause-icon "❚❚ "
This section includes an experimental remote control feature, but it may limit the widget’s display on macOS.
In order to utilize the remote feature you need to install the spotify-player-daemon To activate the remote:
set -g @dracula-spr-remote trueThe default keybinds are:
<prefix> + P- Play/Pause<prefix> + R- Back to position 0/previous track<prefix> + N- Next track
To change the keybinds:
set -g @dracula-spr-remote-play-pause "P"
set -g @dracula-spr-remote-back "R"
set -g @dracula-spr-remote-next "N"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 trueShow SSH session port:
set -g @dracula-show-ssh-session-port truenerdfont icons to consider:
synchronize-panes - up
This widget displays whether the tmux panes are currently synchronised.
To change the label:
set -g @dracula-synchronize-panes-label "Sync"The global refresh rate affects this widget:
set -g @dracula-refresh-rate 5You can set a custom refresh rate just for synchronize-panes:
set -g @dracula-synchronize-panes-refresh-rate "0.5" # default: unsetNote: This only takes precedence for the synchronize-panes widget. This means it won't
override the global @dracula-refresh-rate.
Alternatively, you can automatically hide the label when sync is off:
set -g @dracula-synchronize-panes-auto-hide true # default: falsesys-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 falseSwap date to day/month
set -g @dracula-day-month trueEnable military time
set -g @dracula-military-time trueSet 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:
uptime - up
Shows how long the system has been running.
Possible nerdfont settings for uptime:
@dracula-uptime-label " "
weather - up
Show weather information for given location.
Switch from default fahrenheit to celsius
set -g @dracula-show-fahrenheit falseSet your location manually
set -g @dracula-fixed-location "Some City"Hide your location
set -g @dracula-show-location falsecustom: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.