Commit Graph

326 Commits

Author SHA1 Message Date
95f80f9c44 ement: proper auto-restore and open-panel flow
my/ement-open now handles 3 cases:
1. Already connected -> ement-list-rooms immediately
2. Sessions file exists -> ement-connect (no credentials), then
   open rooms via ement-after-initial-sync-hook
3. No saved session -> call-interactively ement-connect, then rooms

my/ement-open-after-sync: self-removing hook that opens room list
after initial sync completes (regardless of how connect was triggered).

Startup auto-connect unchanged (doom-after-init-hook).
2026-02-23 13:40:39 +01:00
61bc7e7490 ement: fix commandp error — move defuns outside after! block
Functions defined inside (after! ement ...) are not registered as
interactive commands by Doom. Move my/ement-maybe-restore and
my/ement-open to top level.

Also move add-hook from inside after! to top level (after-init-hook
fires before lazy packages load — use doom-after-init-hook instead).
2026-02-23 13:36:01 +01:00
8bc82d358f ement: auto-connect on startup, my/ement-open, remove ement-sync binding
- my/ement-maybe-restore: restores saved session on after-init-hook,
  no credentials prompt (requires one manual login first)
- my/ement-open: SPC o M o — connects if needed, then ement-list-rooms
- Remove SPC o M s (ement-sync is internal, manual call causes double-loop)
- Update quick reference comments
2026-02-23 13:24:37 +01:00
acb38759b9 org-agenda: skip all todo keywords; disable mouse in GUI
1. my/org-agenda-goto-task-name: replace face-based detection with
   regexp-opt over org-todo-keywords. Works for all keywords
   (TODO, NEXT, WAIT, DONE, CANCELLED, ...), not just TODO/DONE.
   Added helper my/org-agenda-all-keywords.

2. Disable mouse clicks in GUI Emacs (Fix C in macOS GUI section):
   global-set-key [mouse-*] to #'ignore, mouse-highlight nil.
   Prevents accidental cursor movement when touching trackpad.
2026-02-23 13:17:40 +01:00
6aa50c9b59 style: translate Matrix section comments and :desc labels to English 2026-02-23 11:01:09 +01:00
Martin Sukany
9dc3b61416 Merge remote-tracking branch 'refs/remotes/origin/master' 2026-02-23 10:56:26 +01:00
ef6b7feb26 fix: Matrix prefix o m → o M (mu4e conflict)
Doom mu4e module binds SPC o m directly to #'mu4e (non-prefix).
Collision prevented ement keybindings from loading.
Renamed Matrix prefix to SPC o M (uppercase).
2026-02-23 10:55:58 +01:00
Martin Sukany
365219c4d1 patch updated 2026-02-23 10:55:10 +01:00
27904531ee feat: Matrix client (ement.el) — SPC o m keybindings + E2EE via Pantalaimon 2026-02-23 10:49:18 +01:00
87003cac96 fix: use manual y-flip instead of accessibilityConvertScreenRect:
Compilation error: EmacsView does not declare NSAccessibility conformance
so accessibilityConvertScreenRect: is not visible to the compiler.
Replaced with manual coordinate conversion:
  primaryH = NSScreen.screens.first.frame.height
  cgRect.origin.y = primaryH - cgRect.origin.y - cgRect.size.height
2026-02-23 10:28:02 +01:00
5196674d9e fix: UAZoomChangeFocus() — actual fix for macOS Zoom cursor tracking
Root cause found via research pipeline:
NSAccessibility notifications alone are insufficient for custom NSView.
macOS Zoom 'Follow keyboard focus' requires UAZoomChangeFocus() from
HIServices/UniversalAccess.h — same as iTerm2 and Chromium.

Squashed into single clean patch. 159 insertions, 2 files.
2026-02-23 10:22:59 +01:00
56db072f06 fix: add NSAccessibilityPostNotification (key missing piece)
macOS Zoom is event-driven -- it only queries AXBoundsForRange after
receiving NSAccessibilitySelectedTextChangedNotification. Previous
version implemented the bounds methods but never posted notifications,
so Zoom never triggered a cursor position query.

Added:
- NSAccessibilityPostNotification(SelectedTextChanged) in ns_draw_window_cursor
- NSAccessibilityPostNotification(FocusedUIElementChanged) in windowDidBecomeKey
- accessibilityAttributeNames + accessibilityAttributeValue: for
  NSAccessibilitySelectedTextRangeAttribute -> returns {0,0}
2026-02-23 10:03:51 +01:00
12869677e7 fix: correct hunk line count in patch (83→91) 2026-02-23 09:22:51 +01:00
ce46e5b7eb fix: add accessibilityBoundsForRange: (new NSAccessibilityProtocol) + isAccessibilityElement
Old parameterized attribute API alone insufficient — macOS Zoom prefers
the new NSAccessibilityProtocol method accessibilityBoundsForRange:.
Also adds isAccessibilityElement returning YES.

Both APIs now implemented for compatibility across macOS versions.
2026-02-23 09:19:51 +01:00
78ee89512e fix: zoom cursor visibility + translate all comments/messages to English 2026-02-22 23:33:13 +01:00
e6d6fc62fd feat: add NSAccessibility AXBoundsForRange patch for macOS Zoom cursor tracking 2026-02-22 23:31:12 +01:00
Martin Sukany
d404c84963 updated comments 2026-02-22 23:21:15 +01:00
21c7142d07 chore: remove split-screen magnifier (blind alley) 2026-02-22 23:17:10 +01:00
b8889cfa06 fix: magnifier buffer-switch + cursor visibility (architect-critic-coder pipeline) 2026-02-22 23:11:35 +01:00
d3747f71c4 fix: magnifier cursor visible, line nums hidden, M-x/which-key safe 2026-02-22 23:03:16 +01:00
a71e212d81 feat: full-featured Emacs-native magnifier, remove macOS zoom daemon 2026-02-22 22:57:58 +01:00
0e1232ad00 fix: pgrep matches Emacs-arm64-11 variant (Emacs.app path) 2026-02-22 22:36:38 +01:00
ce3c7b3127 refactor: Python ctypes daemon for macOS Zoom (no external tools) 2026-02-22 22:24:30 +01:00
c6b45f6867 feat: Hammerspoon IPC cursor tracking + split magnifier (SPC z m) 2026-02-22 22:05:36 +01:00
21b1637390 refactor: cursor tracking redesign based on research; clean SPC z 2026-02-22 21:51:36 +01:00
04b93dd067 refactor: focus follow — idle-timer warp, 3 modes, minibuffer support 2026-02-22 21:36:37 +01:00
f49ef939a2 fix: warp uses posn-at-point+window-pixel-edges (frame-relative, not display-absolute) 2026-02-22 21:26:42 +01:00
9d650efecb feat: macOS Zoom cursor tracking prototype (SPC z w) 2026-02-22 21:19:01 +01:00
8f3e46c22d feat: split-screen magnifier + readable preset + centered-cursor-mode 2026-02-22 20:54:09 +01:00
14f15b3472 fix: remove accumulating which-key face-remap (wholenump -2 bug); which-key 90% height 2026-02-22 15:45:31 +01:00
5bfc11a766 feat: comprehensive screen magnifier — text-scale + which-key fix + minibuffer 2026-02-22 15:37:48 +01:00
14d1dd072c feat: true screen magnifier — global default face + pinned modeline/minibuffer 2026-02-22 15:30:22 +01:00
292f257bfc refactor: text-scale-mode per-buffer zoom (×1.5/krok), UI stays at base size 2026-02-22 15:26:14 +01:00
196ebacd47 fix: font fallback to Menlo when JetBrains Mono missing; revert aggressive GUI key hacks 2026-02-22 15:18:13 +01:00
0e13b8e988 fix: SPC leader key in GUI Emacs on macOS (general-override-mode + explicit binding) 2026-02-22 15:15:20 +01:00
536c7d47ea fix: GUI SPC leader key on macOS - evil state + mac modifiers 2026-02-22 15:10:31 +01:00
2c42d51c8e fix: default-text-scale-increment → default-text-scale-adjust 2026-02-22 15:06:24 +01:00
aad9dafdd0 feat: global text scaling (SPC z) for accessibility on macOS 2026-02-22 15:03:03 +01:00
Martin Sukany
d46cbeff6b fix 2026-02-22 10:35:44 +01:00
127de64074 fix: restore correct config.el (undo partial sub-agent version) 2026-02-21 00:26:12 +01:00
70776295bd refactor: reorganize config.el — logical sections, English comments 2026-02-21 00:23:47 +01:00
6460823af6 refactor: reorganize config.el — logical sections, English comments 2026-02-21 00:22:08 +01:00
Martin Sukany
b0b8980816 updated 2026-02-21 00:05:48 +01:00
a881bedbf1 feat: org-agenda cursor na název úkolu (za TODO + prioritou) 2026-02-21 00:01:39 +01:00
184b204a95 revert: restore functional defaults, keep only safe optimizations
Reverted (not needed with Zoom 'when typing'):
- mouse-autoselect-window/focus-follows-mouse → ON
- corfu-auto-delay → 0.15
- doom-modeline-refresh-rate → 1.0
- which-key, org-idle-time, show-paren, hl-line → defaults
- flycheck, diff-hl, auto-revert → defaults removed

Kept (safe, no functional impact):
- centered-cursor-mode OFF (still available via M-x)
- GCMH higher thresholds (less GC pressure)
- persp-mode 2.5s cache timer cancel
- auto-save idle timer: 5→10s (compromise)
2026-02-20 11:20:37 +01:00
d899d00749 fix: increase GCMH idle delay + reduce idle redisplay
- gcmh-auto-idle-delay-factor: 10 → 20 (less frequent idle GC)
- gcmh-high-cons-threshold: 200MB (GC triggers less often)
- jit-lock-defer-time: 0.5s (deferred fontification)
- redisplay-dont-pause + fast-but-imprecise-scrolling
2026-02-20 11:14:59 +01:00
edc63f2ad3 fix: disable show-paren-mode + terminal cursor blink for Zoom
- show-paren-mode OFF (idle redraw every 1s)
- Terminal cursor blink disabled via DECTCEM escape sequence
- Both are Zoom focus follower jump triggers
2026-02-20 11:03:54 +01:00
2ad8721dda fix: cancel persp timer after startup via run-with-timer
- Let persp-mode start normally (no more void-function error)
- Cancel the 2.5s cache timer 3s after init
2026-02-20 11:00:47 +01:00
3d6c8bae64 fix: set persp-set-frame-buffer-predicate before persp-mode loads
- Fixes void-variable error on startup
- Sets persp-set-frame-buffer-predicate nil BEFORE persp-mode init
- Deferred timer cleanup as safety net
2026-02-20 11:00:06 +01:00
99589a5701 fix: disable persp-mode 2.5s cache timer (main Zoom jump cause)
- persp-frame-buffer-predicate cache timer cancelled (2.5s redraw)
- persp-set-frame-buffer-predicate disabled
- which-key-idle-delay unified to 2.0s (was 0/0.8 conflicting)
- show-paren-delay increased to 1.0s
2026-02-20 10:58:20 +01:00