You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

1.8 KiB

UI - Emacs

Package

Define UI Emacs package.

  (use-package emacs
    :after uno-ui
    :config
    (provide 'uno-ui-emacs))

Overrides

  • Hide UI items

  • Set up relative line numbers

  • Highlight current line.

  • Simplify yes/no

  • Switch to help automatically

  • Avoid cursor going into minibuffer.

  (use-package emacs
    :after uno-ui-emacs
    :custom
    (display-line-numbers-type 'relative)
    (help-window-select t)
    (minibuffer-prompt-properties '(read-only
                                    t
                                    point-entered
                                    minibuffer-avoid-prompt
                                    face
                                    minibuffer-prompt))
    :hook
    ((special-mode uno-prog-mode uno-text-mode) . hl-line-mode)
    (uno-prog-mode . display-line-numbers-mode)
    (uno-prog-mode . toggle-truncate-lines)
    (uno-text-mode . toggle-word-wrap)
    :config
    (fset 'yes-or-no-p 'y-or-n-p)
    (scroll-bar-mode -1)
    (menu-bar-mode -1)
    (tool-bar-mode -1))

Centered Cursor

Hide UI items, set up relative line numbers, and highlight current line.

  (use-package emacs
    :after uno-ui-emacs
    :init
    (defvar uno--ui-center-cursor-blacklist nil
      "Major modes to exclude center cursor mode.")
    (defun uno/ui/exclude-center-cursor (mode)
      "Exclude major MODE from center cursor."
      (push mode uno--ui-center-cursor-blacklist))
    (defun uno/ui/center-cursor ()
      "Set up center cursor unless excluded."
      (unless (member major-mode uno--ui-center-cursor-blacklist)
        (setq-local
         scroll-preserve-screen-position t
         scroll-conservatively 0
         maximum-scroll-margin 0.5
         scroll-margin 99999))))