Search code examples
configuration-filestmux

What are the differences between set -g, set -ga and set-option -g in a .tmux.conf file?


I'm new to tmux and trying to understand it's configuration. I've started with looking at some pre-existing .tmux.conf files and whatever documentation I can find but it still leaves me wondering about the flags. I've seen the following so far:

A few examples from the ArchWiki entry on tmux

set -g prefix C-a  
set -ga terminal-overrides ",xterm-termite:Tc"
set-option -g xterm-keys on

And one line from a .tmux.conf file

set-window-option -g

What do the flags mean and are there any particular cases when one flag is preferable over another?


Solution

  • set is the alias of set-option.

    set -g is used to set global options and -ga appends values to existing settings.

    From Tmux's man page:

    With -a, and if the option expects a string or a style, value is appended to the existing setting. For example:

       set -g status-left "foo"
       set -ag status-left "bar"
    

    Will result in ‘foobar’. And:

       set -g status-style "bg=red"
       set -ag status-style "fg=blue"
    

    Will result in a red background and blue foreground. Without -a, the result would be the default background and a blue foreground.

    set-window-option (alias setw) is used to configure window options (allow-rename, mode-keys, synchronize-panes, etc.) and the same flag options are available.

    See: