[Sawfish] Re: Add compton module to sawfish |
[ Thread Index | Date Index | More lists.tuxfamily.org/sawfish Archives ]
Hi, On Fri, 13 Sep 2013 21:47:31 +0200 wrote fuchur <flohtransporter@xxxxxxxxx>: >Hi, > >On Thu, 12 Sep 2013 15:59:27 +0200 >wrote fuchur <flohtransporter@xxxxxxxxx>: > >>Hi, >> >>I have build a patch to add support for transparency in sawfish. >>It use compton and you can use sawfish to set the most settings. >> > >With this patch i have add some settings for shadows. Changes: > >Disable shadows by windows with tabs, but you can force shadows for >windows with tabs. >Improve shadows for windows with tabs. > >Selectable: >Don’t draw shadows on menus. >Don’t draw shadows on drag-and-drop windows. >Don’t draw shadows on shaped windows. >Only draw shadows on normal windows and dialogs. > >Add window match whether a window never become shadows. >Better xinerama support (remove shadows by fullscreen on a head) >Add "--detect-rounded-corners". > > >Should now complete, if you missing something important please >send a mail. > With this patch we set all inactiv/background tabs shade. Tabbed windows now also looks like normal windows. Also improve translucency for shadows settings. -- Regards, Fuchur GPG Fingerprint: CA3B 8204 5B3E 6D48 6D53 C116 E5BC 70D5 B8D7 B2B0
diff -urNad sawfish.orig/lisp/sawfish/wm/prg/compton.jl sawfish/lisp/sawfish/wm/prg/compton.jl --- sawfish.orig/lisp/sawfish/wm/prg/compton.jl +++ sawfish/lisp/sawfish/wm/prg/compton.jl @@ -110,11 +110,11 @@ :options (25 20 15 10 5 0 -05 -10 -15 -20 -25 -30 -35 -40 -45 -50) :after-set (lambda () (switch-opacity))) - (defcustom translucency 75 "The translucency for shadows. (Default 75)" + (defcustom translucency 80 "The translucency for shadows. (Default 80)" :depends opacity-enable :group (appearance window-effects) :type symbol - :options (05 15 30 45 60 75 90 105 120 135 150) + :options (10 20 30 40 50 60 70 80 90 100) :after-set (lambda () (switch-opacity))) (defcustom blur-radius 12 "The blur radius for shadows. (Default 12)" diff -urNad sawfish.orig/lisp/sawfish/wm/tabs/tabgroup.jl sawfish/lisp/sawfish/wm/tabs/tabgroup.jl --- sawfish.orig/lisp/sawfish/wm/tabs/tabgroup.jl +++ sawfish/lisp/sawfish/wm/tabs/tabgroup.jl @@ -160,6 +160,9 @@ (setq release-window t) (when (window-tabbed-p w) (let ((wins (list (remove w (tab-group-window-index w))))) + (if (not (window-get w 'shaded)) + (mapcar (lambda (w) + (unshade-window w)) (tab-group-window-index w))) (tab-delete-window-from-group w (tab-window-group-index w)) (window-put w 'fixed-position nil) (tab-refresh-group oldgroup 'frame) @@ -185,7 +188,13 @@ (let* ((index (tab-window-group-index win)) (wins (tab-group-window-list (nth index tab-groups))) (focus (tab-group-offset win 0)) - (unfocus (remove focus wins))) + (unfocus (remove focus wins)) + not-shaded) + (mapcar (lambda (w) + (if (not (window-get w 'shaded)) (setq not-shaded 't))) wins) + (if not-shaded + (mapcar (lambda (w) + (unshade-window w)) wins)) (cond ((eq prop 'raise) (raise-windows focus wins)) @@ -266,13 +275,11 @@ (if (not (eq viewport-sticky tab-viewport-sticky)) (if viewport-sticky (make-window-sticky/viewport w) - (make-window-unsticky/viewport w)))) unfocus))) - ((eq prop 'shade) - (mapcar (lambda (w) - (shade-window w)) unfocus)) - ((eq prop 'unshade) + (make-window-unsticky/viewport w)))) unfocus)))) + (when (cdr (tab-group-window-index win)) + (if not-shaded (unshade-window win)) (mapcar (lambda (w) - (unshade-window w)) unfocus)))) + (shade-window w)) (remove win (tab-group-window-index win))))) (setq tab-refresh-lock t)))) ;; Entry points @@ -413,8 +420,8 @@ "Releas win from the tabgroup and iconify the rest from the group." (let* ((default-window-animator 'none) (index (tab-window-group-index win)) - (wins (tab-group-window-list (nth index tab-groups))) - (tabs (remove win (tab-group-window-list (nth index tab-groups))))) + (wins (tab-group-window-index win)) + (tabs (remove win (tab-group-window-index win)))) (tab-delete-window-from-group win index) (reframe-window win) (setq tab-refresh-lock nil) @@ -511,13 +518,10 @@ (add-hook 'before-resize-hook (lambda (win) (if (window-tabbed-p win) (before-move-resize win))))) (add-hook 'after-resize-hook (lambda (win) (after-move-resize win))) (add-hook 'focus-in-hook (lambda (win) (if (window-tabbed-p win) (tab-refresh-group win 'raise)))) - (add-hook 'shade-window-hook (lambda (win) (if (window-tabbed-p win) (tab-refresh-group win 'shade)))) - (add-hook 'unshade-window-hook (lambda (win) (if (window-tabbed-p win) (tab-refresh-group win 'unshade)))) (add-hook 'iconify-window-hook (lambda (win) (if (window-tabbed-p win) (tab-refresh-group win 'iconify)))) (add-hook 'uniconify-window-hook (lambda (win) (if (window-tabbed-p win) (tab-refresh-group win 'uniconify)))) (add-hook 'window-maximized-hook (lambda (win) (if (window-tabbed-p win) (tab-refresh-group win 'maximized)))) (add-hook 'window-unmaximized-hook (lambda (win) (if (window-tabbed-p win) (tab-refresh-group win 'maximized)))) - (add-hook 'add-to-workspace-hook (lambda (win) (if (window-tabbed-p win) (tab-refresh-group win 'frame)))) (add-hook 'destroy-notify-hook tab-delete-window-from-tab-groups)) (gaol-add set-tab-theme-name tab-refresh-group tab-group-window-index)) diff -urNad sawfish.orig/themes/StyleTab/theme.jl sawfish/themes/StyleTab/theme.jl --- sawfish.orig/themes/StyleTab/theme.jl +++ sawfish/themes/StyleTab/theme.jl @@ -516,11 +516,11 @@ (mapcar (lambda (w) (window-put w 'title-position dest)) wins) - (call-window-hook 'window-state-change-hook w (list '(title-position))) - (mapcar (lambda (w) - (reframe-window w) - (move-window-to w pos-x pos-y) - (resize-window-to w dim-x dim-y)) wins)))) + + (reframe-window w) + (move-window-to w pos-x pos-y) + (resize-window-to w dim-x dim-y) + (tab-refresh-group w 'move)))) (define (tabbartotop) "Move tab-bar to top."
Attachment:
signature.asc
Description: PGP signature
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |