Browse code
Added support for buffers selected/unselected foregrounds
Alexey Veretennikov authored on 29/09/2016 21:00:31
Showing 1 changed files
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 |
|