| [Sawfish] Re: Patch Add toggle-fixed-size |
[ Thread Index | Date Index | More lists.tuxfamily.org/sawfish Archives ]
Hi,
On Fri, 29 Aug 2014 10:16:41 +0200
wrote fuchur <flohtransporter@xxxxxxxxx>:
>Hi,
>
>Patch for cabinet to make broken keybindings work. Add file
>heads.jl for multihead stuff. Add send-to-next-head and
>send-to-previous-head to sawfish.
>
Patches 01-fixed-size.patch and 02-fixed-size.patch
Changes:
Add toggle-fixed-size to sawfish. Add keybindings for
toggle-fixed-size and add supported by cabinet and StyleTab lock-button.
Fix typo in fixed-position (fixed-postion).
i
Enable correct focus after you move tabbed windows (disable as i
build cabinet, forgotten).
Apply the patches after 01-cabinet-head.patch from this thread.
--
Regards,
Fuchur
GPG Fingerprint: CA3B 8204 5B3E 6D48 6D53 C116 E5BC 70D5 B8D7 B2B0
diff -urNad sawfish.orgi/lisp/sawfish/wm/ext/cabinet.jl sawfish/lisp/sawfish/wm/ext/cabinet.jl
--- sawfish.orgi/lisp/sawfish/wm/ext/cabinet.jl
+++ sawfish/lisp/sawfish/wm/ext/cabinet.jl
@@ -269,7 +269,7 @@
maximize-window-fullscreen-toggle maximize-window-horizontally-toggle maximize-window-vertically-toggle maximize-window-fullxinerama-toggle
tab-add-maked-windows tab-release-window tab-move-to-end tab-move-to-beginning tab-move-to-right tab-move-to-left
move-window-to-center move-window-to-top-left move-window-to-next-workspace move-window-to-previous-workspace
- toggle-fixed-postion toggle-window-never-focus toggle-window-ignored toggle-task-list-skip toggle-window-cycle-skip
+ toggle-fixed-position toggle-fixed-size toggle-window-never-focus toggle-window-ignored toggle-task-list-skip toggle-window-cycle-skip
toggle-window-list-skip toggle-desktop send-to-next-head send-to-previous-head
raise-window lower-window raise-window-depth lower-window-depth raise-lower-window
raise-window-and-transients raise-lower-window-and-transients delete-window-safely destroy-window
diff -urNad sawfish.orgi/lisp/sawfish/wm/keymaps.jl sawfish/lisp/sawfish/wm/keymaps.jl
--- sawfish.orgi/lisp/sawfish/wm/keymaps.jl
+++ sawfish/lisp/sawfish/wm/keymaps.jl
@@ -199,7 +199,8 @@
:type keymap)
(defcustom lock-button-keymap (bind-keys (make-keymap)
- "Button1-Off" 'toggle-fixed-postion)
+ "Button1-Off" 'toggle-fixed-position
+ "Button3-Off" 'toggle-fixed-size)
"Keymap of \"lock\" button. Mouse-bindings only."
:group bindings
:type keymap)
diff -urNad sawfish.orgi/lisp/sawfish/wm/tabs/tabgroup.jl sawfish/lisp/sawfish/wm/tabs/tabgroup.jl
--- sawfish.orgi/lisp/sawfish/wm/tabs/tabgroup.jl
+++ sawfish/lisp/sawfish/wm/tabs/tabgroup.jl
@@ -219,7 +219,7 @@
"Refresh the entire group containing WIN according to PROP.
PROP can be one of the symbols: raise, frame, reframe, reframe-all, style, move,
resize, title-position, type, depth, shade, unshade, iconify, uniconify, maximized,
-sticky, unsticky, fixed-position."
+sticky, unsticky, fixed-position fixed-size."
(when tab-refresh-lock
(setq tab-refresh-lock nil)
(unwind-protect
@@ -268,6 +268,10 @@
(let ((group-frame-fixed-position (window-get win 'fixed-position)))
(mapcar (lambda (w)
(window-put w 'fixed-position group-frame-fixed-position)) unfocus)))
+ ((eq prop 'fixed-size)
+ (let ((group-frame-fixed-size (window-get win 'fixed-size)))
+ (mapcar (lambda (w)
+ (window-put w 'fixed-size group-frame-fixed-size)) unfocus)))
((eq prop 'type)
(let ((group-frame-type (window-get win 'type)))
(mapcar (lambda (w)
@@ -343,6 +347,7 @@
(group-frame-gravity (window-get win 'gravity))
(group-frame-never-iconify (window-get win 'never-iconify))
(group-frame-fixed-position (window-get win 'fixed-position))
+ (group-frame-fixed-size (window-get win 'fixed-size))
(group-frame-title-position (window-get win 'title-position))
(group-frame-depth (window-get win 'depth))
(group-frame-never-maximize (window-get win 'never-maximize))
@@ -378,6 +383,7 @@
(window-put w 'never-iconify group-frame-never-iconify)
(window-put w 'depth group-frame-depth)
(window-put w 'fixed-position group-frame-fixed-position)
+ (window-put w 'fixed-size group-frame-fixed-size)
(window-put w 'never-maximize group-frame-never-maximize)
(window-put w 'maximized-vertically group-frame-maximized-vertically)
(window-put w 'maximized-horizontally group-frame-maximized-horizontally)
@@ -582,13 +588,13 @@
(window-put w 'never-iconify t))
(window-put w 'tabbed t)) wins)
(call-hook 'tab-group-windows-hook (list (tab-group-windows win)))
- ;;(raise-window win)
+ (raise-window win)
(setq all-wins nil))
(setq tab-refresh-lock t)
(when (window-tabbed-p win)
(tab-refresh-group win 'move)
(tab-refresh-group win 'frame)
- ;;(set-input-focus (nth 0 (tab-group-windows-stacking-order win)))
+ (set-input-focus (nth 0 (tab-group-windows-stacking-order win)))
(when clicked-frame
(move-cursor-in-tabbar (input-focus))
(setq clicked-frame nil)))
@@ -693,6 +699,9 @@
((eq 'fixed-position args)
(tab-refresh-group win 'fixed-position)
(tab-refresh-group win 'frame))
+ ((eq 'fixed-size args)
+ (tab-refresh-group win 'fixed-size)
+ (tab-refresh-group win 'frame))
((eq 'frame-style args)
(tab-refresh-group win 'style)
(tab-refresh-group win 'reframe-all)
diff -urNad sawfish.orgi/lisp/sawfish/wm/windows.jl sawfish/lisp/sawfish/wm/windows.jl
--- sawfish.orgi/lisp/sawfish/wm/windows.jl
+++ sawfish/lisp/sawfish/wm/windows.jl
@@ -67,7 +67,8 @@
window-y
window-width
window-height
- toggle-fixed-postion))
+ toggle-fixed-position
+ toggle-fixed-size))
(open rep
rep.system
@@ -633,13 +634,21 @@
(define (window-height w)
(cdr (window-frame-dimensions w)))
- (define (toggle-fixed-postion w)
+ (define (toggle-fixed-position w)
"Toggle the window property `fixed-position'."
(if (window-get w 'fixed-position)
(window-put w 'fixed-position nil)
(window-put w 'fixed-position t))
(call-window-hook 'window-state-change-hook w (list '(fixed-position))))
- (define-command 'toggle-fixed-postion toggle-fixed-postion #:spec "%W")
+ (define-command 'toggle-fixed-position toggle-fixed-position #:spec "%W")
+
+ (define (toggle-fixed-size w)
+ "Toggle the window property `fixed-size'."
+ (if (window-get w 'fixed-size)
+ (window-put w 'fixed-size nil)
+ (window-put w 'fixed-size t))
+ (call-window-hook 'window-state-change-hook w (list '(fixed-size))))
+ (define-command 'toggle-fixed-size toggle-fixed-size #:spec "%W")
;;; gaollable functions
(gaol-add window-really-wants-input-p window-class window-avoided-p
diff -urNad sawfish.orgi/po/de.po sawfish/po/de.po
--- sawfish.orgi/po/de.po
+++ sawfish/po/de.po
@@ -4695,13 +4695,21 @@
msgstr "Fenster umbenennen."
#. ../lisp/sawfish/wm/windows.jl
-msgid "Toggle fixed postion"
+msgid "Toggle fixed position"
msgstr "Fenster »Feste Position« an/aus"
#. ../lisp/sawfish/wm/windows.jl
msgid "Toggle the window property `fixed-position'."
msgstr "Fenstereigenschaft feste Position ein-/ausschalten."
+#. ../lisp/sawfish/wm/windows.jl
+msgid "Toggle fixed size"
+msgstr "Fenster »Feste Grö�e« an/aus"
+
+#. ../lisp/sawfish/wm/windows.jl
+msgid "Toggle the window property `fixed-size'."
+msgstr "Fenstereigenschaft feste Grö�e ein-/ausschalten."
+
#. ../lisp/sawfish/wm/ext/match-window.jl
#. ../lisp/sawfish/wm/viewport.jl
msgid "Viewport"
@@ -6055,6 +6063,14 @@
msgstr "Cabinet"
#. ../lisp/sawfish/wm/ext/cabinet.jl
+msgid "cabinet-switch"
+msgstr "Cabinet »Ausführen«"
+
+#. ../lisp/sawfish/wm/ext/cabinet.jl
+msgid "Start cabinet switch."
+msgstr "Cabinet aufrufen."
+
+#. ../lisp/sawfish/wm/ext/cabinet.jl
msgid "Keybindings"
msgstr "Tastenkombinationen"
@@ -6268,10 +6284,14 @@
msgstr "Fenster auf Xinerama Vollbild »Maximieren« ein/aus"
#. ../lisp/sawfish/wm/ext/cabinet.jl
-msgid "toggle-fixed-postion"
+msgid "toggle-fixed-position"
msgstr "Fenster »Feste Position« an/aus"
#. ../lisp/sawfish/wm/ext/cabinet.jl
+msgid "toggle-fixed-size"
+msgstr "Fenster »Feste Grö�e« an/aus"
+
+#. ../lisp/sawfish/wm/ext/cabinet.jl
msgid "toggle-window-never-focus"
msgstr "Fenster »Nie fokussieren« ein/aus"
diff -urNad sawfish.orgi/themes/StyleTab/theme.jl sawfish/themes/StyleTab/theme.jl
--- sawfish.orgi/themes/StyleTab/theme.jl
+++ sawfish/themes/StyleTab/theme.jl
@@ -2179,7 +2179,8 @@
(define top-frame-lock-button
`((class . lock-button)
(background . ,(lambda (w) (table-ref styletab-c-frame-cache '"top-frame-button")))
- (foreground . ,(lambda (w) (if (window-get w 'fixed-position)
+ (foreground . ,(lambda (w) (if (or (window-get w 'fixed-position)
+ (window-get w 'fixed-size))
(table-ref styletab-c-frame-cache '"top-frame-unlock-button")
(table-ref styletab-c-frame-cache '"top-frame-lock-button"))))
(cursor . hand2)
@@ -2190,7 +2191,8 @@
(define bottom-frame-lock-button
`((class . lock-button)
(background . ,(lambda (w) (table-ref styletab-c-frame-cache '"bottom-frame-button")))
- (foreground . ,(lambda (w) (if (window-get w 'fixed-position)
+ (foreground . ,(lambda (w) (if (or (window-get w 'fixed-position)
+ (window-get w 'fixed-size))
(table-ref styletab-c-frame-cache '"bottom-frame-unlock-button")
(table-ref styletab-c-frame-cache '"bottom-frame-lock-button"))))
(cursor . hand2)
@@ -2201,7 +2203,8 @@
(define left-frame-lock-button
`((class . lock-button)
(background . ,(lambda (w) (table-ref styletab-c-frame-cache '"left-frame-button")))
- (foreground . ,(lambda (w) (if (window-get w 'fixed-position)
+ (foreground . ,(lambda (w) (if (or (window-get w 'fixed-position)
+ (window-get w 'fixed-size))
(table-ref styletab-c-frame-cache '"left-frame-unlock-button")
(table-ref styletab-c-frame-cache '"left-frame-lock-button"))))
(cursor . hand2)
@@ -2212,7 +2215,8 @@
(define right-frame-lock-button
`((class . lock-button)
(background . ,(lambda (w) (table-ref styletab-c-frame-cache '"right-frame-button")))
- (foreground . ,(lambda (w) (if (window-get w 'fixed-position)
+ (foreground . ,(lambda (w) (if (or (window-get w 'fixed-position)
+ (window-get w 'fixed-size))
(table-ref styletab-c-frame-cache '"right-frame-unlock-button")
(table-ref styletab-c-frame-cache '"right-frame-lock-button"))))
(cursor . hand2)
@@ -2947,7 +2951,7 @@
(call-after-state-changed '(tab-theme-name) frame-style-name)
(call-after-state-changed '(tab-theme-tabbars) frame-style-tabbars)
(call-after-state-changed '(marked) reframe-marked)
-(call-after-state-changed '(maximized sticky fixed-position stacking) reframe-one)
+(call-after-state-changed '(maximized sticky fixed-position fixed-size stacking) reframe-one)
(add-hook 'remove-from-workspace-hook reframe-one)
(custom-set-property 'styletab-c:styles ':after-set reload-frame-style-reframe)
Attachment:
signature.asc
Description: PGP signature
| Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |