zellij-org / zellij

A terminal workspace with batteries included

Home Page:https://zellij.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

semicolon (;) key doesn't work in keybinds.

TheButlah opened this issue · comments

I attempted to create a configuration using semicolon:

keybinds {
	unbind "Ctrl q"
	session {
		unbind "Ctrl o"
		bind "Ctrl ;" { SwitchToMode "Normal"; }
	}
	shared_except "session" "locked" {
		unbind "Ctrl o"
		bind "Ctrl ;" { SwitchToMode "Session"; }
	}
}

The key appears in the UI and I get no errors, and Ctrl-o is successfully unbound:
Screenshot 2024-05-03 at 20 29 57

However, pressing the key doesn't activate the session manager. It just types a regular semicolon to the terminal.

Possible cause

I did see this in the documentation:
Screenshot 2024-05-03 at 20 24 11
Perhaps the semicolon key isn't treated as a regular character? If so, would it be intended or unintended behavior to treat it just like the other alphanumeric characters? I naively would assume that all characters on the keyboard other than modifier keys would be treated the same, so under that principle I would treat it as a regular character.

Info to reproduce

❯ zellij --version
zellij 0.39.2
❯ uname -a
Darwin Ryan-Butler 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:12:49 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_T6020 arm64 arm Darwin

I'm using wezterm
My nix config is here

Original motivation

The default keybind of Ctrl-o conflicts with jumplists in vim, so I wanted to switch it to another key, like Ctrl-;. I have been locking zellij to work around this with Ctrl-g.

If you don't have bandwidth to fix but would accept a PR, just point me in the right direction and I'm happy to give a PR a try :)