gpakosz / .tmux

🇫🇷 Oh my tmux! My self-contained, pretty & versatile tmux configuration made with ❤️
MIT License
21.54k stars 3.33k forks source link

Status Bar custom module disappearing #740

Closed Mugworth closed 2 months ago

Mugworth commented 2 months ago

Hello, as in the title i made custom variable and put it into tmux_conf_theme_status_left, it runs once and then disappear, i tried changing status-interval to 1 but its still doesnt work. Here is my config

# : << EOF
# https://github.com/gpakosz/.tmux
# (‑●‑●)> dual licensed under the WTFPL v2 license and the MIT license,
#         without any warranty.
#         Copyright 2012— Gregory Pakosz (@gpakosz).

# -- bindings ------------------------------------------------------------------

# preserve tmux stock bindings,
# while adding bindings that don't conflict with these stock bindings
# /!\ this disables some of Oh my tmux! bindings described in README.md
#   - true
#   - false (default)
tmux_conf_preserve_stock_bindings=false

# -- session creation ----------------------------------------------------------

# prompt for session name when creating a new session, possible values are:
#   - true
#   - false (default)
#   - disabled (do not modify new-session bindings)
tmux_conf_new_session_prompt=false

# new session retains current path, possible values are:
#   - true
#   - false (default)
#   - disabled (do not modify new-session bindings)
tmux_conf_new_session_retain_current_path=false

# -- windows & pane creation ---------------------------------------------------

# new window retains current path, possible values are:
#   - true
#   - false (default)
#   - disabled (do not modify new-window bindings)
tmux_conf_new_window_retain_current_path=true

# new window tries to reconnect ssh sessions, possible values are:
#   - true
#   - false (default)
#   - disabled (do not modify new-window bindings)
tmux_conf_new_window_reconnect_ssh=true

# new pane retains current path, possible values are:
#   - true (default)
#   - false
#   - disabled (do not modify split-window bindings)
tmux_conf_new_pane_retain_current_path=true

# new pane tries to reconnect ssh sessions, possible values are:
#   - true
#   - false (default)
#   - disabled (do not modify split-window bindings)
tmux_conf_new_pane_reconnect_ssh=true

# -- display -------------------------------------------------------------------

# RGB 24-bit colour support, possible values are:
#   - true
#   - false
#   - auto (default)
#
# automatic detection relies on the COLORTERM environment variable being defined
# to 'truecolor' or '24bit' or '$ tput colors' answering '16777216'
# see https://github.com/termstandard/colors
tmux_conf_24b_colour=true

# -- theming -------------------------------------------------------------------

# enable or disable theming:
#   - enabled (default)
#   - disabled
# when disabled, all tmux_conf_theme_xxx variables are ignored except:
#   - tmux_conf_theme_pairing
#   - tmux_conf_theme_prefix
#   - tmux_conf_theme_mouse
#   - tmux_conf_theme_root
#   - tmux_conf_theme_synchronized
tmux_conf_theme=enabled

# default theme
tmux_conf_theme_colour_1="#1f2329"    # dark gray
tmux_conf_theme_colour_2="#2a2e38"    # gray
tmux_conf_theme_colour_3="#bbc2cf"    # light gray
tmux_conf_theme_colour_4="#51afef"    # light blue
tmux_conf_theme_colour_5="#ecbe7b"    # yellow
tmux_conf_theme_colour_6="#3f444a"    # dark gray
tmux_conf_theme_colour_7="#dfdfdf"    # white
tmux_conf_theme_colour_8="#1f2329"    # dark gray
tmux_conf_theme_colour_9="#88be65"   # green
tmux_conf_theme_colour_10="#ebcb8b"   # yellow
tmux_conf_theme_colour_11="#ff6655"   # pink
tmux_conf_theme_colour_12="#bbc2cf"   # light gray
tmux_conf_theme_colour_13="#dfdfdf"   # white
tmux_conf_theme_colour_14="#1f2329"   # dark gray
tmux_conf_theme_colour_15="#1f2329"   # dark gray
tmux_conf_theme_colour_16="#ff6c6b"   # red
tmux_conf_theme_colour_17="#dfdfdf"   # white

# default theme (ansi)
#tmux_conf_theme_colour_1="colour0"
#tmux_conf_theme_colour_2="colour8"
#tmux_conf_theme_colour_3="colour8"
#tmux_conf_theme_colour_4="colour14"
#tmux_conf_theme_colour_5="colour11"
#tmux_conf_theme_colour_6="colour0"
#tmux_conf_theme_colour_7="colour15"
#tmux_conf_theme_colour_8="colour0"
#tmux_conf_theme_colour_9="colour11"
#tmux_conf_theme_colour_10="colour13"
#tmux_conf_theme_colour_11="colour10"
#tmux_conf_theme_colour_12="colour8"
#tmux_conf_theme_colour_13="colour15"
#tmux_conf_theme_colour_14="colour0"
#tmux_conf_theme_colour_15="colour0"
#tmux_conf_theme_colour_16="colour1"
#tmux_conf_theme_colour_17="colour15"

# window style
tmux_conf_theme_window_fg="default"
tmux_conf_theme_window_bg="default"

# highlight focused pane, possible values are:
#   - true
#   - false (default)
tmux_conf_theme_highlight_focused_pane=false

# focused pane colours:
tmux_conf_theme_focused_pane_bg="$tmux_conf_theme_colour_2"

# pane border style, possible values are:
#   - thin (default)
#   - fat
tmux_conf_theme_pane_border_style=thin

# pane borders colours:
tmux_conf_theme_pane_border="$tmux_conf_theme_colour_2"
tmux_conf_theme_pane_active_border="$tmux_conf_theme_colour_4"
%if #{>=:#{version},3.2}
tmux_conf_theme_pane_active_border="#{?pane_in_mode,$tmux_conf_theme_colour_9,#{?synchronize-panes,$tmux_conf_theme_colour_16,$tmux_conf_theme_colour_4}}"
%endif

# pane indicator colours (when you hit <prefix> + q)
tmux_conf_theme_pane_indicator="$tmux_conf_theme_colour_4"
tmux_conf_theme_pane_active_indicator="$tmux_conf_theme_colour_4"

# status line style
tmux_conf_theme_message_fg="$tmux_conf_theme_colour_1"
tmux_conf_theme_message_bg="$tmux_conf_theme_colour_5"
tmux_conf_theme_message_attr="bold"

# status line command style (<prefix> : Escape)
tmux_conf_theme_message_command_fg="$tmux_conf_theme_colour_5"
tmux_conf_theme_message_command_bg="$tmux_conf_theme_colour_1"
tmux_conf_theme_message_command_attr="bold"

# window modes style
tmux_conf_theme_mode_fg="$tmux_conf_theme_colour_1"
tmux_conf_theme_mode_bg="$tmux_conf_theme_colour_5"
tmux_conf_theme_mode_attr="bold"

# status line style
tmux_conf_theme_status_fg="$tmux_conf_theme_colour_3"
tmux_conf_theme_status_bg="$tmux_conf_theme_colour_1"
tmux_conf_theme_status_attr="none"

# terminal title
#   - built-in variables are:
#     - #{circled_window_index}
#     - #{circled_session_name}
#     - #{hostname}
#     - #{hostname_ssh}
#     - #{hostname_full}
#     - #{hostname_full_ssh}
#     - #{username}
#     - #{username_ssh}
tmux_conf_theme_terminal_title="#h ❐ #S ● #I #W"

# window status style
#   - built-in variables are:
#     - #{circled_window_index}
#     - #{circled_session_name}
#     - #{hostname}
#     - #{hostname_ssh}
#     - #{hostname_full}
#     - #{hostname_full_ssh}
#     - #{username}
#     - #{username_ssh}
tmux_conf_theme_window_status_fg="$tmux_conf_theme_colour_3"
tmux_conf_theme_window_status_bg="$tmux_conf_theme_colour_1"
tmux_conf_theme_window_status_attr="none"
tmux_conf_theme_window_status_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}"
#tmux_conf_theme_window_status_format="#{circled_window_index} #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}"
#tmux_conf_theme_window_status_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}"

# window current status style
#   - built-in variables are:
#     - #{circled_window_index}
#     - #{circled_session_name}
#     - #{hostname}
#     - #{hostname_ssh}
#     - #{hostname_full}
#     - #{hostname_full_ssh}
#     - #{username}
#     - #{username_ssh}
tmux_conf_theme_window_status_current_fg="$tmux_conf_theme_colour_1"
tmux_conf_theme_window_status_current_bg="$tmux_conf_theme_colour_4"
tmux_conf_theme_window_status_current_attr="bold"
tmux_conf_theme_window_status_current_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}"
#tmux_conf_theme_window_status_current_format="#{circled_window_index} #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}"
#tmux_conf_theme_window_status_current_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}"

# window activity status style
tmux_conf_theme_window_status_activity_fg="default"
tmux_conf_theme_window_status_activity_bg="default"
tmux_conf_theme_window_status_activity_attr="underscore"

# window bell status style
tmux_conf_theme_window_status_bell_fg="$tmux_conf_theme_colour_5"
tmux_conf_theme_window_status_bell_bg="default"
tmux_conf_theme_window_status_bell_attr="blink,bold"

# window last status style
tmux_conf_theme_window_status_last_fg="$tmux_conf_theme_colour_4"
tmux_conf_theme_window_status_last_bg="$tmux_conf_theme_colour_2"
tmux_conf_theme_window_status_last_attr="none"

# status left/right sections separators
tmux_conf_theme_left_separator_main=""
tmux_conf_theme_left_separator_sub="|"
tmux_conf_theme_right_separator_main=""
tmux_conf_theme_right_separator_sub="|"
# tmux_conf_theme_left_separator_main='\uE0B0'  # /!\ you don't need to install Powerline
# tmux_conf_theme_left_separator_sub='\uE0B1'   #   you only need fonts patched with
# tmux_conf_theme_right_separator_main='\uE0B2' #   Powerline symbols or the standalone
# tmux_conf_theme_right_separator_sub='\uE0B3'  #   PowerlineSymbols.otf font, see README.md

# status left/right content:
#   - separate main sections with "|"
#   - separate subsections with ","
#   - built-in variables are:
#     - #{battery_bar}
#     - #{battery_hbar}
#     - #{battery_percentage}
#     - #{battery_status}
#     - #{battery_vbar}
#     - #{circled_session_name}
#     - #{hostname_ssh}
#     - #{hostname}
#     - #{hostname_full}
#     - #{hostname_full_ssh}
#     - #{loadavg}
#     - #{mouse}
#     - #{pairing}
#     - #{prefix}
#     - #{root}
#     - #{synchronized}
#     - #{uptime_y}
#     - #{uptime_d} (modulo 365 when #{uptime_y} is used)
#     - #{uptime_h}
#     - #{uptime_m}
#     - #{uptime_s}
#     - #{username}
#     - #{username_ssh}
tmux_conf_theme_status_left=" ❐ #S | #{cwd_path} "
tmux_conf_theme_status_right=" #{prefix}#{mouse}#{pairing}#{synchronized}#{?battery_status,#{battery_status},}#{?battery_bar, #{battery_bar},}#{?battery_percentage, #{battery_percentage},} , %R , %d %b | #{username}#{root} | #{hostname} "

# status left style
tmux_conf_theme_status_left_fg="$tmux_conf_theme_colour_6,$tmux_conf_theme_colour_8,$tmux_conf_theme_colour_8"
tmux_conf_theme_status_left_bg="$tmux_conf_theme_colour_9,$tmux_conf_theme_colour_10,$tmux_conf_theme_colour_11"
tmux_conf_theme_status_left_attr="bold,none,none"

# status right style
tmux_conf_theme_status_right_fg="$tmux_conf_theme_colour_12,$tmux_conf_theme_colour_13,$tmux_conf_theme_colour_14"
tmux_conf_theme_status_right_bg="$tmux_conf_theme_colour_15,$tmux_conf_theme_colour_16,$tmux_conf_theme_colour_17"
tmux_conf_theme_status_right_attr="none,none,bold"

# pairing indicator
tmux_conf_theme_pairing="⚇"                 # U+2687
tmux_conf_theme_pairing_fg="none"
tmux_conf_theme_pairing_bg="none"
tmux_conf_theme_pairing_attr="none"

# prefix indicator
tmux_conf_theme_prefix="⌨"                  # U+2328
tmux_conf_theme_prefix_fg="none"
tmux_conf_theme_prefix_bg="none"
tmux_conf_theme_prefix_attr="none"

# mouse indicator
tmux_conf_theme_mouse="↗"                   # U+2197
tmux_conf_theme_mouse_fg="none"
tmux_conf_theme_mouse_bg="none"
tmux_conf_theme_mouse_attr="none"

