Re: [Sawfish] Re: Add compton module to sawfish |
[ Thread Index | Date Index | More lists.tuxfamily.org/sawfish Archives ]
On Dienstag, 17. September 2013, 10:35:43 wrote fuchur: > Hi, > > On Mon, 16 Sep 2013 17:09:05 +0200 > > wrote Christopher Roy Bratusek <nano@xxxxxxxxxxxxx>: > >> Or your can also test this patch. I have add a check for > >> "--xinerama-shadow-crop" and you must not restart sawfish if you have a > >> version without "--xinerama-shadow-crop". > > > >I commited this one. changes: > > > >- fixed spelling in tabgroup.jl > >- only apply --xinerama-shadow-crop with choosen by defcustom and if > >choosen by user (saving one if-clause) > > > >For me, with xinerama-stuff disabled, the screen only flashes once (that is > >expected, as this means compton successfully started), not five times. > > > >Regards, > >Chris > > Here i have many flashes with --xinerama-shadow-crop enable and also > many xinerama-shadow-crop entries in ~/.xsession-errors. I remove > xinerama-shadow-crop with this patch, and add window-maximized-* > and we have the same affect as with xinerama-shadow-crop. Ok, as always ... Take this patch, add the missing hooks. -- 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 @@ -30,6 +30,7 @@ sawfish.wm.misc sawfish.wm.custom sawfish.wm.windows + sawfish.wm.state.maximize sawfish.wm.ext.match-window) (define-structure-alias compton sawfish.wm.prg.compton) @@ -89,7 +90,7 @@ :type boolean :after-set (lambda () (switch-opacity))) - (defcustom shadows-crop-xinerama nil "Crop shadows in xinerama setups (not supported by all compton versions)." + (defcustom shadows-crop-maximized nil "Crop shadows by maximized Windows (xinerama support):" :depends opacity-enable :group (appearance window-effects) :type boolean @@ -253,9 +254,6 @@ (define (zero) (if zero-mask '-z '-e1)) (define (dad) (if shadows-disable-dad '-G '-e1)) (define (smenu) (if shadows-disable-menu (concat "window_type *= 'menu'") (concat "window_type *= 'nil'"))) - (define (sxinerama) - (if (and (eq (system "compton --help |grep xinerama-shadow-crop") '0) - shadows-crop-xinerama) '--xinerama-shadow-crop '-e1 )) (define (trans) (/ (+ 0.00 translucency) 100)) (define (fade-i) (/ (+ 0.00 fade-in) 1000)) @@ -278,8 +276,7 @@ (c-menu-o (menu-o)) (c-red (red)) (c-green (green)) - (c-blue (blue)) - (c-sxinerama (sxinerama))) + (c-blue (blue))) "Start compton. If a compton process already exists, it's beeing killed." (when (program-exists-p "compton") (stop-compton) @@ -288,8 +285,8 @@ "-r" (number->string blur-radius) "-o" (format nil "%s" c-trans) "-l" (number->string left-offset) "-t" (number->string top-offset) "-I" (format nil "%s" c-fade-i) "-O" (format nil "%s" c-fade-o) "-D" (number->string fade-time) "-m" (format nil "%s" c-menu-o) "--shadow-red" (format nil "%s" c-red) "--shadow-green" (format nil "%s" c-green) - "--shadow-blue" (format nil "%s" c-blue) (format nil "%s" c-dad) (format nil "%s" c-sxinerama) "--detect-rounded-corners" - "--shadow-exclude" (concat c-smenu) "--shadow-exclude" "_COMPTON_SHADOW:32c = 0"))) + "--shadow-blue" (format nil "%s" c-blue) (format nil "%s" c-dad) "--detect-rounded-corners" "--shadow-exclude" (concat c-smenu) + "--shadow-exclude" "_COMPTON_SHADOW:32c = 0"))) (define (stop-compton) "Stop compton, if running." @@ -314,6 +311,9 @@ shadows-disable-shaped) (and (not shadows-enable)) (window-get w 'no-shadows) + (and shadows-crop-maximized + (window-maximized-vertically-p w) + (window-maximized-horizontally-p w)) (and (if shadows-main-win (and (not (eq (get-type w) '_NET_WM_WINDOW_TYPE_DIALOG)) (not (eq (get-type w) '_NET_WM_WINDOW_TYPE_NORMAL)))))) @@ -394,6 +394,10 @@ (window-opacity w) (dim-window w (get-opacity '100)))))) + (define (max-window w) + (if shadows-crop-maximized + (window-shadow w))) + (define (before-move w) (dim-window w (get-opacity opacity-by-move))) @@ -407,6 +411,8 @@ (window-opacity (car w)) (dim-window (car w) (get-opacity '100))))) + (add-hook 'window-maximized-hook (lambda (w) (if opacity-enable (max-window w)))) + (add-hook 'window-unmaximized-hook (lambda (w) (if opacity-enable (max-window w)))) (add-hook 'tab-group-windows-hook (lambda (w) (if opacity-enable (tab-release w)))) (add-hook 'after-add-window-hook (lambda (w) (if opacity-enable (window-opacity w)))) (add-hook 'shade-window-hook (lambda (w) (if opacity-enable (window-opacity w))))
Attachment:
signature.asc
Description: This is a digitally signed message part.
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |