[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/scad-mode 3c5fe2c615 28/47: Improve preview mode settings
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/scad-mode 3c5fe2c615 28/47: Improve preview mode settings |
Date: |
Sat, 12 Nov 2022 13:59:35 -0500 (EST) |
branch: elpa/scad-mode
commit 3c5fe2c615df0472fb82a203105d5202d4a4daa7
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Improve preview mode settings
---
scad-mode.el | 69 ++++++++++++++++++++++++++++++++++++------------------------
1 file changed, 42 insertions(+), 27 deletions(-)
diff --git a/scad-mode.el b/scad-mode.el
index c581b3cb2c..391841ba00 100644
--- a/scad-mode.el
+++ b/scad-mode.el
@@ -246,18 +246,20 @@ Key bindings:
(concat (file-name-base buffer-file-name)
".stl"))))
" " (shell-quote-argument buffer-file-name))))
-(defvar-local scad--preview-buffer nil)
-(defvar-local scad--preview-camera nil)
-(defvar-local scad--preview-process nil)
-(defvar-local scad--preview-size nil)
-(defvar-local scad--preview-status nil)
-(defvar-local scad--preview-timer nil)
-(put 'scad--preview-buffer 'permanent-local t)
-(put 'scad--preview-camera 'permanent-local t)
-(put 'scad--preview-process 'permanent-local t)
-(put 'scad--preview-size 'permanent-local t)
-(put 'scad--preview-status 'permanent-local t)
-(put 'scad--preview-timer 'permanent-local t)
+(defvar-local scad--preview-buffer nil)
+(defvar-local scad--preview-camera nil)
+(defvar-local scad--preview-process nil)
+(defvar-local scad--preview-size nil)
+(defvar-local scad--preview-mode-status nil)
+(defvar-local scad--preview-mode-camera nil)
+(defvar-local scad--preview-timer nil)
+(put 'scad--preview-buffer 'permanent-local t)
+(put 'scad--preview-camera 'permanent-local t)
+(put 'scad--preview-process 'permanent-local t)
+(put 'scad--preview-size 'permanent-local t)
+(put 'scad--preview-mode-status 'permanent-local t)
+(put 'scad--preview-mode-camera 'permanent-local t)
+(put 'scad--preview-timer 'permanent-local t)
(defvar scad-preview-mode-map
(let ((map (make-sparse-keymap)))
@@ -276,12 +278,11 @@ Key bindings:
map)
"Keymap for SCAD preview buffers.")
-(defun scad--preview-status (&optional status)
+(defun scad--preview-status (status)
"Update mode line of preview buffer with STATUS."
- (setq scad--preview-status
- (concat (apply #'format "[%d %d %d] [%d %d %d] %d"
- scad--preview-camera)
- " " status))
+ (setq scad--preview-mode-camera (apply #'format "[%d %d %d] [%d %d %d] %d"
+ scad--preview-camera)
+ scad--preview-mode-status status)
(force-mode-line-update))
(defun scad-preview ()
@@ -320,7 +321,7 @@ Key bindings:
"Render image from current buffer."
(when (buffer-live-p scad--preview-buffer)
(scad--preview-kill)
- (scad--preview-status "Rendering...")
+ (scad--preview-status "Render")
(let* ((infile (make-temp-file "scad-preview-" nil ".scad"))
(outfile (concat infile ".png"))
(buffer (current-buffer)))
@@ -339,13 +340,14 @@ Key bindings:
(and (file-exists-p outfile)
(> (file-attribute-size
(file-attributes outfile)) 0))))
(scad--preview-status "Error")
- (fundamental-mode)
- (erase-buffer)
- (insert-file-contents outfile)
- (let ((inhibit-message t)
- (message-log-max nil))
- (scad-preview-mode))
- (scad--preview-status))))
+ (with-silent-modifications
+ (fundamental-mode)
+ (erase-buffer)
+ (insert-file-contents outfile)
+ (let ((inhibit-message t)
+ (message-log-max nil))
+ (scad-preview-mode)))
+ (scad--preview-status ""))))
(delete-file outfile)
(delete-file infile))
:command (list scad-command
@@ -372,8 +374,21 @@ Key bindings:
(define-derived-mode scad-preview-mode image-mode "SCAD Preview"
"Major mode for SCAD preview buffers."
- (setq mode-line-format '("" mode-line-buffer-identification (" "
scad--preview-status))
- revert-buffer-function #'scad--preview-reset))
+ (setq buffer-read-only t
+ line-spacing nil
+ cursor-type nil
+ cursor-in-non-selected-windows nil
+ left-fringe-width 1
+ right-fringe-width 1
+ left-margin-width 0
+ right-margin-width 0
+ truncate-lines nil
+ show-trailing-whitespace nil
+ display-line-numbers nil
+ fringe-indicator-alist '((truncation . nil))
+ revert-buffer-function #'scad--preview-reset
+ mode-line-position '(" " scad--preview-mode-camera)
+ mode-line-process '(" " scad--preview-mode-status)))
(defun scad--preview-reset (&rest _)
"Reset camera parameters and refresh."
- [nongnu] elpa/scad-mode b0d138e9ec 43/47: Print warning if the scad-preview package is installed, (continued)
- [nongnu] elpa/scad-mode b0d138e9ec 43/47: Print warning if the scad-preview package is installed, ELPA Syncer, 2022/11/12
- [nongnu] elpa/scad-mode e5ed92217e 10/47: Cleanup mode map, ELPA Syncer, 2022/11/12
- [nongnu] elpa/scad-mode 311797dc44 15/47: Commentary: Remove old todos, ELPA Syncer, 2022/11/12
- [nongnu] elpa/scad-mode 2c9124f718 16/47: Remove some publicly exposed variables, ELPA Syncer, 2022/11/12
- [nongnu] elpa/scad-mode 9bfaed13bc 25/47: Add support for Org babel, ELPA Syncer, 2022/11/12
- [nongnu] elpa/scad-mode 970982b253 31/47: Fix ob-scad, ELPA Syncer, 2022/11/12
- [nongnu] elpa/scad-mode 7cb7ee82a4 32/47: Enable scad-preview-mode immediately, ELPA Syncer, 2022/11/12
- [nongnu] elpa/scad-mode 1a2e992a5b 34/47: Fix custom types, ELPA Syncer, 2022/11/12
- [nongnu] elpa/scad-mode 4c23eae9c2 35/47: Support both ortho/perspective projection, ELPA Syncer, 2022/11/12
- [nongnu] elpa/scad-mode a1638354e1 39/47: Log openscad output to separate buffer, ELPA Syncer, 2022/11/12
- [nongnu] elpa/scad-mode 3c5fe2c615 28/47: Improve preview mode settings,
ELPA Syncer <=
- [nongnu] elpa/scad-mode be02b626ce 42/47: Fix flymake configuration, ELPA Syncer, 2022/11/12
- [nongnu] elpa/scad-mode 29a4f8a848 44/47: scad-export: Add file argument, ELPA Syncer, 2022/11/12
- [nongnu] elpa/scad-mode 3076e240bf 47/47: Version 93.1, ELPA Syncer, 2022/11/12