emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/tablist ad275a1 13/60: Merged branch renderpages.


From: Philip Kaludercic
Subject: [nongnu] elpa/tablist ad275a1 13/60: Merged branch renderpages.
Date: Sun, 1 Aug 2021 18:19:26 -0400 (EDT)

branch: elpa/tablist
commit ad275a1120165eb1465d287ca0475a4aadf2ab35
Merge: 82bf4b9 6c03338
Author: Andreas Politz <politza@hochschule-trier.de>
Commit: Andreas Politz <politza@hochschule-trier.de>

    Merged branch renderpages.
---
 tablist.el | 36 +++++++++++++++++++++++++++---------
 1 file changed, 27 insertions(+), 9 deletions(-)

diff --git a/tablist.el b/tablist.el
index 10362c1..a76a4dc 100644
--- a/tablist.el
+++ b/tablist.el
@@ -53,6 +53,7 @@
 (require 'tabulated-list)
 (require 'dired)
 (require 'tablist-filter)
+(require 'pdf-util)
 
 ;;
 ;; *Mode Maps
@@ -284,18 +285,28 @@ as argument for the function `completion-in-region'.")
          'tablist-selection-changed-functions
          tablist-selected-id)))))
 
+(defvar tablist-context-window-update--timer nil)
+  
 (defun tablist-context-window-update (&optional id)
   (when (and tablist-context-window-function
              (window-live-p tablist-context-window)
              (not tablist-edit-column-minor-mode))
     (unless id
       (setq id (tabulated-list-get-id)))
-    (let ((fn tablist-context-window-function))
-      (with-selected-window tablist-context-window
-        (set-window-dedicated-p nil nil)
-        (save-selected-window (funcall fn id))
-        (when (window-live-p (selected-window))
-          (set-window-dedicated-p nil t))))))
+    (when (timerp tablist-context-window-update--timer)
+      (cancel-timer tablist-context-window-update--timer))
+    (setq tablist-context-window-update--timer
+          (run-with-idle-timer 0.1 nil
+            (lambda (fn window)
+              (when (window-live-p window)
+                (with-selected-window window
+                  (set-window-dedicated-p nil nil)
+                  (save-selected-window
+                    (funcall fn id))
+                  (when (window-live-p (selected-window))
+                    (set-window-dedicated-p nil t)))))
+            tablist-context-window-function
+            tablist-context-window))))
 
 (defun tablist-display-context-window ()
   (interactive)
@@ -317,6 +328,13 @@ as argument for the function `completion-in-region'.")
       (delete-window tablist-context-window)))
   (setq tablist-context-window nil))
 
+(defun tablist-toggle-context-window ()
+  (interactive)
+  (if (window-live-p tablist-context-window)
+      (tablist-hide-context-window)
+    (tablist-display-context-window)))
+  
+  
 ;;
 ;; *Marking
 ;;
@@ -1599,10 +1617,10 @@ FILTER defaults to `tablist-current-filter'."
            `(and ,x1 ,x2))
           (`(and ,x1 ,x2)
            `(or ,x1 ,x2))
-          (else else)))
+          (`(not ,x) x)
+          (x `(not ,x))))
   (tablist-apply-filter)
-  (when (called-interactively-p 'any)
-    (tablist-display-filter-temporarily)))
+  (tablist-display-filter-temporarily))
 
 (defun tablist-suspend-filter (&optional flag)
   "Temporarily disable filtering according to FLAG.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]