# root indicator
tmux_conf_theme_root="!"
tmux_conf_theme_root_fg="none"
tmux_conf_theme_root_bg="none"
tmux_conf_theme_root_attr="bold,blink"

# synchronized indicator
tmux_conf_theme_synchronized="⚏"            # U+268F
tmux_conf_theme_synchronized_fg="none"
tmux_conf_theme_synchronized_bg="none"
tmux_conf_theme_synchronized_attr="none"

# battery bar symbols
tmux_conf_battery_bar_symbol_full="◼"
tmux_conf_battery_bar_symbol_empty="◻"
#tmux_conf_battery_bar_symbol_full="♥"
#tmux_conf_battery_bar_symbol_empty="·"

# battery bar length (in number of symbols), possible values are:
#   - auto
#   - a number, e.g. 5
tmux_conf_battery_bar_length="auto"

# battery bar palette, possible values are:
#   - gradient (default)
#   - heat
#   - "colour_full_fg,colour_empty_fg,colour_bg"
tmux_conf_battery_bar_palette="heat"
# tmux_conf_battery_bar_palette="#ff6655,#dfdfdf,#1f2329"   # red, white, black

# battery hbar palette, possible values are:
#   - gradient (default)
#   - heat
#   - "colour_low,colour_half,colour_full"
tmux_conf_battery_hbar_palette="gradient"
#tmux_conf_battery_hbar_palette="#d70000,#ff5f00,#5fff00"  # red, orange, green

# battery vbar palette, possible values are:
#   - gradient (default)
#   - heat
#   - "colour_low,colour_half,colour_full"
tmux_conf_battery_vbar_palette="gradient"
#tmux_conf_battery_vbar_palette="#d70000,#ff5f00,#5fff00"  # red, orange, green

# symbols used to indicate whether battery is charging or discharging
# tmux_conf_battery_status_charging="↑"       # U+2191
# tmux_conf_battery_status_discharging="↓"    # U+2193
tmux_conf_battery_status_charging="🔌"     # U+1F50C
tmux_conf_battery_status_discharging="🔋"  # U+1F50B

# clock style (when you hit <prefix> + t)
# you may want to use %I:%M %p in place of %R in tmux_conf_theme_status_right
tmux_conf_theme_clock_colour="$tmux_conf_theme_colour_4"
tmux_conf_theme_clock_style="24"

# -- clipboard -----------------------------------------------------------------

# in copy mode, copying selection also copies to the OS clipboard
#   - true
#   - false (default)
#   - disabled
# on Linux, this requires xsel, xclip or wl-copy
tmux_conf_copy_to_os_clipboard=true

# -- user customizations -------------------------------------------------------
# set-hook -g after-split-window 'selectp -T ""'
# set-hook -g after-new-window 'selectp -T ""'
# set-hook -g after-new-session 'selectp -T ""'

set -g status-left-length 65
set -g status-interval 1

# set-option -g pane-active-border-style bg=yellow
# set-g window-style 'fg=#51afef,bg=#1f2329'
# set-option -g status-left '#P'
# set -g window-active-style 'fg=#51afef,bg=#1f2329'
set display-panes-active-colour "red"
set display-panes-colour "white"

# increase history size
set -g history-limit 10000

set -g default-terminal 'tmux-256color'
set -as terminal-features ',xterm*:RGB'
set set-clipboard on
set -gw xterm-keys on
set -s extended-keys on
# start with mouse mode enabled
set -g mouse on

# force Vi mode
# really you should export VISUAL or EDITOR environment variable, see manual
set -g status-keys vi
set -g mode-keys vi

# replace C-b by C-a instead of using both prefixes
set -gu prefix2
unbind C-a
unbind C-b
set -g prefix C-s
bind C-s send-prefix
set-option -g allow-rename yes
set -s extended-keys on

# if you don't want Oh my tmux! to alter a binding, use #!important
# bind c new-window -c '#{pane_current_path}' #!important

bind-key -n C-Enter split-window -h
bind-key -n C-q killp
unbind '"'
unbind %

bind-key -n C-S-n run-shell '$HOME/.tmux/fzf-session.sh || true'
bind e choose-window "kill-window -t %%"
bind-key -n  C-, display-popup -E "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t"

bind-key -n M-1 select-window -t:1
bind-key -n M-2 select-window -t:2
bind-key -n M-3 select-window -t:3
bind-key -n M-4 select-window -t:4
bind-key -n M-5 select-window -t:5
bind-key -n M-6 select-window -t:6
bind-key -n M-7 select-window -t:7

unbind -n M-j
unbind -n M-k

bind-key -n C-S-space next-layout
unbind -n C-space

bind r source-file ~/.tmux.conf.local

bind-key -r -n   C-S-k   resize-pane -U 8
bind-key -r -n   C-S-j   resize-pane -D 8
bind-key -r -n   C-S-h   resize-pane -L 8
bind-key -r -n   C-S-l   resize-pane -R 8

# bind-key       C-M-k

# Smart pane switching with awareness of Vim splits.
# See: https://github.com/christoomey/vim-tmux-navigator

# decide whether we're in a Vim process
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
    | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"

bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L' \; display-pane -d 240
bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D' \; display-pane -d 240
bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U' \; display-pane -d 240
bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R' \; display-pane -d 240

tmux_version='$(tmux -V | sed -En "s/^tmux ([0-9]+(.[0-9]+)?).*/\1/p")'

if-shell -b '[ "$(echo "$tmux_version < 3.0" | bc)" = 1 ]' \
    "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\'  'select-pane -l'"
if-shell -b '[ "$(echo "$tmux_version >= 3.0" | bc)" = 1 ]' \
    "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\\\'  'select-pane -l'"

bind-key -T copy-mode-vi 'C-h' select-pane -L \; display-pane -d 240
bind-key -T copy-mode-vi 'C-j' select-pane -D \; display-pane -d 240
bind-key -T copy-mode-vi 'C-k' select-pane -U \; display-pane -d 240
bind-key -T copy-mode-vi 'C-l' select-pane -R \; display-pane -d 240

# -- tpm -----------------------------------------------------------------------

# while I don't use tpm myself, many people requested official support so here
# is a seamless integration that automatically installs plugins in parallel

# whenever a plugin introduces a variable to be used in 'status-left' or
# 'status-right', you can use it in 'tmux_conf_theme_status_left' and
# 'tmux_conf_theme_status_right' variables.

# by default, launching tmux will update tpm and all plugins
#   - true (default)
#   - false
tmux_conf_update_plugins_on_launch=true

# by default, reloading the configuration will update tpm and all plugins
#   - true (default)
#   - false
tmux_conf_update_plugins_on_reload=true

# by default, reloading the configuration will uninstall tpm and plugins when no
# plugins are enabled
#   - true (default)
#   - false
tmux_conf_uninstall_plugins_on_reload=false

# /!\ the tpm bindings differ slightly from upstream:
#   - installing plugins: <prefix> + I
#   - uninstalling plugins: <prefix> + Alt + u
#   - updating plugins: <prefix> + u

# /!\ do not add set -g @plugin 'tmux-plugins/tpm'
# /!\ do not add run '~/.tmux/plugins/tpm/tpm'

# visit https://github.com/tmux-plugins for available plugins

set -g @plugin 'tmux-plugins/tmux-copycat'
set -g @plugin 'Morantron/tmux-fingers'
set -g @plugin 'tmux-plugins/tmux-cpu'
# set -g @plugin 'tmux-plugins/tmux-resurrect'
# set -g @plugin 'tmux-plugins/tmux-continuum'
# set -g @continuum-restore 'on'
set -g @plugin 'trevarj/tmux-open-nvim'

set -g @fingers-key f
# Overrides matching file paths with :[line]:[col] at the end
set -g @fingers-pattern-0 "(([.\\w\\-~\\$@]+)(\\/?[\\w\\-@]+)+\\/?)\\.([\\w]+)(:\\d*:\\d*)?"
# Launches helper script on Ctrl+[key] in fingers mode
set -g @fingers-ctrl-action "xargs -I {} tmux run-shell 'cd #{pane_current_path}; ~/.tmux/plugins/tmux-open-nvim/scripts/ton {} > ~/.tmux/plugins/tmux-open-nvim/ton.log'"s

# -- custom variables ----------------------------------------------------------

