zellij
zellij copied to clipboard
`Unsupported action: TogglePanePinned` on first run
2. Issues with the Zellij UI / behavior / crash
Issue description
$ zellij 1 ↵
× Failed to parse Zellij configuration
╭─[/home/me/.config/zellij/config.kdl:18:1]
18 │ bind "h" { MoveFocus "left"; }
19 │ bind "i" { TogglePanePinned; SwitchToMode "normal"; }
· ────────┬───────
· ╰── Unsupported action: TogglePanePinned
20 │ bind "j" { MoveFocus "down"; }
╰────
help: For more information, please see our configuration guide: https://zellij.dev/documentation/configuration.html
Minimal reproduction
I did this (which worked)
bash <(curl -L https://zellij.dev/launch)
Then this
brew install zellij
then the error above when running zellij.
After running zellij --debug and exiting, it works. Not an ideal first experience.
Other relevant information
zellij 0.42.1 Linux neon 5.15.0-56-generic #62~20.04.1-Ubuntu SMP Tue Nov 22 21:24:20 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
@Sarke it worked after running this command
zellij setup --dump-config > ~/.config/zellij/config.kdl
from https://zellij.dev/documentation/configuration.html
This means that one has a configuration file from a newer Zellij version and is running an older Zellij version. I guess this likely happened to OP because they installed a version from brew before brew updated to the latest Zellij version.
I'm seeing the same thing after launching zellij for the first time since last week on my Intel Thinkpad. I've changed nothing in the config. I'm running zellij 0.42.2-1 on Arch Linux.
Interestingly, with the very same config files (managed via stow), I do not see the error on my Framework AMD.
I'm seeing the same thing after launching zellij for the first time since last week on my Intel Thinkpad. I've changed nothing in the config. I'm running zellij 0.42.2-1 on Arch Linux.
Interestingly, with the very same config files (managed via
stow), I do not see the error on my Framework AMD.
As mentioned in the comment above, this error happens when you're running a newer Zellij config with an older Zellij version. I know sometimes for me - especially when running configuration management tools - these things can be mixed up. I suggest checking and double checking that the version you're running is the one you think you are. A good way to be 100% sure of this is to run Zellij with zellij setup --clean (this bypasses the configuration file) and then opening the about screen with Ctrl o + a to see which version you're running and not rely on shell paths or aliases.
Thanks @imsnif. Could I suggest a nicer error message when it finds a newer config? As mentioned, I simply ran it first to try it using zellij.dev/launch and then installed it, then got the error, which to me seems like a totally reasonable series of events.
To get a cryptic error message to start off with is not a great look. Something like "Newer config file detected, please run zellij setup --clean"
I hear you, but honestly... how would you suggest this be implemented? Given that by definition an older version has no knowledge of the config of the newer version?
It doesn't have to have knowledge of any specific properties, just that it's found unknown property.
It doesn't have to have knowledge of any specific properties, just that it's found unknown property.
This is what we do now, except we use the word "Unsupported" rather than "Unknown". While we could add a more descriptive text to this error that will explain the potential situation of this being a newer configuration used with an older version, the vast majority of incidents in which users encounter this error are when they misspelled a property rather than encountered this situation. Adding an error message that will explain both of these will mean including a large bulk of text that most users will not read and will confuse more of them than it would help.
The way to do this properly and give a specific concise error for both separate cases is to version the configuration file. This would mean however that we will need to have both an upgrade story and a downgrade story for configuration files. Which would entail parsing them completely, holding on to user comments, figuring out what to do when certain unsupported actions happen in the middle of a keybinding and describing it to the user (because only the user can decide what the right thing to do in these middle cases is), etc. etc.
While I appreciate that you found this first impression unpleasant and would have definitely liked for this not to happen to you, what you encountered is an extreme edge case. It happened because you installed one version immediately as it came out and then installed another version before the distributor (homebrew) had a chance to upgrade the version in their repositories. This time frame is often short and in any case not something that is under the control of the Zellij maintainers.
Fixing this edge case properly would involve a massive amount of work and would make other more common error paths provide a worse experience to more users. So - I'm genuinely sorry you encountered this, but you were just very unlucky. I'm happy it's working for you now.
@Sarke it worked after running this command
zellij setup --dump-config > ~/.config/zellij/config.kdlfrom https://zellij.dev/documentation/configuration.html
This worked for me
Ran into the same error. I share my config(dotfiles) between Mac and Fedora, but it fails whenever I open zellij on the Fedora laptop.