Commit graph

14 commits

Author SHA1 Message Date
Henrik Lissner
538ddf5e66
fix: C-i in KKP supported terminals
"C-i" and "TAB" are equivalent to Emacs. In GUI Emacs, we can bind to
[tab] instead of "TAB", permitted users to treat the two keys
differently. However, [tab] is unavailable in TTY frames, so there was
no avoiding sacrificing C-i keybinds there. With KKP support, though,
that's no longer the case.
2024-08-30 22:08:16 -04:00
Henrik Lissner
0a38eeef4c
fix(tty): meta keybinds in KKP supported terminals
In a KKP supported terminal, Emacs now receives a number of new input
events from the terminal, like [M-return] and [M-tab], but if they
aren't bound to, they don't fall through to bindings on "M-RET" and
"M-TAB", like [return], [tab], and others do, thus rendering those
keybinds inaccessible. Rather than play whack-a-mole with all the
keymaps out there, I just teach Emacs to let them fall through.

X->Y remappings on `local-function-key-map` do not apply if anything is
bound explicitly to X, so this change bows out if you (or packages, in
the future) do, for some reason, want to bind to them directly.
2024-08-30 21:26:11 -04:00
Henrik Lissner
f90f1c212e
refactor(tty): noop evil-terminal-cursor-changer if disabled 2024-08-23 17:48:33 -04:00
Henrik Lissner
07dff99184
feat(tty): add kitty keyboard protocol support 2024-08-23 17:48:33 -04:00
Henrik Lissner
659f7bfc71
refactor!: deprecate IS-* OS constants
BREAKING CHANGE: This deprecates the IS-(MAC|WINDOWS|LINUX|BSD) family
of global constants in favor of a native `featurep` check:

  IS-MAC      ->  (featurep :system 'macos)
  IS-WINDOWS  ->  (featurep :system 'windows)
  IS-LINUX    ->  (featurep :system 'linux)
  IS-BSD      ->  (featurep :system 'bsd)

The constants will stick around until the v3 release so folks can still
use it -- and there are still some modules that use it, but I'll phase
those uses out gradually.

Fix: #7479
2024-02-04 17:54:29 -05:00
Henrik Lissner
ad6a3d0f33
refactor: deprecate featurep! for modulep!
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.

featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
2022-08-14 20:43:35 +02:00
Henrik Lissner
9a3fab9572
bump: :os tty
emacs-straight/xclip@ef2ad92f31 -> emacs-straight/xclip@4772beb557
kisaragi-hiu/evil-terminal-cursor-changer@24755a18a3 -> 7696122/evil-terminal-cursor-changer@12ea9c0438

Fix: #6551
Close: #6565
Co-authored-by: basaran <basaran@users.noreply.github.com>
2022-07-23 16:42:18 +02:00
Henrik Lissner
47280132a1 nit(tty): revise comments
Minor corrections and a little more detail.
2022-02-10 21:07:20 +01:00
Henrik Lissner
99ecc264f7 fix(tty): xterm-set-window-title in GUI emacs
This was fixed in Emacs 28.0.91, but the advice will remain for 27
users. At least until we drop support for it.

Fix: #4977
Ref: emacs-mirror/emacs@89d02841ab
2022-02-10 21:07:20 +01:00
Henrik Lissner
52fba3fa60 Fix #4977: inhibit xterm-set-window-title in GUI emacs 2021-05-06 04:27:33 -04:00
Henrik Lissner
c9056ddb53 Fix #4819: auto-update xterm title 2021-04-17 00:26:07 -04:00
Sheng Yang
55c37710f5 Do not panic when xclip is not available 2020-12-14 16:40:10 -06:00
Henrik Lissner
a6959b75f3
Minor refactors & reformatting 2020-10-22 16:11:31 -04:00
Henrik Lissner
0a4841b247
Add :os tty module
- Moves clipetty to its own, opt-in module (#2671, #3195, #3498)
- Fix cursor shape changing between evil states (#1994)
- Moves `xterm-mouse-mode` and `visible-cursor` config out of core.
2020-08-07 23:44:39 -04:00