93 lines
2.5 KiB
Plaintext
93 lines
2.5 KiB
Plaintext
;; a sample special-purpose customisation for framemaker windows
|
|
|
|
;;=============================================================================
|
|
;; framemaker windows
|
|
;;=============================================================================
|
|
;; frame windows: Maker.name
|
|
;; where name is *kit (makerkit, dockit) for main windows
|
|
;; other for popups
|
|
|
|
;; frame icons:
|
|
(setq frame-icon-color.1 (color-make "RoyalBlue1"))
|
|
(setq frame-icon-font.1 pop-item.font)
|
|
(setq frame-icon-color.2 (color-make "RoyalBlue2"))
|
|
(setq frame-icon-font.2 small-font)
|
|
(setq frame-inactive-color frame-icon-color.1)
|
|
(setq frame-active-color (color-make "RoyalBlue4"))
|
|
|
|
;; frame windows:
|
|
;; main windows:
|
|
(set-window Maker.dockit (simple-win
|
|
'background frame-inactive-color
|
|
'active.background frame-active-color
|
|
'label.background frame-inactive-color
|
|
))
|
|
;; popups:
|
|
(set-window Maker (simple-win
|
|
'map-on-raise t
|
|
'font small-font
|
|
'background frame-inactive-color
|
|
'active.background frame-active-color
|
|
'label.background frame-inactive-color
|
|
))
|
|
|
|
(require 'simple-icon)
|
|
|
|
;; an icon decoration for framemaker
|
|
(set-icon-window Maker
|
|
(if (= "makerkit" window-client-name) ; top window(menu): use frame pixmap
|
|
(simple-icon 'background frame-icon-color.2)
|
|
|
|
(match ".*kit" window-client-name)
|
|
(progn ; main edit windows: icon name
|
|
(simple-icon 'background frame-icon-color.1
|
|
'simple-icon.plug-name (+ "[ " window-icon-name " ]")
|
|
'simple-icon.no-center-plug t
|
|
'font frame-icon-font.1
|
|
)
|
|
)
|
|
|
|
; all popups, use a smaller name
|
|
(with (name (match "FrameMaker - \\(.*\\)$" window-name 1))
|
|
(if (= name "")
|
|
(setq name window-name)
|
|
)
|
|
(simple-icon 'background frame-icon-color.2
|
|
'font frame-icon-font.2
|
|
'simple-icon.plug-name name)
|
|
)))
|
|
|
|
;; center main frame windows in screen if they map offscreen,
|
|
;; make frame popups appear under cursor
|
|
|
|
(set-placement Maker
|
|
(lambda (f) (if f
|
|
(if
|
|
(match ".*kit" window-client-name)
|
|
(if (or (< window-x 0) (< window-y 0))
|
|
(move-window 0 0)
|
|
)
|
|
|
|
t
|
|
(with (mouse-pos (current-mouse-position)
|
|
x (# 0 mouse-pos)
|
|
y (# 1 mouse-pos)
|
|
xe 0
|
|
ye 0
|
|
)
|
|
(setq x (- x (/ window-width 2)))
|
|
(setq y (- y (/ window-height 2)))
|
|
(setq xe (+ x (window-width)))
|
|
(setq ye (+ y (window-height)))
|
|
(if (< x 0) (setq x 0))
|
|
(if (< y 0) (setq y 0))
|
|
(if (> xe screen-width) (setq x (- screen-width
|
|
(window-width)
|
|
)))
|
|
(if (> ye screen-height) (setq y (- screen-height
|
|
(window-height)
|
|
)))
|
|
(move-window x y)
|
|
)))))
|
|
|