More emacs 31.1 stuff
This commit is contained in:
@@ -45,6 +45,26 @@
|
||||
;; if this is not here, init.el fails to load from a freshly-initialized repo
|
||||
(use-package llama)
|
||||
|
||||
;; posframe
|
||||
(use-package posframe
|
||||
:init
|
||||
(defun my/posframe-tip (name msg)
|
||||
"Like `popup-tip', but with a posframe.
|
||||
NAME should be the buffer name to pass to `posframe-show'. MSG is the message to
|
||||
display."
|
||||
(unwind-protect
|
||||
(progn
|
||||
(posframe-show name
|
||||
:string msg
|
||||
:position (point)
|
||||
:max-width 80
|
||||
:border-width 2
|
||||
:border-color "white")
|
||||
(clear-this-command-keys)
|
||||
(push (read-event) unread-command-events)
|
||||
(posframe-hide name))
|
||||
(posframe-hide name))))
|
||||
|
||||
;; no-littering
|
||||
(use-package no-littering
|
||||
:defer nil
|
||||
@@ -214,19 +234,6 @@ Apply OLDFUN with to ARGS."
|
||||
show-paren-not-in-comments-or-strings 'on-mismatch)
|
||||
(show-paren-mode 1)
|
||||
|
||||
;; Form feed characters
|
||||
(face-spec-set 'whitespace-page-delimiter
|
||||
'((((supports :strike-through t))
|
||||
:strike-through t :extend t :inherit shadow)
|
||||
(t :extend t :inherit shadow :inverse-video t)))
|
||||
(define-globalized-minor-mode my/global-whitespace-page-delimiters-mode
|
||||
whitespace-page-delimiters-mode
|
||||
whitespace-page-delimiters-mode
|
||||
:group 'whitespace)
|
||||
(my/global-whitespace-page-delimiters-mode 1)
|
||||
|
||||
|
||||
|
||||
;; Display line numbers
|
||||
(global-display-line-numbers-mode 1)
|
||||
|
||||
@@ -516,10 +523,10 @@ PRED is nil, the value of `my/kill-some-buffers-default-pred' is used."
|
||||
:ensure nil
|
||||
:bind (("C-x t s" . split-tab)
|
||||
("C-x t e" . merge-tabs))
|
||||
:custom
|
||||
(setq tab-bar-show 1
|
||||
tab-bar-tab-hints t
|
||||
icon-preference '(symbol text image emoji))
|
||||
:config
|
||||
(setopt tab-bar-show 1
|
||||
tab-bar-tab-hints t
|
||||
icon-preference '(symbol text image emoji))
|
||||
(tab-bar-mode 1)
|
||||
(tab-bar-history-mode 1))
|
||||
|
||||
@@ -1296,29 +1303,6 @@ environment variable accordingly."
|
||||
(setq xref-show-xrefs-function #'consult-xref
|
||||
xref-show-definitions-function #'consult-xref))
|
||||
|
||||
;; popup.el
|
||||
(use-package popup)
|
||||
|
||||
;; posframe
|
||||
(use-package posframe
|
||||
:init
|
||||
(defun my/posframe-tip (name msg)
|
||||
"Like `popup-tip', but with a posframe.
|
||||
NAME should be the buffer name to pass to `posframe-show'. MSG is the message to
|
||||
display."
|
||||
(unwind-protect
|
||||
(progn
|
||||
(posframe-show name
|
||||
:string msg
|
||||
:position (point)
|
||||
:max-width 80
|
||||
:border-width 2
|
||||
:border-color "white")
|
||||
(clear-this-command-keys)
|
||||
(push (read-event) unread-command-events)
|
||||
(posframe-hide name))
|
||||
(posframe-hide name))))
|
||||
|
||||
(defun my/-floating-tooltip-fill-string (msg &optional width prefix)
|
||||
"Fill MSG to WIDTH, defaulting to 80 characters.
|
||||
If PREFIX is a number, add that many spaces before each continuation line. If
|
||||
@@ -1337,10 +1321,7 @@ it is a string, add that string. If it is nil, add 5 spaces."
|
||||
MSG is the message to show in the popup. NAME is the name of the buffer to pass
|
||||
to `posframe-show' if the display is graphical.
|
||||
WIDTH and PREFIX are as for `my/-floating-tooltip-fill-string'."
|
||||
(let ((msg (my/-floating-tooltip-fill-string msg width prefix)))
|
||||
(if (display-graphic-p)
|
||||
(my/posframe-tip name msg)
|
||||
(popup-tip msg))))
|
||||
(my/posframe-tip name (my/-floating-tooltip-fill-string msg width prefix)))
|
||||
|
||||
;; flymake
|
||||
(use-package flymake
|
||||
@@ -4131,7 +4112,7 @@ vising, and their major mode"
|
||||
;; dashboard.el
|
||||
(use-package dashboard
|
||||
:custom
|
||||
(initial-buffer-choice (lambda () (get-buffer-create "*dashboard*")))
|
||||
(initial-buffer-choice #'dashboard-open)
|
||||
(dashboard-force-refresh t)
|
||||
(dashboard-display-icons-p t)
|
||||
(dashboard-icon-type 'nerd-icons)
|
||||
@@ -4141,19 +4122,18 @@ vising, and their major mode"
|
||||
(projects . 5)
|
||||
(bookmarks . 5)))
|
||||
:config
|
||||
(defvar-local my/-dashboard-did-fix-image nil
|
||||
"Weather or not the dashboard image has been fixed in this buffer.")
|
||||
(defun my/-dashboard-fix-image ()
|
||||
(unless my/-dashboard-did-fix-image
|
||||
(dashboard-refresh-buffer)
|
||||
(setq my/-dashboard-did-fix-image t)))
|
||||
(defun my/-dashboard-setup-function ()
|
||||
(add-hook 'window-configuration-change-hook 'my/-dashboard-fix-image nil t)
|
||||
(setq-local display-line-numbers nil))
|
||||
(add-hook 'dashboard-mode-hook 'my/-dashboard-setup-function)
|
||||
(set-face-background 'dashboard-banner-logo-title nil)
|
||||
(add-hook 'server-after-make-frame-hook #'dashboard-open)
|
||||
(dashboard-setup-startup-hook))
|
||||
|
||||
;; prettify ^L characters (emacs 31.1 mode breaks stuff)
|
||||
(use-package form-feed
|
||||
:custom-face
|
||||
(form-feed-line ((((type graphic)) :strike-through "#555556")
|
||||
(((type tty)) :inherit font-lock-comment-face :underline t)))
|
||||
:config
|
||||
(global-form-feed-mode 1))
|
||||
|
||||
|
||||
;; world clocks
|
||||
(setopt zoneinfo-style-world-list
|
||||
'(("America/Los_Angeles" "California")
|
||||
|
||||
Reference in New Issue
Block a user