Commit Graph

232 Commits

Author SHA1 Message Date
ae3fde475a fix(mu4e): search-based subject cursor + zT thread toggle binding 2026-02-24 11:29:55 +01:00
7888259a5f fix(mu4e): cursor offset +1 for mu4e mark indicator at line start 2026-02-24 11:25:19 +01:00
2bead842b6 feat(mu4e): unread bookmarks, better thread UI, cursor on subject 2026-02-24 11:20:45 +01:00
c804fc2dfe fix(agenda): guard pdf-view advice on interactive calls; restructure super-agenda groups 2026-02-24 11:16:21 +01:00
87db56a810 fix: scope pdf-view evil-normal-state to explicit window switches only 2026-02-24 11:08:41 +01:00
b1cd16f7ff fix: re-activate evil-normal-state on pdf-view window focus 2026-02-24 11:03:39 +01:00
bb3e029544 feat(org-noter): change notes directory to ~/org/annotations/ 2026-02-23 22:28:16 +01:00
7961c186c5 feat(org-noter): tag auto-created notes heading with :noexport: 2026-02-23 22:27:05 +01:00
3eca3349f1 fix(org-noter): always-create-frame nil + start from PDF window (current frame split) 2026-02-23 22:22:19 +01:00
f0b967bc7d fix(org-noter): definitive fix -- repair wrong NOTER_DOCUMENT + cl-letf prompt bypass 2026-02-23 22:20:34 +01:00
388ae1c49d fix(org-noter): use relative NOTER_DOCUMENT path + start from org buffer context 2026-02-23 21:13:34 +01:00
527693773c fix(org-noter): auto-insert NOTER_DOCUMENT property, never prompt for document path 2026-02-23 21:08:54 +01:00
55861e9381 fix(org-noter): compat shim for dired-read-dir-and-switches on Emacs 31 2026-02-23 21:02:47 +01:00
Martin Sukany
c2264c7811 bugfix: maximize window only after init 2026-02-23 20:58:41 +01:00
95b5716bfa fix(org-noter): smart launcher -- auto-select PDF window on SPC o n 2026-02-23 20:55:16 +01:00
299689c687 feat(export): route all exports to ~/exports/<type>/, cleanup LaTeX aux files
- my/org-export-directory: returns ~/exports/<ext>/, creates dir if needed
- my/org-export-output-file-name: advice on org-export-output-file-name
  routes .pdf/.html/.odt etc to ~/exports/pdf/ ~/exports/html/ etc
  .tex (intermediate for PDF) routed to same ~/exports/pdf/
- org-latex-remove-logfiles t + extended logfiles-extensions list
  covers all latexmk outputs: bbl, fdb_latexmk, fls, synctex.gz, run.xml...
2026-02-23 20:47:42 +01:00
b2e3e82995 fix(org-noter): switch to org-noter/org-noter -- maintained fork, fixes pdf-view-current-overlay 2026-02-23 20:23:43 +01:00
bf5401dca5 feat(org-noter): notes-search-path, auto-save-last-location, no-questions insert 2026-02-23 20:11:55 +01:00
b8b149cfe7 fix(org-modern): remove org-modern-checkbox t -- wrong type, expected alist not bool
Error: (wrong-type-argument sequencep t) was preventing org-modern from loading.
org-modern-checkbox expects an alist char->string, not boolean t.
Default value already provides correct checkbox replacements.
2026-02-23 19:52:05 +01:00
af11e832de fix(org-modern): vector star + GitHub recipe for latest version; feat: fullscreen on start
- packages.el: recipe pointing to minad/org-modern GitHub main
  (bypasses Doom lockfile pin, gets version with org-indent-mode star fix)
- config.el: org-modern-star as vector ["◉"] + org-modern-hide-stars
  (vector format works reliably; list format had activation timing issues)
- config.el: initial/default-frame-alist fullscreen maximized
  (Emacs starts maximized on every launch)
