My primary use case for Neovide (vs neovim running in Wezterm/kitty/Alacritty) is simply so I can Alt/Cmd-TAB to it quickly as I usually run with many terminal windows open and it's somewhat of a chore to locate the one with nvim in it, whereas with Neovide I have a separate app with an icon in the dock/sysmenu to switch to.
In Sway I have long (across three different terminal emulators) had a setup where I launch specially named terminals on session start, e.g. term-editor, term-local, term-remote, and then use the custom titles (I guess it's an appid actually) in my Sway config to make keybinds to focus those specific windows. I also focus my other always-used programs via their default appid (wayland) or class (xwayland), terminals just have the issue you mentioned of dealing with multiple, so had to use something more specific.
Relevant config lines:
```
exec --no-startup-id "sh -c 'sleep 10; exec foot --app-id=term-editor'"
bindsym ctrl+$mod+e [class="Emacs"] focus ; [app_id="term-editor"] focus
assign [app_id="term-editor"] 1
```
That last one makes the editor terminal always launch on workspace 1 which makes it a bit easier to get things where I'm used to having them after a restart.
The bind looks for emacs before my special term as I was using emacs (with evil) for a bit and had the bind set up to focus that. I left it in because this way if I just have one or the other open at some point, the bind works as expected without me having to change the config back and forth. Though with both open my focus ends up on the terminal.
Most terminal emulators should support a similar argument for launching with a custom id/title/whatever, and even if you're not using i3 or Sway, I think there are other programs such as wmctrl which can do something similar.
Question:
exec --no-startup-id "sh -c 'sleep 10; exec foot --app-id=term-editor'"
What's the sleep for?I use them every day :)
There is a discussion of Helix-style bindings on their github, and some proofs of concept, but nothing polished yet AFAIK.
Works great even though it's labeled as an alpha.
Regarding poor key binding support, I think that's not really a problem in modern applications. Quoting https://gpanders.com/blog/state-of-the-terminal/ :
> Sending key presses as escape sequences requires that terminal applications are able to recognize and parse those sequences, so it is not something that “just works” out of the box. However, the kitty keyboard protocol has been widely adopted by both modern terminal emulators and terminal applications. Terminals which support the kitty keyboard protocol (to some degree) include Wezterm, Alacritty, kitty, foot, Ghostty, and iTerm2. Applications which support the kitty keyboard protocol (to some degree) include Vim, Neovim, Helix, kakoune, and nushell. This means that when using one of these applications in one of these terminals, all of the key encoding problems discussed above (as well as some others which were not discussed…) are solved.
At least I indeed saw no such issue using helix in wezterm for example.
Poor key binding support is still a problem despite the optimistic quote (and might last for one more generation given the snail speed of progress). For example, the kitty protocol isn't "comprehensive" despite its dev's claims: it doesn't support left vs right modifiers and also some non-standard modifiers that are used to circumvent this limitation (only hyper)
> At least I indeed saw no such issue using helix in wezterm for example.
I think helix still doesn't support even the full kitty protocol, e.g., the Windows key.
And I do see these issues since I'm using richer keybindings to make input more ergonomic.
So there is enough better design in the world to call out lack of comprehension in both other people's work and other people
1) Chrome 2) Edge 3) Microsoft Word 4) Windows Explorer 5) Windows command prompt and windows terminal 6) VLC 7) LibreOffice 8) Every terminal emulator under the sun 9) Firefox 10) Pick any windows application at random
Just because you WANT left and right modifiers to be different doesnt make it a good idea. Learn that.
Even though you've tried to limit yourself to basically 3 apps by different vendors (what a shallow view of the app world), and even though you've included some awful browsers that don't even allow users to rebind default(!) keybinds (are you going to argue now that this is also good and just because I WANT to change keybindings, it's not a good idea and your imaginary world disagrees?), and the platform so bad at keybinding support that it requires a whole new pseudo-comprehensive keyboard handling protocol, you've still managed to step on a huge ignorance landmine - Chrome, on Windows, supports differentiating left vs right modifiers via a browser extension!!!
There are others, but let that sink in - your #1 example fails you...
> Just because you WANT left and right modifiers to be different doesnt make it a good idea. Learn that.
It's an excellent idea for other reasons, but you're not capable of engaging in a substantive discussion, so you instead make up arguments and insults
I'll just leave you with this promise, anytime you try to denigrate the kitty keyboard protocol I will be right there calling you out.
Extension isn't a patch, and it wasn't your point, you're just making you new conditions up because your previous attempts to build a safe condition box failed to save you
But if you want to find out the extension you'd have to search in that other thing available in a browser 99.9999% are using, it sometimes helps even the most ignorant of those!
So I'll leave you with that and ignore your future trollish defenses of a "cross-platform" terminal not working on the biggest platform and "comprehensive" protocols excluding Japanese modifiers and sides