machineconfig 8.51__py3-none-any.whl → 8.61__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. machineconfig/jobs/installer/python_scripts/sysabc.py +13 -34
  2. machineconfig/profile/mapper_dotfiles.toml +3 -3
  3. machineconfig/scripts/python/devops.py +1 -1
  4. machineconfig/scripts/python/devops_navigator.py +1 -1
  5. machineconfig/scripts/python/helper_env/path_manager_tui.py +1 -1
  6. machineconfig/scripts/python/helpers/helper_env/env_manager_tui.py +1 -1
  7. machineconfig/scripts/python/helpers/helper_env/path_manager_tui.py +1 -1
  8. machineconfig/scripts/python/helpers/helpers_croshell/croshell_impl.py +8 -4
  9. machineconfig/scripts/python/helpers/helpers_devops/cli_config.py +33 -1
  10. machineconfig/scripts/python/helpers/helpers_devops/cli_config_mount.py +77 -0
  11. machineconfig/scripts/python/helpers/helpers_devops/cli_data.py +4 -0
  12. machineconfig/scripts/python/helpers/helpers_devops/cli_nw.py +90 -6
  13. machineconfig/scripts/python/helpers/helpers_devops/cli_repos.py +3 -3
  14. machineconfig/scripts/python/helpers/helpers_devops/cli_self.py +41 -15
  15. machineconfig/scripts/python/helpers/helpers_devops/cli_share_temp.py +69 -0
  16. machineconfig/scripts/python/helpers/helpers_devops/cli_ssh.py +4 -4
  17. machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/__init__.py +0 -0
  18. machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/commands.py +25 -0
  19. machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/device_entry.py +17 -0
  20. machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/devices.py +17 -0
  21. machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/linux.py +103 -0
  22. machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/macos.py +100 -0
  23. machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/selection.py +47 -0
  24. machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/utils.py +28 -0
  25. machineconfig/scripts/python/helpers/helpers_devops/mount_helpers/windows.py +91 -0
  26. machineconfig/scripts/python/helpers/helpers_msearch/scripts_windows/fzfg.ps1 +1 -6
  27. machineconfig/scripts/python/helpers/helpers_network/ssh/__init__.py +0 -0
  28. machineconfig/scripts/python/helpers/helpers_network/ssh/ssh_add_key_windows.py +23 -0
  29. machineconfig/scripts/python/helpers/helpers_network/{ssh_add_ssh_key.py → ssh/ssh_add_ssh_key.py} +21 -27
  30. machineconfig/scripts/python/helpers/helpers_network/ssh/ssh_cloud_init.py +33 -0
  31. machineconfig/scripts/python/helpers/helpers_network/{ssh_debug_linux.py → ssh/ssh_debug_linux.py} +70 -51
  32. machineconfig/scripts/python/helpers/helpers_network/ssh/ssh_debug_linux_utils.py +35 -0
  33. machineconfig/scripts/python/helpers/helpers_network/{ssh_debug_windows.py → ssh/ssh_debug_windows.py} +12 -42
  34. machineconfig/scripts/python/helpers/helpers_network/ssh/ssh_debug_windows_utils.py +34 -0
  35. machineconfig/scripts/python/helpers/helpers_repos/cloud_repo_sync.py +2 -3
  36. machineconfig/scripts/python/helpers/{helpers_terminal/terminal_impl.py → helpers_sessions/attach_impl.py} +16 -25
  37. machineconfig/scripts/python/helpers/helpers_sessions/sessions_impl.py +57 -129
  38. machineconfig/scripts/python/helpers/helpers_sessions/utils.py +69 -0
  39. machineconfig/scripts/python/mcfg_entry.py +0 -7
  40. machineconfig/scripts/python/sessions.py +95 -14
  41. machineconfig/scripts/python/utils.py +3 -2
  42. machineconfig/settings/shells/bash/init.sh +0 -7
  43. machineconfig/settings/shells/pwsh/init.ps1 +2 -4
  44. machineconfig/settings/shells/wezterm/wezterm.lua +1 -0
  45. machineconfig/settings/shells/wt/settings.json +13 -19
  46. machineconfig/settings/shells/zsh/init.sh +0 -1
  47. machineconfig/settings/zellij/__init__.py +0 -0
  48. machineconfig/settings/zellij/config.kdl +0 -295
  49. machineconfig/settings/zellij/layouts/__init__.py +0 -0
  50. machineconfig/settings/zellij/layouts/st.kdl +0 -1
  51. machineconfig/settings/zellij/layouts/st2.kdl +6 -2
  52. machineconfig/setup_linux/web_shortcuts/interactive.sh +10 -10
  53. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +10 -10
  54. machineconfig/utils/installer_utils/installer_cli.py +6 -2
  55. machineconfig/utils/installer_utils/installer_helper.py +50 -34
  56. machineconfig/utils/installer_utils/installer_locator_utils.py +3 -13
  57. machineconfig/utils/options_utils/tv_options.py +1 -1
  58. machineconfig/utils/procs.py +35 -27
  59. machineconfig/utils/schemas/layouts/layout_types.py +10 -0
  60. machineconfig/utils/source_of_truth.py +1 -0
  61. machineconfig/utils/ssh_utils/abc.py +1 -1
  62. {machineconfig-8.51.dist-info → machineconfig-8.61.dist-info}/METADATA +2 -3
  63. {machineconfig-8.51.dist-info → machineconfig-8.61.dist-info}/RECORD +68 -72
  64. {machineconfig-8.51.dist-info → machineconfig-8.61.dist-info}/entry_points.txt +0 -1
  65. machineconfig/jobs/scripts/bash_scripts/android.sh +0 -2
  66. machineconfig/jobs/scripts/bash_scripts/mount_drive +0 -128
  67. machineconfig/jobs/scripts/bash_scripts/mount_nfs +0 -49
  68. machineconfig/jobs/scripts/bash_scripts/mount_nw_drive +0 -61
  69. machineconfig/jobs/scripts/bash_scripts/mount_smb +0 -3
  70. machineconfig/jobs/scripts/bash_scripts/share_cloud.sh +0 -64
  71. machineconfig/jobs/scripts/bash_scripts/share_nfs +0 -49
  72. machineconfig/jobs/scripts/bash_scripts/start_docker +0 -23
  73. machineconfig/jobs/scripts/powershell_scripts/Restore-ThunderbirdProfile.ps1 +0 -92
  74. machineconfig/jobs/scripts/powershell_scripts/docker.ps1 +0 -7
  75. machineconfig/jobs/scripts/powershell_scripts/mount_nfs.ps1 +0 -42
  76. machineconfig/jobs/scripts/powershell_scripts/mount_nw.ps1 +0 -9
  77. machineconfig/jobs/scripts/powershell_scripts/mount_smb.ps1 +0 -2
  78. machineconfig/jobs/scripts/powershell_scripts/mount_ssh.ps1 +0 -13
  79. machineconfig/jobs/scripts/powershell_scripts/obs.ps1 +0 -4
  80. machineconfig/jobs/scripts/powershell_scripts/power_options.ps1 +0 -7
  81. machineconfig/jobs/scripts/powershell_scripts/share_cloud.cmd +0 -34
  82. machineconfig/jobs/scripts/powershell_scripts/share_smb.ps1 +0 -16
  83. machineconfig/scripts/python/helpers/helpers_network/mount_nfs.py +0 -85
  84. machineconfig/scripts/python/helpers/helpers_network/mount_nw_drive.py +0 -48
  85. machineconfig/scripts/python/helpers/helpers_network/mount_ssh.py +0 -64
  86. machineconfig/scripts/python/terminal.py +0 -58
  87. machineconfig/settings/zellij/config.orig.kdl +0 -295
  88. /machineconfig/{scripts/python/helpers/helpers_terminal → cluster/sessions_managers/wt_utils/examples}/__init__.py +0 -0
  89. /machineconfig/scripts/python/helpers/helpers_network/{ssh_add_identity.py → ssh/ssh_add_identity.py} +0 -0
  90. {machineconfig-8.51.dist-info → machineconfig-8.61.dist-info}/WHEEL +0 -0
  91. {machineconfig-8.51.dist-info → machineconfig-8.61.dist-info}/top_level.txt +0 -0
@@ -1,64 +0,0 @@
1
- """Mount a remote SSHFS share on a local directory"""
2
-
3
- from platform import system
4
- import subprocess
5
- from machineconfig.utils.ssh import SSH
6
- from pathlib import Path
7
-
8
- from machineconfig.utils.options import choose_ssh_host
9
-
10
-
11
- def main():
12
- print("\n" + "=" * 50)
13
- print("🚀 Starting SSHFS Mounting Process")
14
- print("=" * 50 + "\n")
15
-
16
- share_info = input("🔗 Enter share path (e.g., user@host:/path) [Press Enter for interactive choice]: ")
17
- if share_info == "":
18
- print("\n🔍 Interactive mode selected for choosing share path.")
19
- tmp = choose_ssh_host(multi=False)
20
- assert isinstance(tmp, str)
21
- ssh = SSH(host=tmp, username=None, hostname=None, ssh_key_path=None, password=None, port=22, enable_compression=False)
22
- share_info = f"{ssh.username}@{ssh.hostname}:{ssh.run_shell_cmd_on_remote(command='echo $HOME', verbose_output=False, description='Get home directory', strict_stderr=False, strict_return_code=True).op}/data/share_ssh"
23
- else:
24
- ssh = SSH(host=share_info.split(":")[0], username=None, hostname=None, ssh_key_path=None, password=None, port=22, enable_compression=False)
25
-
26
- print(f"\n🌐 Share Info: {share_info}")
27
-
28
- if system() == "Windows":
29
- print("\n🔍 Checking existing drives...")
30
- completed = subprocess.run(["powershell", "-Command", "net use"], capture_output=True, check=False, text=True)
31
- print((completed.stdout or "").strip())
32
- driver_letter = input(r"🖥️ Choose driver letter (e.g., Z:\\) [Avoid already used ones]: ") or "Z:\\"
33
- else:
34
- driver_letter = None
35
-
36
- mount_point = input(f"📂 Enter the mount point directory (e.g., /mnt/network) [Default: ~/data/mount_ssh/{ssh.hostname}]: ")
37
- if mount_point == "":
38
- mount_point = Path.home().joinpath(rf"data/mount_ssh/{ssh.hostname}")
39
-
40
- print(f"\n📁 Mount Point: {mount_point}")
41
-
42
- if system() == "Linux":
43
- txt = """
44
- sshfs alex@:/media/dbhdd /media/dbhdd\
45
- """
46
- print("\n🔧 Preparing SSHFS mount command for Linux...")
47
- elif system() == "Windows":
48
- txt = rf"""
49
- net use {driver_letter} {share_info}
50
- fusermount -u /mnt/dbhdd
51
- """
52
- print("\n🔧 Preparing SSHFS mount command for Windows...")
53
- else:
54
- raise ValueError(f"❌ Not implemented for this system: {system()}")
55
-
56
- # PROGRAM_PATH.write_text(txt, encoding="utf-8")
57
- subprocess.run(txt, shell=True, check=True)
58
- print("✅ Configuration saved successfully!\n")
59
-
60
- print("🎉 SSHFS Mounting Process Completed!\n")
61
-
62
-
63
- if __name__ == "__main__":
64
- main()
@@ -1,58 +0,0 @@
1
- import typer
2
- from typing import Annotated
3
-
4
-
5
- def choose_zellij_session(
6
- name: Annotated[str | None, typer.Argument(help="Name of the Zellij session to attach to. If not provided, a list will be shown to choose from.")] = None,
7
- new_session: Annotated[bool, typer.Option("--new-session", "-n", help="Create a new Zellij session instead of attaching to an existing one.", show_default=True)] = False,
8
- kill_all: Annotated[bool, typer.Option("--kill-all", "-k", help="Kill all existing Zellij sessions before creating a new one.", show_default=True)] = False) -> None:
9
- """Choose a Zellij session to attach to."""
10
- from machineconfig.scripts.python.helpers.helpers_terminal.terminal_impl import choose_zellij_session as impl
11
- action, payload = impl(name=name, new_session=new_session, kill_all=kill_all)
12
- if action == "error":
13
- typer.echo(payload, err=True, color=True)
14
- raise typer.Exit()
15
- if action == "run_script" and payload:
16
- from machineconfig.utils.code import exit_then_run_shell_script
17
- exit_then_run_shell_script(payload, strict=True)
18
-
19
-
20
- def get_session_tabs() -> list[tuple[str, str]]:
21
- """Get all Zellij session tabs."""
22
- from machineconfig.scripts.python.helpers.helpers_terminal.terminal_impl import get_session_tabs as impl
23
- result = impl()
24
- print(result)
25
- return result
26
-
27
-
28
- def start_wt(layout_name: Annotated[str, typer.Argument(help="Layout name to start.")]) -> None:
29
- """Start a Windows Terminal layout by name."""
30
- from machineconfig.scripts.python.helpers.helpers_terminal.terminal_impl import start_wt as impl
31
- status, message = impl(layout_name=layout_name)
32
- if status == "error":
33
- typer.echo(message)
34
- raise typer.Exit(code=1)
35
- # cmd = f'powershell -ExecutionPolicy Bypass -File "./{layout_name}_layout.ps1"'
36
- # from machineconfig.utils.code import exit_then_run_shell_script
37
- # exit_then_run_shell_script(cmd, strict=True)
38
-
39
-
40
- def get_app():
41
- app = typer.Typer(help="🖥️ Terminal utilities", no_args_is_help=True, add_help_option=True, add_completion=False)
42
- app.command(name="attach-to-zellij", no_args_is_help=False, help=choose_zellij_session.__doc__, short_help="[z] Choose a Zellij session to attach to")(choose_zellij_session)
43
- app.command(name="z", hidden=True, no_args_is_help=False, help=choose_zellij_session.__doc__)(choose_zellij_session)
44
-
45
- app.command(name="start-wt", no_args_is_help=True, help=start_wt.__doc__, short_help="[w] Start a Windows Terminal layout by name.")(start_wt)
46
- app.command(name="w", hidden=True, no_args_is_help=True, help=start_wt.__doc__)(start_wt)
47
-
48
- app.command(name="get-session-tabs", no_args_is_help=False, help=get_session_tabs.__doc__, short_help="[zt] Get all Zellij session tabs.")(get_session_tabs)
49
- app.command(name="zt", hidden=True, no_args_is_help=False, help=get_session_tabs.__doc__)(get_session_tabs)
50
- return app
51
-
52
- def main():
53
- app = get_app()
54
- app()
55
-
56
-
57
- if __name__ == "__main__":
58
- main()
@@ -1,295 +0,0 @@
1
- // If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true"
2
- keybinds {
3
- normal {
4
- // uncomment this and adjust key if using copy_on_select=false
5
- // bind "Alt c" { Copy; }
6
- }
7
- locked {
8
- bind "Ctrl g" { SwitchToMode "Normal"; }
9
- }
10
- resize {
11
- bind "Ctrl n" { SwitchToMode "Normal"; }
12
- bind "h" "Left" { Resize "Left"; }
13
- bind "j" "Down" { Resize "Down"; }
14
- bind "k" "Up" { Resize "Up"; }
15
- bind "l" "Right" { Resize "Right"; }
16
- bind "=" "+" { Resize "Increase"; }
17
- bind "-" { Resize "Decrease"; }
18
- }
19
- pane {
20
- bind "Ctrl p" { SwitchToMode "Normal"; }
21
- bind "h" "Left" { MoveFocus "Left"; }
22
- bind "l" "Right" { MoveFocus "Right"; }
23
- bind "j" "Down" { MoveFocus "Down"; }
24
- bind "k" "Up" { MoveFocus "Up"; }
25
- bind "p" { SwitchFocus; }
26
- bind "n" { NewPane; SwitchToMode "Normal"; }
27
- bind "d" { NewPane "Down"; SwitchToMode "Normal"; }
28
- bind "r" { NewPane "Right"; SwitchToMode "Normal"; }
29
- bind "x" { CloseFocus; SwitchToMode "Normal"; }
30
- bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
31
- bind "z" { TogglePaneFrames; SwitchToMode "Normal"; }
32
- bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; }
33
- bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; }
34
- bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;}
35
- }
36
- move {
37
- bind "Ctrl h" { SwitchToMode "Normal"; }
38
- bind "n" "Tab" { MovePane; }
39
- bind "h" "Left" { MovePane "Left"; }
40
- bind "j" "Down" { MovePane "Down"; }
41
- bind "k" "Up" { MovePane "Up"; }
42
- bind "l" "Right" { MovePane "Right"; }
43
- }
44
- tab {
45
- bind "Ctrl t" { SwitchToMode "Normal"; }
46
- bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; }
47
- bind "h" "Left" "Up" "k" { GoToPreviousTab; }
48
- bind "l" "Right" "Down" "j" { GoToNextTab; }
49
- bind "n" { NewTab; SwitchToMode "Normal"; }
50
- bind "x" { CloseTab; SwitchToMode "Normal"; }
51
- bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; }
52
- bind "1" { GoToTab 1; SwitchToMode "Normal"; }
53
- bind "2" { GoToTab 2; SwitchToMode "Normal"; }
54
- bind "3" { GoToTab 3; SwitchToMode "Normal"; }
55
- bind "4" { GoToTab 4; SwitchToMode "Normal"; }
56
- bind "5" { GoToTab 5; SwitchToMode "Normal"; }
57
- bind "6" { GoToTab 6; SwitchToMode "Normal"; }
58
- bind "7" { GoToTab 7; SwitchToMode "Normal"; }
59
- bind "8" { GoToTab 8; SwitchToMode "Normal"; }
60
- bind "9" { GoToTab 9; SwitchToMode "Normal"; }
61
- bind "Tab" { ToggleTab; }
62
- }
63
- scroll {
64
- bind "Ctrl s" { SwitchToMode "Normal"; }
65
- bind "e" { EditScrollback; SwitchToMode "Normal"; }
66
- bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; }
67
- bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
68
- bind "j" "Down" { ScrollDown; }
69
- bind "k" "Up" { ScrollUp; }
70
- bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
71
- bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
72
- bind "d" { HalfPageScrollDown; }
73
- bind "u" { HalfPageScrollUp; }
74
- // uncomment this and adjust key if using copy_on_select=false
75
- // bind "Alt c" { Copy; }
76
- }
77
- search {
78
- bind "Ctrl s" { SwitchToMode "Normal"; }
79
- bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
80
- bind "j" "Down" { ScrollDown; }
81
- bind "k" "Up" { ScrollUp; }
82
- bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
83
- bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
84
- bind "d" { HalfPageScrollDown; }
85
- bind "u" { HalfPageScrollUp; }
86
- bind "n" { Search "down"; }
87
- bind "p" { Search "up"; }
88
- bind "c" { SearchToggleOption "CaseSensitivity"; }
89
- bind "w" { SearchToggleOption "Wrap"; }
90
- bind "o" { SearchToggleOption "WholeWord"; }
91
- }
92
- entersearch {
93
- bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; }
94
- bind "Enter" { SwitchToMode "Search"; }
95
- }
96
- renametab {
97
- bind "Ctrl c" { SwitchToMode "Normal"; }
98
- bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; }
99
- }
100
- renamepane {
101
- bind "Ctrl c" { SwitchToMode "Normal"; }
102
- bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; }
103
- }
104
- session {
105
- bind "Ctrl o" { SwitchToMode "Normal"; }
106
- bind "Ctrl s" { SwitchToMode "Scroll"; }
107
- bind "d" { Detach; }
108
- }
109
- tmux {
110
- bind "[" { SwitchToMode "Scroll"; }
111
- bind "Ctrl b" { Write 2; SwitchToMode "Normal"; }
112
- bind "\"" { NewPane "Down"; SwitchToMode "Normal"; }
113
- bind "%" { NewPane "Right"; SwitchToMode "Normal"; }
114
- bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
115
- bind "c" { NewTab; SwitchToMode "Normal"; }
116
- bind "," { SwitchToMode "RenameTab"; }
117
- bind "p" { GoToPreviousTab; SwitchToMode "Normal"; }
118
- bind "n" { GoToNextTab; SwitchToMode "Normal"; }
119
- bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; }
120
- bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; }
121
- bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; }
122
- bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; }
123
- bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; }
124
- bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; }
125
- bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; }
126
- bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; }
127
- bind "o" { FocusNextPane; }
128
- bind "d" { Detach; }
129
- }
130
- shared_except "locked" {
131
- bind "Ctrl g" { SwitchToMode "Locked"; }
132
- bind "Ctrl q" { Quit; }
133
- bind "Alt n" { NewPane; }
134
- bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; }
135
- bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; }
136
- bind "Alt j" "Alt Down" { MoveFocus "Down"; }
137
- bind "Alt k" "Alt Up" { MoveFocus "Up"; }
138
- bind "Alt =" "Alt +" { Resize "Increase"; }
139
- bind "Alt -" { Resize "Decrease"; }
140
- }
141
- shared_except "normal" "locked" {
142
- bind "Enter" "Esc" { SwitchToMode "Normal"; }
143
- }
144
- shared_except "pane" "locked" {
145
- bind "Ctrl p" { SwitchToMode "Pane"; }
146
- }
147
- shared_except "resize" "locked" {
148
- bind "Ctrl n" { SwitchToMode "Resize"; }
149
- }
150
- shared_except "scroll" "locked" {
151
- bind "Ctrl s" { SwitchToMode "Scroll"; }
152
- }
153
- shared_except "session" "locked" {
154
- bind "Ctrl o" { SwitchToMode "Session"; }
155
- }
156
- shared_except "tab" "locked" {
157
- bind "Ctrl t" { SwitchToMode "Tab"; }
158
- }
159
- shared_except "move" "locked" {
160
- bind "Ctrl h" { SwitchToMode "Move"; }
161
- }
162
- shared_except "tmux" "locked" {
163
- bind "Ctrl b" { SwitchToMode "Tmux"; }
164
- }
165
- }
166
-
167
- plugins {
168
- tab-bar { path "tab-bar"; }
169
- status-bar { path "status-bar"; }
170
- strider { path "strider"; }
171
- compact-bar { path "compact-bar"; }
172
- }
173
-
174
- // Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
175
- // eg. when terminal window with an active zellij session is closed
176
- // Options:
177
- // - detach (Default)
178
- // - quit
179
- //
180
- // on_force_close "quit"
181
-
182
- // Send a request for a simplified ui (without arrow fonts) to plugins
183
- // Options:
184
- // - true
185
- // - false (Default)
186
- //
187
- // simplified_ui true
188
-
189
- // Choose the path to the default shell that zellij will use for opening new panes
190
- // Default: $SHELL
191
- //
192
- // default_shell "fish"
193
-
194
- // Toggle between having pane frames around the panes
195
- // Options:
196
- // - true (default)
197
- // - false
198
- //
199
- // pane_frames true
200
-
201
- // Define color themes for Zellij
202
- // For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes
203
- // Once these themes are defined, one of them should to be selected in the "theme" section of this file
204
- //
205
- // themes {
206
- // dracula {
207
- // fg 248 248 242
208
- // bg 40 42 54
209
- // red 255 85 85
210
- // green 80 250 123
211
- // yellow 241 250 140
212
- // blue 98 114 164
213
- // magenta 255 121 198
214
- // orange 255 184 108
215
- // cyan 139 233 253
216
- // black 0 0 0
217
- // white 255 255 255
218
- // }
219
- // }
220
-
221
- // Choose the theme that is specified in the themes section.
222
- // Default: default
223
- //
224
- // theme "default"
225
-
226
- // The name of the default layout to load on startup
227
- // Default: "default"
228
- //
229
- // default_layout "compact"
230
-
231
- // Choose the mode that zellij uses when starting up.
232
- // Default: normal
233
- //
234
- // default_mode "locked"
235
-
236
- // Toggle enabling the mouse mode.
237
- // On certain configurations, or terminals this could
238
- // potentially interfere with copying text.
239
- // Options:
240
- // - true (default)
241
- // - false
242
- //
243
- // mouse_mode false
244
-
245
- // Configure the scroll back buffer size
246
- // This is the number of lines zellij stores for each pane in the scroll back
247
- // buffer. Excess number of lines are discarded in a FIFO fashion.
248
- // Valid values: positive integers
249
- // Default value: 10000
250
- //
251
- // scroll_buffer_size 10000
252
-
253
- // Provide a command to execute when copying text. The text will be piped to
254
- // the stdin of the program to perform the copy. This can be used with
255
- // terminal emulators which do not support the OSC 52 ANSI control sequence
256
- // that will be used by default if this option is not set.
257
- // Examples:
258
- //
259
- // copy_command "xclip -selection clipboard" // x11
260
- // copy_command "wl-copy" // wayland
261
- // copy_command "pbcopy" // osx
262
-
263
- // Choose the destination for copied text
264
- // Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
265
- // Does not apply when using copy_command.
266
- // Options:
267
- // - system (default)
268
- // - primary
269
- //
270
- // copy_clipboard "primary"
271
-
272
- // Enable or disable automatic copy (and clear) of selection when releasing mouse
273
- // Default: true
274
- //
275
- // copy_on_select false
276
-
277
- // Path to the default editor to use to edit pane scrollbuffer
278
- // Default: $EDITOR or $VISUAL
279
- //
280
- // scrollback_editor "/usr/bin/vim"
281
-
282
- // When attaching to an existing session with other users,
283
- // should the session be mirrored (true)
284
- // or should each user have their own cursor (false)
285
- // Default: false
286
- //
287
- // mirror_session true
288
-
289
- // The folder in which Zellij will look for layouts
290
- //
291
- // layout_dir "/path/to/my/layout_dir"
292
-
293
- // The folder in which Zellij will look for themes
294
- //
295
- // theme_dir "/path/to/my/theme_dir"