2026-02-23 19:51:24 +01:00
7ba45682dc fix(org-modern): :custom for early var setup + disable org-indent-mode conflict 2026-02-23 19:46:28 +01:00
25f7dc72ea refactor(config): full cleanup - English comments, no duplicates, org-modern fixed
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 19:39:31 +01:00
bcf82f0f4a fix(org-modern): with-eval-after-load -- bypass Doom lazy-load, 100% spolehlivy 2026-02-23 19:31:33 +01:00
1baf1572ff fix(org-modern): :demand t + pouze global-org-modern-mode, bez :hook
:hook + global-org-modern-mode = double toggle = mode off.
:demand t zajisti okamzite nacteni po org, bez lazy loading problemu.
2026-02-23 19:25:35 +01:00
7619bbcf7f fix(org-super-agenda): odebrat skupinu Brzy -- ts-parse-org nezna +3d 2026-02-23 19:21:42 +01:00
d1465ae588 fix(org-modern): pridat :hook trigger -- Doom defers packages by default 2026-02-23 19:21:06 +01:00
c1a30b27e7 feat(org-super-agenda): pridat skupinu Brzy (deadline do 3 dni) 2026-02-23 19:18:58 +01:00
cf7ced8a18 feat(org-modern): cisty standalone commit -- :after org + global-org-modern-mode
Puvodni over-engineered pristup (require + after! + condition-case) nebyl
potreba. :after org + global-org-modern-mode v :config je spravny Doom idiom.
Lze revertovat timto jednim commitem pokud org-modern dela problemy.
2026-02-23 19:15:58 +01:00
4e073b1081 fix(org-modern): robustni inicializace -- after! + require + condition-case
Problem: global-org-modern-mode volana pred plnym nactem balicku
(use-package! :config timing) -> chyba rozbijela org font-lock -> bile buffery.

