mirror of
				https://github.com/tmux-plugins/tmux-continuum.git
				synced 2025-11-04 00:07:32 +00:00 
			
		
		
		
	Continuum status
This commit is contained in:
		@@ -9,6 +9,7 @@
 | 
				
			|||||||
  checking if other tmux server is running). Previously, this caused
 | 
					  checking if other tmux server is running). Previously, this caused
 | 
				
			||||||
  interpolation command not to be inserted into `status-right` because `tmux
 | 
					  interpolation command not to be inserted into `status-right` because `tmux
 | 
				
			||||||
  source-file` was falsely detected as another tmux server.
 | 
					  source-file` was falsely detected as another tmux server.
 | 
				
			||||||
 | 
					- add `#{continuum_status}` status line interpolation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### v3.0.0, 2015-02-20
 | 
					### v3.0.0, 2015-02-20
 | 
				
			||||||
- rename the plugin from `tmux-resurrect-auto` to `tmux-continuum`
 | 
					- rename the plugin from `tmux-resurrect-auto` to `tmux-continuum`
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -78,6 +78,7 @@ required.
 | 
				
			|||||||
  this doc is safe to skip, but you might want to read it if you're using tmux
 | 
					  this doc is safe to skip, but you might want to read it if you're using tmux
 | 
				
			||||||
  with `-L` or `-S` flags
 | 
					  with `-L` or `-S` flags
 | 
				
			||||||
- [automatically start tmux after the computer is turned on](docs/automatic_start.md)
 | 
					- [automatically start tmux after the computer is turned on](docs/automatic_start.md)
 | 
				
			||||||
 | 
					- [continuum status in tmux status line](docs/continuum_status.md)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Other goodies
 | 
					### Other goodies
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -56,6 +56,14 @@ start_auto_restore_in_background() {
 | 
				
			|||||||
	"$CURRENT_DIR/scripts/continuum_restore.sh" &
 | 
						"$CURRENT_DIR/scripts/continuum_restore.sh" &
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					update_tmux_option() {
 | 
				
			||||||
 | 
						local option="$1"
 | 
				
			||||||
 | 
						local option_value="$(get_tmux_option "$option")"
 | 
				
			||||||
 | 
						# replace interpolation string with a script to execute
 | 
				
			||||||
 | 
						local new_option_value="${option_value/$status_interpolation_string/$status_script}"
 | 
				
			||||||
 | 
						set_tmux_option "$option" "$new_option_value"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
main() {
 | 
					main() {
 | 
				
			||||||
	if supported_tmux_version_ok; then
 | 
						if supported_tmux_version_ok; then
 | 
				
			||||||
		handle_tmux_automatic_start
 | 
							handle_tmux_automatic_start
 | 
				
			||||||
@@ -72,6 +80,11 @@ main() {
 | 
				
			|||||||
		if just_started_tmux_server; then
 | 
							if just_started_tmux_server; then
 | 
				
			||||||
			start_auto_restore_in_background
 | 
								start_auto_restore_in_background
 | 
				
			||||||
		fi
 | 
							fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							# Put "#{continuum_status}" interpolation in status-right or
 | 
				
			||||||
 | 
							# status-left tmux option to get current tmux continuum status.
 | 
				
			||||||
 | 
							update_tmux_option "status-right"
 | 
				
			||||||
 | 
							update_tmux_option "status-left"
 | 
				
			||||||
	fi
 | 
						fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
main
 | 
					main
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										17
									
								
								docs/continuum_status.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								docs/continuum_status.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					## Continuum status in tmux status line
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					There is an option to display current status of tmux continuum in tmux status
 | 
				
			||||||
 | 
					line. This is done via `#{continuum_status}` interpolation and it works with
 | 
				
			||||||
 | 
					both `status-right` and `status-left` tmux native options.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Example usage:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    set -g status-right 'Continuum status: #{continuum_status}'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					When running, `#{continuum_status}` will show continuum save interval:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Continuum status: 15
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					or if continuous saving is disabled:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Continuum status: off
 | 
				
			||||||
							
								
								
									
										25
									
								
								scripts/continuum_status.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										25
									
								
								scripts/continuum_status.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,25 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source "$CURRENT_DIR/helpers.sh"
 | 
				
			||||||
 | 
					source "$CURRENT_DIR/variables.sh"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					print_status() {
 | 
				
			||||||
 | 
						local save_int="$(get_tmux_option "$auto_save_interval_option")"
 | 
				
			||||||
 | 
						local status=""
 | 
				
			||||||
 | 
						local style_wrap
 | 
				
			||||||
 | 
						if [ $save_int -gt 0 ]; then
 | 
				
			||||||
 | 
							style_wrap="$(get_tmux_option "$status_on_style_wrap_option" "")"
 | 
				
			||||||
 | 
							status="$save_int"
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							style_wrap="$(get_tmux_option "$status_off_style_wrap_option" "")"
 | 
				
			||||||
 | 
							status="off"
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if [ -n "$style_wrap" ]; then
 | 
				
			||||||
 | 
							status="${style_wrap/$status_wrap_string/$status}"
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
						echo "$status"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					print_status
 | 
				
			||||||
@@ -25,3 +25,10 @@ auto_start_config_default=""
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
osx_auto_start_file_name="Tmux.Start.plist"
 | 
					osx_auto_start_file_name="Tmux.Start.plist"
 | 
				
			||||||
osx_auto_start_file_path="${HOME}/Library/LaunchAgents/${osx_auto_start_file_name}"
 | 
					osx_auto_start_file_path="${HOME}/Library/LaunchAgents/${osx_auto_start_file_name}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					status_interpolation_string="\#{continuum_status}"
 | 
				
			||||||
 | 
					status_script="#($CURRENT_DIR/scripts/continuum_status.sh)"
 | 
				
			||||||
 | 
					# below options set style/color for #{continuum_status} interpolation
 | 
				
			||||||
 | 
					status_on_style_wrap_option="@continuum-status-on-wrap-style"   # example value: "#[fg=green]#{value}#[fg=white]"
 | 
				
			||||||
 | 
					status_off_style_wrap_option="@continuum-status-off-wrap-style" # example value: "#[fg=yellow,bold]#{value}#[fg=white,nobold]"
 | 
				
			||||||
 | 
					status_wrap_string="\#{value}"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user