[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/ |