Oprava:
- (after! org (require 'org-modern nil t)) -- spusti nacitani po org
- (after! org-modern ...) -- nastavi config az je balik PLNE nacten
- condition-case -- chrani org font-lock pred chybami org-modern
2026-02-23 19:13:27 +01:00
d10e48878e fix: global-org-modern-mode zpet, olivetti na org+md+txt s buffer-file-name guardem
- org-modern: revert na global-org-modern-mode (puvodni coder verze fungovala)
  guard approach zpusoboval bily/neformatovany text
- olivetti: pridano zpet na org+markdown+text-mode-hook s buffer-file-name guardem
  (export temp buffery maji buffer-file-name=nil, olivetti se tam nespusti)
2026-02-23 19:09:39 +01:00
4c5c284439 fix: org-modern hook+after!, fragtog named fn, super-agenda zjednodusena config
- org-modern: pouzit :hook s pojmenovanou funkci my/org-modern-maybe
  + after! blok ktery aplikuje org-modern i na uz otevrene buffery (inbox.org)
- org-fragtog: same pattern, pojmenovana fn my/org-fragtog-maybe
- org-super-agenda: odebrana skupina Brzy (before +3d nespolehliva v quoted list),
  org-super-agenda-mode presunuto do after! bloku (jistejsi load-order)
2026-02-23 19:03:08 +01:00
a53d9c7986 revert: zpet na pdflatex (-%latex) 2026-02-23 18:50:16 +01:00
bab05aa508 fix(latex): switch to LuaLaTeX — nativní Unicode, žádné inputenc 2026-02-23 18:44:39 +01:00
eee626cf65 fix: restore org export + corfu — olivetti hook, global-org-modern, fragtog guard, super-agenda date
- olivetti: odstraněn org-mode-hook (měnil vizuální marginy → corfu popup souřadnice)
- org-modern: global-org-modern-mode → hook s guard na buffer-file-name
  (globální mode aktivoval org-modern v export temp bufferech → rozbití exportu)
  org-modern-table nil (tabulkové overlaye rizikovné při exportu)
- org-fragtog: :hook → config + guard na buffer-file-name
  (stejný problém s export temp buffery jako org-modern)
- org-super-agenda: backtick + org-read-date → plain quoted list
  (org-read-date evaluoval při startu, datum stárlo; relativní řetězec +3d je správný)
2026-02-23 18:35:39 +01:00
f856ad4f5c fix: org-super-agenda backquote, remove duplicate popup and terra in init.el 2026-02-23 17:10:20 +01:00
c9b855d26a feat: add link-hint, olivetti, org-modern, org-fragtog, org-super-agenda, org-noter, gptel-rewrite, git-link, forge 2026-02-23 17:09:34 +01:00
a60566d046 fix(org-latex): rewrite tabularx filter using with-temp-buffer + replace-match
Emacs 31 changed behavior of replace-regexp-in-string with lambda replacements
containing backslashes: 'Invalid use of backslash in replacement text' error.

Fix: use with-temp-buffer + re-search-forward + replace-match (literal t t).
replace-match with LITERAL=t never processes backslash sequences.

Also fixes \end{tabular} → \end{tabularx} regex to not match existing tabularx.
2026-02-23 15:23:51 +01:00
e084ff35ea fix(org-latex): tabularx filter with lYYY column spec matching template
document.org template defines Y column type (RaggedRight + auto-width X).
Filter now computes proper column spec:
  - 1 col  → Y
  - N cols → l + (N-1)*Y  (first col natural-width, rest auto-width)

Also handles tabularx{colspec} → tabularx{\linewidth}{lYYY} (missing width fix).
Works with ltablex (loaded by template) which makes tabularx also support page breaks.
2026-02-23 15:19:26 +01:00
854a6de40a fix(org-latex): filter-based tabularx with guaranteed registration
Root cause of \begin{tabularx}{lll} error: org-latex in this version does not
add \linewidth for tabularx environment, generating invalid LaTeX.

Fix: org-export-filter-table-functions filter that transforms rendered output:
  - \begin{tabular}{spec}     → \begin{tabularx}{\linewidth}{spec}
  - \begin{tabularx}{spec}    → \begin{tabularx}{\linewidth}{spec} (missing width fix)
  - \end{tabular}             → \end{tabularx}

No buffer modification → no recursion, works on Emacs 31.

Belt+suspenders registration: with-eval-after-load 'ox-latex + explicit
require+add-to-list in org-export-before-processing-hook ensures the filter
is always registered before the export transcoder runs.
2026-02-23 15:17:15 +01:00
7a1498cdd7 fix(org-latex): setq-local instead of insert for tabularx — no buffer modification
Root cause of Emacs 31 recursion: insert in org-export-before-processing-hook
triggers hooks that inhibit-modification-hooks does not suppress on Emacs 31
(window management, org-fold text properties, etc.). The old Mac (older Emacs)
was not affected.

Fix: setq-local org-latex-default-table-environment in the hook.
No buffer content modification → no hook chains → no recursion possible.
org-latex.el natively handles tabularx by adding \linewidth width argument.
tabularx added to org-latex-packages-alist.
2026-02-23 15:09:27 +01:00
2c2823a62d restore: original org-auto-tabularx with inhibit-modification-hooks (worked on Mac1)
Restore the hook-based approach from acb3875 (original working version) + the
inhibit-modification-hooks fix from 457b9d3 that made it work on Emacs 31.

457b9d3 confirmed working by Martin (PDF exported) — only issue was the syntax
warning from the stray paren. This commit has correct paren balance.

Also keep pdf-tools config and corfu-terminal Emacs 31 guard from 98b53cb.
2026-02-23 15:06:38 +01:00
98b53cb181 feat(pdf+org-latex): pdf-tools config + fix tabularx via default-table-environment
org-latex tabularx:
  - Dropped advice/filter/hook approaches (all caused issues)
  - Use org-latex-default-table-environment="tabularx" — org natively
    handles tabularx/tabulary by inserting \linewidth width arg automatically
  - tabularx added to org-latex-packages-alist

pdf-tools:
  - pdf-tools-install :no-query (auto-builds server binary)
  - pdf-view: fit-page default, Retina scaling, midnight dark theme,
    continuous scrolling, auto-revert after LaTeX re-export, no line numbers
  - Evil keybinds: j/k scroll, J/K pages, gg/G first/last, +/-/= zoom,
    W fit-width, / search, m midnight toggle, a annotate, q quit
  - org-file-apps on macOS: PDF opens in Emacs (pdf-view-mode via auto-mode)
    instead of system Preview
2026-02-23 15:02:31 +01:00
7b0b092e21 fix(org-latex): use :around advice on org-latex-table instead of filter
org-export-filter-table-functions timing was unreliable (after! ox-latex
runs too late or filter not called for all table types). Around advice on
org-latex-table is called directly during transcoding, guaranteed to run.
Also switched to with-eval-after-load for more predictable load timing.
2026-02-23 14:57:36 +01:00
46c9327dd0 fix(org-latex+corfu): filter-based tabularx, disable corfu-terminal on Emacs 31+
org-latex: replace before-processing-hook+insert with org-export-filter-table-functions.
  - Old approach (insert in hook) triggered org-element-cache after-change hooks
    causing infinite recursion / max-lisp-eval-depth even with inhibit-modification-hooks.
  - New: my/org-latex-table-to-tabularx filter transforms rendered LaTeX string,
    no buffer modification, no hook recursion possible.
  - Removed dead helpers: my/org-count-table-columns, my/org-table-attr-latex-spec.

corfu-terminal: add (< emacs-major-version 31) guard.
  - Emacs 31 supports corfu natively in terminal; corfu-terminal causes
    popup positioning issues (jumping) on Emacs 31+.
2026-02-23 14:53:41 +01:00
f36e515501 fix(syntax): balance parentheses in my/org-auto-tabularx 2026-02-23 14:47:24 +01:00
457b9d3d4c fix(org-latex): inhibit-modification-hooks in auto-tabularx to prevent recursion
The insert call in my/org-auto-tabularx triggered buffer-change hooks (e.g.
org-element-cache) during LaTeX export, causing infinite recursion and
'max-lisp-eval-depth exceeded'. HTML export was unaffected (hook only runs
for latex backend). Fix: wrap body in (let ((inhibit-modification-hooks t))).
2026-02-23 14:44:32 +01:00
26ac9082dd fix(org-latex): macOS PDF export - open async + latexmk nonstopmode
- org-file-apps: use 'open %s' for PDF on darwin → async launch, no beachball
- org-latex-pdf-process: explicit latexmk -f -interaction=nonstopmode
  (belt+suspenders; Doom module sets this but not always loaded early enough)
2026-02-23 14:34:39 +01:00
9bf41c045a Revert "fix(scroll): enable pixel-scroll-precision-mode for smooth macOS trackpad scrolling"
This reverts commit 372e93fce4.
2026-02-23 14:32:47 +01:00
372e93fce4 fix(scroll): enable pixel-scroll-precision-mode for smooth macOS trackpad scrolling
Replace mwheel.el fallback with pixel-scroll-precision-mode (Emacs 29+).
Works on NS/Cocoa builds — previous comment was wrong.

- ns-use-mwheel-momentum t: pass through macOS kinetic scroll events
- pixel-scroll-precision-use-momentum nil: avoid double-momentum (macOS
  already handles inertia; Emacs simulation would stack on top)
- pixel-scroll-precision-large-scroll-height 40.0: reasonable page-jump size
- Removed global-set-key mwheel-scroll overrides (were blocking precision mode)
- Kept mouse-wheel-follow-mouse + mouse-wheel-tilt-scroll for horizontal
2026-02-23 14:26:01 +01:00
06de5b447a macos: revert pixel-scroll-precision-mode, fix scroll with mwheel
pixel-scroll-precision-mode (from previous commit) breaks scrolling on
NS/Cocoa builds: it rebinds [wheel-up/down] to precision handlers that
do not work with the NS event system, resulting in zero scroll response.

Fix: remove pixel-scroll-precision-mode, use standard mwheel.el:
- require mwheel explicitly (Doom may not load it early enough)
- 3 lines/tick, shift=1, meta=0, ctrl=text-scale
- mouse-wheel-progressive-speed nil (constant speed, no acceleration)
- mouse-wheel-tilt-scroll t (horizontal two-finger scroll)
- explicitly bind [wheel-up/down] to mwheel-scroll (prevents Doom
  remapping from silently eating scroll events)
2026-02-23 14:15:39 +01:00