From kwin Thu Mar 21 21:33:57 2013 From: =?utf-8?q?Thomas_L=C3=BCbking?= Date: Thu, 21 Mar 2013 21:33:57 +0000 To: kwin Subject: Re: Review Request 103948: Remove "Display borders on maximized windows" Message-Id: <20130321213357.17030.62130 () vidsolbach ! de> X-MARC-Message: https://marc.info/?l=kwin&m=136390165426751 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--===============6994399016085060430==" --===============6994399016085060430== Content-Type: multipart/alternative; boundary="===============6226113677314587390==" --===============6226113677314587390== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103948/ ----------------------------------------------------------- (Updated March 21, 2013, 9:33 p.m.) Review request for kwin, Martin Gräßlin and Hugo Pereira Da Costa. Changes ------- Add an old bug - it's imo sufficiently covered because moving onedimensionally maximized windows will behave like moving maximized ones (ie. more difficult, but not impossible) Description ------- Actually the only thing the patch does not is what's stated in the summary ;-) - The setting is ignored, the decoration always gets a "true" for it - moving a maximized window requires breaking a "strong" snap (1/16 of screen height - unless you use quick maximization) - all snapping is done towards the client, not the frame - QuickTileMode is exported to the decoration (just as the maximizeMode) so that it can fix the bordersize alongside that. (I've a sample implementation in local Bespin as inspiration for other decos) Ratio: It's simply not possible to perform the specialstate snapping in the core. Either the decoration gets clipped, but that also clips titlebar buttons -> fail Or the decoration gets resized "under the hood" (ie. we override border_* after obtaining it) but that has bad visual impact on decorations like plastik (where the client visually overflows the border, it clearly looks like the client is patched onto the deco) -> fail -> the deco is informed about those special states and can drop some of its borders or not. Should be no major problem for oxygen (since it blends into clients anyway) but i've not checked how to make use of that in aurorae (or even its client code) This addresses bugs 91703 and 299245. http://bugs.kde.org/show_bug.cgi?id=91703 http://bugs.kde.org/show_bug.cgi?id=299245 Diffs ----- kwin/workspace.h e033ac9 kwin/libkdecorations/kdecoration_p.cpp 5b54369 kwin/libkdecorations/kdecorationbridge.h 2cb36c9 kwin/libkwineffects/kwinglobals.h dba4324 kwin/kcmkwin/kwindecoration/preview.cpp 94aacba kwin/libkdecorations/kdecoration.h 2c20767 kwin/libkdecorations/kdecoration.cpp 7ccbdb6 kwin/libkdecorations/kdecoration_p.h 71833cd kwin/bridge.h 35efc90 kwin/bridge.cpp 31d285e kwin/client.h 0c9d1d2 kwin/client.cpp f2338d4 kwin/geometry.cpp 372a4c8 kwin/kcmkwin/kwindecoration/preview.h 420e302 Diff: http://git.reviewboard.kde.org/r/103948/diff/ Testing ------- With the (still local) changes to bespin I get nice partial clipping for quicktiled (or partially maximized) windows. Helped me to clean up some bespin deco code as well =) Thanks, Thomas Lübking --===============6226113677314587390== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit
This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103948/

Review request for kwin, Martin Gräßlin and Hugo Pereira Da Costa.
By Thomas Lübking.

Updated March 21, 2013, 9:33 p.m.

Changes

Add an old bug - it's imo sufficiently covered because moving onedimensionally maximized windows will behave like moving maximized ones (ie. more difficult, but not impossible)

Description

Actually the only thing the patch does not is what's stated in the summary ;-)

- The setting is ignored, the decoration always gets a "true" for it
- moving a maximized window requires breaking a "strong" snap (1/16 of screen height - unless you use quick maximization)
- all snapping is done towards the client, not the frame
- QuickTileMode is exported to the decoration (just as the maximizeMode) so that it can fix the bordersize alongside that. (I've a sample implementation in local Bespin as inspiration for other decos)

  Ratio:
It's simply not possible to perform the specialstate snapping in the core.
Either the decoration gets clipped, but that also clips titlebar buttons -> fail
Or the decoration gets resized "under the hood" (ie. we override border_* after obtaining it) but that has bad visual impact on decorations like plastik (where the client visually overflows the border, it clearly looks like the client is patched onto the deco) -> fail

-> the deco is informed about those special states and can drop some of its borders or not.
Should be no major problem for oxygen (since it blends into clients anyway) but i've not checked how to make use of that in aurorae (or even its client code)

Testing

With the (still local) changes to bespin I get nice partial clipping for quicktiled (or partially maximized) windows.
Helped me to clean up some bespin deco code as well =)
Bugs: 91703, 299245

Diffs

  • kwin/workspace.h (e033ac9)
  • kwin/libkdecorations/kdecoration_p.cpp (5b54369)
  • kwin/libkdecorations/kdecorationbridge.h (2cb36c9)
  • kwin/libkwineffects/kwinglobals.h (dba4324)
  • kwin/kcmkwin/kwindecoration/preview.cpp (94aacba)
  • kwin/libkdecorations/kdecoration.h (2c20767)
  • kwin/libkdecorations/kdecoration.cpp (7ccbdb6)
  • kwin/libkdecorations/kdecoration_p.h (71833cd)
  • kwin/bridge.h (35efc90)
  • kwin/bridge.cpp (31d285e)
  • kwin/client.h (0c9d1d2)
  • kwin/client.cpp (f2338d4)
  • kwin/geometry.cpp (372a4c8)
  • kwin/kcmkwin/kwindecoration/preview.h (420e302)

View Diff

--===============6226113677314587390==-- --===============6994399016085060430== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ kwin mailing list kwin@kde.org https://mail.kde.org/mailman/listinfo/kwin --===============6994399016085060430==--