# to define a custom #{foo} variable, define a POSIX shell function between the
# '# EOF' and the '# "$@"' lines. Please note that the opening brace { character
# must be on the same line as the function name otherwise the parse won't detect
# it.
#
# then, use #{foo} in e.g. the 'tmux_conf_theme_status_left' or the
# 'tmux_conf_theme_status_right' variables.

# ------------------------------------------------------------------------------

# # /!\ do not remove the following line
# EOF
#
# # /!\ do not "uncomment" the functions: the leading "# " characters are needed
#
# cwd_path() {
#   pwd
#   sleep 10
# }
#
# weather() {                                         # see https://github.com/chubin/wttr.in#one-line-output
#   curl -f -s -m 2 'wttr.in?format=3' || printf '\n' # /!\ make sure curl is installed
#   sleep 900                                         # sleep for 15 minutes, throttle network requests whatever the value of status-interval
# }
#
# online() {
#   ping -c 1 1.1.1.1 >/dev/null 2>&1 && printf '✔' || printf '✘'
# }
#
# wan_ip_v4() {
#   curl -f -s -m 2 -4 ifconfig.me
#   sleep 300                                         # sleep for 5 minutes, throttle network requests whatever the value of status-interval
# }
#
# wan_ip_v6() {
#   curl -f -s -m 2 -6 ifconfig.me
#   sleep 300                                         # sleep for 5 minutes, throttle network requests whatever the value of status-interval
# }
#
# "$@"
# # /!\ do not remove the previous line
# #     do not write below this line

Also i use the newest HEAD, and im using tmux version 3.4

gpakosz commented 2 months ago

Hello @Mugworth,

it runs once and then disappear

Seems to work for me, as in it displays /Users/gpakosz which is the current directory when the shell command executes.

Can you please paste the output of this command from a tmux pane?

$ tmux show -gv status-left

BTW if you want to display the path of the current pane, you should rather do something like this:

tmux_conf_theme_status_left=" ❐ #S | #{pane_current_path} "
Mugworth commented 2 months ago
$ tmux show -gv status-left
#[fg=#3f444a,bg=#88be65,bold] ❐ #S #[fg=#88be65,bg=#ebcb8b,none]#[fg=#1f2329,bg=#ebcb8b,none] #(cut -c3- "\\$TMUX_CONF_LOCAL" | sh -s cwd_path) #[fg=#ebcb8b,bg=#1f2329,none]

I wanted to format my cwd so that it shows ~ when path have home folder, so only pwd there is only for test.

gpakosz commented 2 months ago

The output of tmux show -gv status-left looks correct to me, and nothing explains the "it runs once and then disappear" part.

You can update your .local customization file with this

...

tmux_conf_theme_status_left=" ❐ #S | #{pretty_path #{pane_current_path}} "

...

# # /!\ do not remove the following line
# EOF
#
# # /!\ do not "uncomment" the functions: the leading "# " characters are needed
#
# pretty_path() {
#   cd "$1" && dirs +0
# }

...

# "$@"
# # /!\ do not remove the previous line
Mugworth commented 2 months ago

Thanks for the feedback! Unfortunately, the same happens event with your snippet code:

$ tmux show -gv status-left
#[fg=#3f444a,bg=#88be65,bold] ❐ #S #[fg=#88be65,bg=#ebcb8b,none]#[fg=#1f2329,bg=#ebcb8b,none] #(cut -c3- "\\$TMUX_CONF_LOCAL" | sh -s pretty_path #{pane_current_path}) #[fg=#ebcb8b,bg=#1f2329,none]

I also tried using some of the custom variables already there, that is weather, and the same thing happens

gpakosz commented 2 months ago

What do you mean by "the same thing happens"?

Mugworth commented 2 months ago

After loading tmux bar module prints "\~", but after let's say 1 second, "\~" is disappearing like on the screenshots

At launch: 2024-05-06_14-23

After 1 sec: image

And it's stays that way

The same thing applies to the weather module

Sorry, i should write it like so at the start of the this issue.

gpakosz commented 2 months ago

After it has disappeared, could you please run the following from a tmux pane:

$ tmux show -gv status-left

And:

$ env | grep TMUX
gpakosz commented 2 months ago

Also please try to disable your TPM plugins 1 by 1 and see if there's one that rewrites status-left and introduces a bug

Mugworth commented 2 months ago

Okay, as you said it was plugin, tmux-cpu to be exact. i'm new to tmux so you were additionally helpful, thank you for your time!