[Sawfish] Re: Add new window as tab patch |
[ Thread Index | Date Index | More lists.tuxfamily.org/sawfish Archives ]
Hi, On Tue, 3 Apr 2012 01:24:43 +0200 wrote fuchur <flohtransporter@xxxxxxxxx>: >Hi, > >On Fri, 30 Mar 2012 20:16:58 +0200 >wrote fuchur <flohtransporter@xxxxxxxxx>: > >>Hi, >> >>On Wed, 28 Mar 2012 23:54:32 +0200 >>wrote fuchur <flohtransporter@xxxxxxxxx>: >> >>>Hi, >>> >>>On Tue, 27 Mar 2012 18:51:16 +0200 >>>wrote fuchur <flohtransporter@xxxxxxxxx>: >>> >>>>>Hi, >>>>> >>>>>On Mon, 26 Mar 2012 04:01:26 +0200 >>>>>wrote fuchur <flohtransporter@xxxxxxxxx>: >>>>> >>>>>>Hi, >>>>>> >>>>>>Here is a patch to add a new window as tab if have one (the first >>>>>>created if more as one) of the windows the same 'tab-group property". >>>>>>'tab-group property can set by window-rules and also save in >>>>>>window-history. You can choose between 12 tab-groups. If you know how >>>>>>to grow Tab groups or "automatically" update (maybe by window-names) in >>>>>>window-rules please send a patch. >>>>>> >>>>> >>>>>Here is the same patch as above but with some bugfix. >>>>>Need more tester/ing. >>>>> >>> >>>Some Windows not call the unmap-notify-hook e.g. gimp and tabgroup >>>will not work. This patch for local-master-branch fix that. >>> >> >>Add support if the new window/tab and the tab-group not at the same >>workspace. Apply the patch after the patch above. >> > >Two bugfix patches for tabgroup.jl. Apply after 03-tabgroup-fix.patch >and 04-tabgroup-fix.patch patches from above to the local-master branch. > This patch for tabgroup allows only add "normal" windows as tabs (ignores docks dialogs ...). -- Regards, Fuchur GPG Fingerprint: CA3B 8204 5B3E 6D48 6D53 C116 E5BC 70D5 B8D7 B2B0
--- sawfish/lisp/sawfish/wm/tabs/tabgroup.jl.orig +++ sawfish/lisp/sawfish/wm/tabs/tabgroup.jl @@ -248,8 +248,11 @@ (define (tab-group-window w win) "Add window W to tabgroup containing WIN." ;; don't add a window as tab, if it already - ;; exists on another workspace - (when (not (cdr (window-get win 'workspaces))) + ;; exists on another workspace or window type + ;; is not a "normal" window (e.g. dock panel ...) + (when (and (not (cdr (window-get win 'workspaces))) + (equal (aref (nth 2 (get-x-property w '_NET_WM_WINDOW_TYPE)) 0) '_NET_WM_WINDOW_TYPE_NORMAL) + (equal (aref (nth 2 (get-x-property win '_NET_WM_WINDOW_TYPE)) 0) '_NET_WM_WINDOW_TYPE_NORMAL)) (let* ((index (tab-window-group-index win)) (index2 (tab-window-group-index w)) (pos (window-position win))
Attachment:
signature.asc
Description: PGP signature
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |