This enables shifted alt-prefixed keys, such as `shift+alt+.` on
US standard becoming `M->`. To do this, we needed to fix a few bugs:
(1) translation mods should strip alt even if other mods are set
(2) AppKit translation event needs to construct new characters with
the translation mods.
(3) Alt-prefix handling in KeyEncoder needs to allow ASCII utf8
translations even for macOS.
Fixes#872
In #867 we fixed macos-option-as-alt, but unfortunately AppKit ALSO does
some translation so some behaviors were not working correctly.
Specifically, when you had macos-option-as-alt set, option+e would
properly send `esc+e` to the pty but it would ALSO set the dead key
state for "`" since AppKit was still translating the option key.
This commit introduces a function to strip alt when necessary from the
translation modifiers used at the AppKit layer, preventing this
behavior.
Instead of making a separate enum that must be translated from the
ClipboardRequest type, simply re-use ClipboardRequest to determine the
clipboard confirmation reason.
Use the .text field of the enum as the default value of the mouse shape
instead of renaming .default. Store the default value as the current
value for use in subsequent commits
* When using gtk as the backend, link libadwaita
* Update c.zig
* Use libadwaita's theme manager for gtk
* update the documentation for window-theme
* build: add libadwaita to the nix devshell
* forgot to properly import libadwaita
* apprt/gtk: adwaita style change
---------
Co-authored-by: Mitchell Hashimoto <mitchell.hashimoto@gmail.com>
This behaves the same as macOS, and personally I prefer this behavior
because when I create a new tab, it is often contextual to what I'm
currently working on and keeping the tab nearby feels right.