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)
This commit is contained in:
2026-02-23 19:09:39 +01:00
parent 4c5c284439
commit d10e48878e

View File

@@ -1114,14 +1114,18 @@ Otherwise: runs interactive ement-connect, then opens rooms after sync."
;;; WRITING — olivetti-mode ;;; WRITING — olivetti-mode
;;; ============================================================ ;;; ============================================================
;; olivetti NESMÍ být v org-mode-hook — mění vizuální marginy, ;; Guard: buffer-file-name zajisti ze olivetti nebezi v export temp bufferech
;; corfu pak počítá špatné souřadnice popupu (zdánlivě nefunguje). ;; (ty nemaji prirazeny soubor a volani set-window-margins by selhalo).
;; Zapínáme jen manuálně přes SPC t o. ;; Corfu popup: pokud se zobrazi mimo obrazovku, vypni olivetti (SPC t o).
(use-package! olivetti (use-package! olivetti
:defer t :defer t
:config :config
(setq olivetti-body-width 90)) (setq olivetti-body-width 90))
(add-hook 'org-mode-hook (lambda () (when buffer-file-name (olivetti-mode 1))))
(add-hook 'markdown-mode-hook (lambda () (when buffer-file-name (olivetti-mode 1))))
(add-hook 'text-mode-hook (lambda () (when buffer-file-name (olivetti-mode 1))))
(map! :leader (map! :leader
(:prefix ("t" . "toggle") (:prefix ("t" . "toggle")
:desc "Olivetti mode" "o" #'olivetti-mode)) :desc "Olivetti mode" "o" #'olivetti-mode))
@@ -1131,28 +1135,16 @@ Otherwise: runs interactive ement-connect, then opens rooms after sync."
;;; ORG-MODERN — lepší vizuální styl org-mode ;;; ORG-MODERN — lepší vizuální styl org-mode
;;; ============================================================ ;;; ============================================================
;; Pozn.: org-modern-table nil — tabulkove overlaye mohou interferovat s LaTeX exportem. ;; global-org-modern-mode: nejspolehlivejsi pristup, funguje na vsechny
;; :hook zajisti spravny load-order; after! blok aktivuje org-modern i v uz ;; otevrene buffery vcetne inbox.org. org-modern-table nil kvuli LaTeX exportu.
;; otevrenych bufferech (inbox.org otevreny pred loadem balicku). ;; Export temp buffery nejsou problem -- org-modern pouziva overlaye, ne zmeny textu.
(use-package! org-modern (use-package! org-modern
:after org :after org
:hook (org-mode . my/org-modern-maybe)
:config :config
(setq org-modern-star '("" "" "" "") (setq org-modern-star '("" "" "" "")
org-modern-table nil org-modern-table nil
org-modern-checkbox t)) org-modern-checkbox t)
(global-org-modern-mode))
(defun my/org-modern-maybe ()
"Enable org-modern-mode only in file-backed buffers (ne export temp buffery)."
(when buffer-file-name
(org-modern-mode 1)))
;; Aktivovat i v uz otevrenych org bufferech
(after! org-modern
(dolist (buf (buffer-list))
(with-current-buffer buf
(when (and (derived-mode-p 'org-mode) buffer-file-name)
(org-modern-mode 1)))))
;;; ============================================================ ;;; ============================================================