Skip to content

Latest commit

 

History

History
598 lines (464 loc) · 16.8 KB

CONFIG.md

File metadata and controls

598 lines (464 loc) · 16.8 KB

Table of Contents

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.

Plugins

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.