Constant zellij_utils::setup::DEFAULT_CONFIG

source ·
pub const DEFAULT_CONFIG: &[u8] = b"// If you\'d like to override the default keybindings completely, be sure to change \"keybinds\" to \"keybinds clear-defaults=true\"\nkeybinds {\n    normal {\n        // uncomment this and adjust key if using copy_on_select=false\n        // bind \"Alt c\" { Copy; }\n    }\n    locked {\n        bind \"Ctrl g\" { SwitchToMode \"Normal\"; }\n    }\n    resize {\n        bind \"Ctrl n\" { SwitchToMode \"Normal\"; }\n        bind \"h\" \"Left\" { Resize \"Increase Left\"; }\n        bind \"j\" \"Down\" { Resize \"Increase Down\"; }\n        bind \"k\" \"Up\" { Resize \"Increase Up\"; }\n        bind \"l\" \"Right\" { Resize \"Increase Right\"; }\n        bind \"H\" { Resize \"Decrease Left\"; }\n        bind \"J\" { Resize \"Decrease Down\"; }\n        bind \"K\" { Resize \"Decrease Up\"; }\n        bind \"L\" { Resize \"Decrease Right\"; }\n        bind \"=\" \"+\" { Resize \"Increase\"; }\n        bind \"-\" { Resize \"Decrease\"; }\n    }\n    pane {\n        bind \"Ctrl p\" { SwitchToMode \"Normal\"; }\n        bind \"h\" \"Left\" { MoveFocus \"Left\"; }\n        bind \"l\" \"Right\" { MoveFocus \"Right\"; }\n        bind \"j\" \"Down\" { MoveFocus \"Down\"; }\n        bind \"k\" \"Up\" { MoveFocus \"Up\"; }\n        bind \"p\" { SwitchFocus; }\n        bind \"n\" { NewPane; SwitchToMode \"Normal\"; }\n        bind \"d\" { NewPane \"Down\"; SwitchToMode \"Normal\"; }\n        bind \"r\" { NewPane \"Right\"; SwitchToMode \"Normal\"; }\n        bind \"x\" { CloseFocus; SwitchToMode \"Normal\"; }\n        bind \"f\" { ToggleFocusFullscreen; SwitchToMode \"Normal\"; }\n        bind \"z\" { TogglePaneFrames; SwitchToMode \"Normal\"; }\n        bind \"w\" { ToggleFloatingPanes; SwitchToMode \"Normal\"; }\n        bind \"e\" { TogglePaneEmbedOrFloating; SwitchToMode \"Normal\"; }\n        bind \"c\" { SwitchToMode \"RenamePane\"; PaneNameInput 0;}\n    }\n    move {\n        bind \"Ctrl h\" { SwitchToMode \"Normal\"; }\n        bind \"n\" \"Tab\" { MovePane; }\n        bind \"p\" { MovePaneBackwards; }\n        bind \"h\" \"Left\" { MovePane \"Left\"; }\n        bind \"j\" \"Down\" { MovePane \"Down\"; }\n        bind \"k\" \"Up\" { MovePane \"Up\"; }\n        bind \"l\" \"Right\" { MovePane \"Right\"; }\n    }\n    tab {\n        bind \"Ctrl t\" { SwitchToMode \"Normal\"; }\n        bind \"r\" { SwitchToMode \"RenameTab\"; TabNameInput 0; }\n        bind \"h\" \"Left\" \"Up\" \"k\" { GoToPreviousTab; }\n        bind \"l\" \"Right\" \"Down\" \"j\" { GoToNextTab; }\n        bind \"n\" { NewTab; SwitchToMode \"Normal\"; }\n        bind \"x\" { CloseTab; SwitchToMode \"Normal\"; }\n        bind \"s\" { ToggleActiveSyncTab; SwitchToMode \"Normal\"; }\n        bind \"b\" { BreakPane; SwitchToMode \"Normal\"; }\n        bind \"]\" { BreakPaneRight; SwitchToMode \"Normal\"; }\n        bind \"[\" { BreakPaneLeft; SwitchToMode \"Normal\"; }\n        bind \"1\" { GoToTab 1; SwitchToMode \"Normal\"; }\n        bind \"2\" { GoToTab 2; SwitchToMode \"Normal\"; }\n        bind \"3\" { GoToTab 3; SwitchToMode \"Normal\"; }\n        bind \"4\" { GoToTab 4; SwitchToMode \"Normal\"; }\n        bind \"5\" { GoToTab 5; SwitchToMode \"Normal\"; }\n        bind \"6\" { GoToTab 6; SwitchToMode \"Normal\"; }\n        bind \"7\" { GoToTab 7; SwitchToMode \"Normal\"; }\n        bind \"8\" { GoToTab 8; SwitchToMode \"Normal\"; }\n        bind \"9\" { GoToTab 9; SwitchToMode \"Normal\"; }\n        bind \"Tab\" { ToggleTab; }\n    }\n    scroll {\n        bind \"Ctrl s\" { SwitchToMode \"Normal\"; }\n        bind \"e\" { EditScrollback; SwitchToMode \"Normal\"; }\n        bind \"s\" { SwitchToMode \"EnterSearch\"; SearchInput 0; }\n        bind \"Ctrl c\" { ScrollToBottom; SwitchToMode \"Normal\"; }\n        bind \"j\" \"Down\" { ScrollDown; }\n        bind \"k\" \"Up\" { ScrollUp; }\n        bind \"Ctrl f\" \"PageDown\" \"Right\" \"l\" { PageScrollDown; }\n        bind \"Ctrl b\" \"PageUp\" \"Left\" \"h\" { PageScrollUp; }\n        bind \"d\" { HalfPageScrollDown; }\n        bind \"u\" { HalfPageScrollUp; }\n        // uncomment this and adjust key if using copy_on_select=false\n        // bind \"Alt c\" { Copy; }\n    }\n    search {\n        bind \"Ctrl s\" { SwitchToMode \"Normal\"; }\n        bind \"Ctrl c\" { ScrollToBottom; SwitchToMode \"Normal\"; }\n        bind \"j\" \"Down\" { ScrollDown; }\n        bind \"k\" \"Up\" { ScrollUp; }\n        bind \"Ctrl f\" \"PageDown\" \"Right\" \"l\" { PageScrollDown; }\n        bind \"Ctrl b\" \"PageUp\" \"Left\" \"h\" { PageScrollUp; }\n        bind \"d\" { HalfPageScrollDown; }\n        bind \"u\" { HalfPageScrollUp; }\n        bind \"n\" { Search \"down\"; }\n        bind \"p\" { Search \"up\"; }\n        bind \"c\" { SearchToggleOption \"CaseSensitivity\"; }\n        bind \"w\" { SearchToggleOption \"Wrap\"; }\n        bind \"o\" { SearchToggleOption \"WholeWord\"; }\n    }\n    entersearch {\n        bind \"Ctrl c\" \"Esc\" { SwitchToMode \"Scroll\"; }\n        bind \"Enter\" { SwitchToMode \"Search\"; }\n    }\n    renametab {\n        bind \"Ctrl c\" { SwitchToMode \"Normal\"; }\n        bind \"Esc\" { UndoRenameTab; SwitchToMode \"Tab\"; }\n    }\n    renamepane {\n        bind \"Ctrl c\" { SwitchToMode \"Normal\"; }\n        bind \"Esc\" { UndoRenamePane; SwitchToMode \"Pane\"; }\n    }\n    session {\n        bind \"Ctrl o\" { SwitchToMode \"Normal\"; }\n        bind \"Ctrl s\" { SwitchToMode \"Scroll\"; }\n        bind \"d\" { Detach; }\n        bind \"w\" {\n            LaunchOrFocusPlugin \"session-manager\" {\n                floating true\n                move_to_focused_tab true\n            };\n            SwitchToMode \"Normal\"\n        }\n    }\n    tmux {\n        bind \"[\" { SwitchToMode \"Scroll\"; }\n        bind \"Ctrl b\" { Write 2; SwitchToMode \"Normal\"; }\n        bind \"\\\"\" { NewPane \"Down\"; SwitchToMode \"Normal\"; }\n        bind \"%\" { NewPane \"Right\"; SwitchToMode \"Normal\"; }\n        bind \"z\" { ToggleFocusFullscreen; SwitchToMode \"Normal\"; }\n        bind \"c\" { NewTab; SwitchToMode \"Normal\"; }\n        bind \",\" { SwitchToMode \"RenameTab\"; }\n        bind \"p\" { GoToPreviousTab; SwitchToMode \"Normal\"; }\n        bind \"n\" { GoToNextTab; SwitchToMode \"Normal\"; }\n        bind \"Left\" { MoveFocus \"Left\"; SwitchToMode \"Normal\"; }\n        bind \"Right\" { MoveFocus \"Right\"; SwitchToMode \"Normal\"; }\n        bind \"Down\" { MoveFocus \"Down\"; SwitchToMode \"Normal\"; }\n        bind \"Up\" { MoveFocus \"Up\"; SwitchToMode \"Normal\"; }\n        bind \"h\" { MoveFocus \"Left\"; SwitchToMode \"Normal\"; }\n        bind \"l\" { MoveFocus \"Right\"; SwitchToMode \"Normal\"; }\n        bind \"j\" { MoveFocus \"Down\"; SwitchToMode \"Normal\"; }\n        bind \"k\" { MoveFocus \"Up\"; SwitchToMode \"Normal\"; }\n        bind \"o\" { FocusNextPane; }\n        bind \"d\" { Detach; }\n        bind \"Space\" { NextSwapLayout; }\n        bind \"x\" { CloseFocus; SwitchToMode \"Normal\"; }\n    }\n    shared_except \"locked\" {\n        bind \"Ctrl g\" { SwitchToMode \"Locked\"; }\n        bind \"Ctrl q\" { Quit; }\n        bind \"Alt n\" { NewPane; }\n        bind \"Alt i\" { MoveTab \"Left\"; }\n        bind \"Alt o\" { MoveTab \"Right\"; }\n        bind \"Alt h\" \"Alt Left\" { MoveFocusOrTab \"Left\"; }\n        bind \"Alt l\" \"Alt Right\" { MoveFocusOrTab \"Right\"; }\n        bind \"Alt j\" \"Alt Down\" { MoveFocus \"Down\"; }\n        bind \"Alt k\" \"Alt Up\" { MoveFocus \"Up\"; }\n        bind \"Alt =\" \"Alt +\" { Resize \"Increase\"; }\n        bind \"Alt -\" { Resize \"Decrease\"; }\n        bind \"Alt [\" { PreviousSwapLayout; }\n        bind \"Alt ]\" { NextSwapLayout; }\n    }\n    shared_except \"normal\" \"locked\" {\n        bind \"Enter\" \"Esc\" { SwitchToMode \"Normal\"; }\n    }\n    shared_except \"pane\" \"locked\" {\n        bind \"Ctrl p\" { SwitchToMode \"Pane\"; }\n    }\n    shared_except \"resize\" \"locked\" {\n        bind \"Ctrl n\" { SwitchToMode \"Resize\"; }\n    }\n    shared_except \"scroll\" \"locked\" {\n        bind \"Ctrl s\" { SwitchToMode \"Scroll\"; }\n    }\n    shared_except \"session\" \"locked\" {\n        bind \"Ctrl o\" { SwitchToMode \"Session\"; }\n    }\n    shared_except \"tab\" \"locked\" {\n        bind \"Ctrl t\" { SwitchToMode \"Tab\"; }\n    }\n    shared_except \"move\" \"locked\" {\n        bind \"Ctrl h\" { SwitchToMode \"Move\"; }\n    }\n    shared_except \"tmux\" \"locked\" {\n        bind \"Ctrl b\" { SwitchToMode \"Tmux\"; }\n    }\n}\n\nplugins {\n    tab-bar location=\"zellij:tab-bar\"\n    status-bar location=\"zellij:status-bar\"\n    strider location=\"zellij:strider\"\n    compact-bar location=\"zellij:compact-bar\"\n    session-manager location=\"zellij:session-manager\"\n    welcome-screen location=\"zellij:session-manager\" {\n        welcome_screen true\n    }\n    filepicker location=\"zellij:strider\" {\n        cwd \"/\"\n    }\n}\n\n// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP\n// eg. when terminal window with an active zellij session is closed\n// Options:\n//   - detach (Default)\n//   - quit\n//\n// on_force_close \"quit\"\n\n//  Send a request for a simplified ui (without arrow fonts) to plugins\n//  Options:\n//    - true\n//    - false (Default)\n//\n// simplified_ui true\n\n// Choose the path to the default shell that zellij will use for opening new panes\n// Default: $SHELL\n//\n// default_shell \"fish\"\n\n// Choose the path to override cwd that zellij will use for opening new panes\n//\n// default_cwd \"\"\n\n// Toggle between having pane frames around the panes\n// Options:\n//   - true (default)\n//   - false\n//\n// pane_frames true\n\n// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible\n// Options:\n//   - true (default)\n//   - false\n//\n// auto_layout true\n\n// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected\n// Options:\n//   - true (default)\n//   - false\n//\n// session_serialization false\n\n// Whether pane viewports are serialized along with the session, default is false\n// Options:\n//   - true\n//   - false (default)\n// serialize_pane_viewport true\n\n// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0\n// defaults to the scrollback size. If this number is higher than the scrollback size, it will\n// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.\n//\n// scrollback_lines_to_serialize 10000\n\n// Define color themes for Zellij\n// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes\n// Once these themes are defined, one of them should to be selected in the \"theme\" section of this file\n//\n// themes {\n//     dracula {\n//         fg 248 248 242\n//         bg 40 42 54\n//         red 255 85 85\n//         green 80 250 123\n//         yellow 241 250 140\n//         blue 98 114 164\n//         magenta 255 121 198\n//         orange 255 184 108\n//         cyan 139 233 253\n//         black 0 0 0\n//         white 255 255 255\n//     }\n// }\n\n// Choose the theme that is specified in the themes section.\n// Default: default\n//\n// theme \"default\"\n\n// The name of the default layout to load on startup\n// Default: \"default\"\n//\n// default_layout \"compact\"\n\n// Choose the mode that zellij uses when starting up.\n// Default: normal\n//\n// default_mode \"locked\"\n\n// Toggle enabling the mouse mode.\n// On certain configurations, or terminals this could\n// potentially interfere with copying text.\n// Options:\n//   - true (default)\n//   - false\n//\n// mouse_mode false\n\n// Configure the scroll back buffer size\n// This is the number of lines zellij stores for each pane in the scroll back\n// buffer. Excess number of lines are discarded in a FIFO fashion.\n// Valid values: positive integers\n// Default value: 10000\n//\n// scroll_buffer_size 10000\n\n// Provide a command to execute when copying text. The text will be piped to\n// the stdin of the program to perform the copy. This can be used with\n// terminal emulators which do not support the OSC 52 ANSI control sequence\n// that will be used by default if this option is not set.\n// Examples:\n//\n// copy_command \"xclip -selection clipboard\" // x11\n// copy_command \"wl-copy\"                    // wayland\n// copy_command \"pbcopy\"                     // osx\n\n// Choose the destination for copied text\n// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.\n// Does not apply when using copy_command.\n// Options:\n//   - system (default)\n//   - primary\n//\n// copy_clipboard \"primary\"\n\n// Enable or disable automatic copy (and clear) of selection when releasing mouse\n// Default: true\n//\n// copy_on_select false\n\n// Path to the default editor to use to edit pane scrollbuffer\n// Default: $EDITOR or $VISUAL\n//\n// scrollback_editor \"/usr/bin/vim\"\n\n// When attaching to an existing session with other users,\n// should the session be mirrored (true)\n// or should each user have their own cursor (false)\n// Default: false\n//\n// mirror_session true\n\n// The folder in which Zellij will look for layouts\n//\n// layout_dir \"/path/to/my/layout_dir\"\n\n// The folder in which Zellij will look for themes\n//\n// theme_dir \"/path/to/my/theme_dir\"\n\n// Enable or disable the rendering of styled and colored underlines (undercurl).\n// May need to be disabled for certain unsupported terminals\n// Default: true\n//\n// styled_underlines false\n\n// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know\n// metadata info on this session)\n// Default: false\n//\n// disable_session_metadata true\n";