summaryrefslogtreecommitdiffhomepage
path: root/init.el
diff options
context:
space:
mode:
authorjao <jao@gnu.org>2026-06-20 17:06:31 +0100
committerjao <jao@gnu.org>2026-06-20 17:07:26 +0100
commit29dc601a42111d15db0c9901377cf50bbf5541e9 (patch)
tree16ed11de8326c367bc8baa8ee32ac36e1fc9253d /init.el
parent9cee12ec07fa570bad8fc2da3575edce96e7ff6b (diff)
downloadelibs-29dc601a42111d15db0c9901377cf50bbf5541e9.tar.gz
elibs-29dc601a42111d15db0c9901377cf50bbf5541e9.tar.bz2
header for image mode
Diffstat (limited to 'init.el')
-rw-r--r--init.el31
1 files changed, 30 insertions, 1 deletions
diff --git a/init.el b/init.el
index 9cd6822..511af25 100644
--- a/init.el
+++ b/init.el
@@ -1719,11 +1719,40 @@
;;;; protobuf
(use-package protobuf-mode :ensure t)
-;;; Graphics
+;;; Graphics / images
(setq image-use-external-converter t
image-cache-eviction-delay 120)
(setq widget-image-enable nil)
+;; stolen from
+;; https://emacs.dyerdwelling.family/emacs/20260430074958-emacs--a-tiny-header-line-tweak:-image-dimensions-in-image-mode/
+
+(defun jao-image-mode-show-dimensions ()
+ "Display the open image's pixel dimensions and file size in the header line."
+ (when (and (derived-mode-p 'image-mode)
+ buffer-file-name
+ (file-exists-p buffer-file-name))
+ (condition-case err
+ (let* ((image (or (image-get-display-property)
+ (create-image buffer-file-name)))
+ (size (image-size image t))
+ (width (car size))
+ (height (cdr size))
+ (bytes (file-attribute-size
+ (file-attributes buffer-file-name))))
+ (setq header-line-format
+ (format " %d x %d px %s"
+ width height
+ (file-size-human-readable bytes))))
+ (error
+ (setq header-line-format
+ (format " image dimensions unavailable: %S" err))))))
+
+(add-hook 'image-mode-hook #'jao-image-mode-show-dimensions)
+(add-hook 'image-mode-new-window-functions
+ (lambda (&rest _) (jao-image-mode-show-dimensions)))
+
+
;;; Network
;;;; r2e