Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Status Bar custom module disappearing #740

Closed
Mugworth opened this issue May 5, 2024 · 9 comments
Closed

Status Bar custom module disappearing #740

Mugworth opened this issue May 5, 2024 · 9 comments

Comments

@Mugworth
Copy link

Mugworth commented May 5, 2024

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
Copy link
Owner

gpakosz commented May 6, 2024

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} "

@gpakosz gpakosz added the support label May 6, 2024
@Mugworth
Copy link
Author

Mugworth commented May 6, 2024

$ 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
Copy link
Owner

gpakosz commented May 6, 2024

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
Copy link
Author

Mugworth commented May 6, 2024

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
Copy link
Owner

gpakosz commented May 6, 2024

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

@Mugworth
Copy link
Author

Mugworth commented May 6, 2024

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
Copy link
Owner

gpakosz commented May 6, 2024

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

$ tmux show -gv status-left

And:

$ env | grep TMUX

@gpakosz
Copy link
Owner

gpakosz commented May 6, 2024

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
Copy link
Author

Mugworth commented May 6, 2024

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!

@Mugworth Mugworth closed this as completed May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants