git.fiddlerwoaroof.com
Browse code

Added support for buffers selected/unselected foregrounds

Alexey Veretennikov authored on 29/09/2016 21:00:31
Showing 1 changed files
... ...
@@ -61,8 +61,9 @@
61 61
    (buffers-panes :initform nil :accessor buffers-panes)
62 62
    (editor-background :initform +default-background-color+ :accessor bg) 
63 63
    (editor-foreground :initform +default-foreground-color+ :accessor fg)
64
-   (buffers-background :initform +default-background-color+ :accessor buffers-bg) 
65
-   (buffers-foreground :initform +default-foreground-color+ :accessor buffers-fg)))
64
+   (buffers-background :initform +default-background-color+ :accessor buffers-bg)
65
+   (buffers-foreground :initform +default-foreground-color+ :accessor buffers-fg)
66
+   (buffers-selected-foreground :initform +default-foreground-color+ :accessor buffers-selected-fg)))
66 67
 
67 68
 (defclass listener-panes-theme ()
68 69
   ((listener-panes :initform nil :accessor listener-panes)
... ...
@@ -98,6 +99,14 @@
98 99
 (defun color-theme-args (theme-name)
99 100
   (rest (color-theme-data theme-name)))
100 101
 
102
+
103
+(defun buffers-color-function (lp symbol state)
104
+  (declare (ignore lp))
105
+  (cond ((eq state :normal)
106
+         (buffers-fg *editor-tool*))
107
+        ((eq state :selected)
108
+         (buffers-selected-fg *editor-tool*))))
109
+        
101 110
 (defun update-pane-colors (pane foreground background)
102 111
   (setf (capi:simple-pane-foreground pane) foreground)
103 112
   (setf (capi:simple-pane-background pane) background)
... ...
@@ -157,6 +166,7 @@
157 166
                              output-foreground
158 167
                              output-background
159 168
                              buffers-foreground
169
+                             buffers-selected-foreground
160 170
                              buffers-background
161 171
                              &allow-other-keys)
162 172
       (color-theme-args theme-name)
... ...
@@ -193,6 +203,9 @@
193 203
     (setf (buffers-fg *editor-tool*)
194 204
           (or buffers-foreground
195 205
               (fg *editor-tool*))
206
+          (buffers-selected-fg *editor-tool*)
207
+          (or buffers-selected-foreground
208
+              (buffers-fg *editor-tool*))
196 209
           (buffers-bg *editor-tool*)
197 210
           (or buffers-background
198 211
               (bg *editor-tool*)))
... ...
@@ -268,8 +281,11 @@
268 281
     (setf (capi:simple-pane-background pane) bg-color)))
269 282
 
270 283
 (defun set-mulitcolumn-list-panel-colors (pane)
271
-  (when (eq (capi:capi-object-name pane) 'lw-tools::buffers-list)
284
+  (when (or (eq (capi:capi-object-name pane) 'lw-tools::buffers-list)
285
+            (eq (capi:capi-object-name pane) 'lispworks-tools::narrow-buffers-list))
272 286
     (pushnew pane (buffers-panes *editor-tool*))
287
+    (when (eq (capi:capi-object-name pane) 'lispworks-tools::narrow-buffers-list)
288
+      (setf (slot-value pane 'capi::color-function) #'buffers-color-function))
273 289
     (update-pane-colors pane (buffers-fg *editor-tool*) (buffers-bg *editor-tool*))))
274 290
 
275 291