[Kwin] Option for large window borders

Gunnar Schmi Dt gunnar at schmi-dt.de
Thu Sep 18 11:05:43 BST 2003


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

On Wednesday 17 September 2003 18:57, Lubos Lunak wrote:
> On Wednesday 17 of September 2003 11:09, Gunnar Schmi Dt wrote:
> > [...]
> > If normal borders are 3 pixels wide and the size grows by 50 % for each
> > larger value (which is a maximum growth if we do not want to have gaps in
> > the sizes), then the border sizes would correspond to 2, 3, 4, 6, and 9.
> > If we allow bigger gaps then they could be 2, 3, 7, 11, and 15.
> > Unfortunately, for accessibility we need even wider borders than that.
> > [...]
>  I don't see a reason for not having gaps in the sizes. Does it really make
> sense to have all 2,3,4,6 sizes? Not that I really care - I can add more
> sizes if needed - it will be up to the decorations how many sizes they'll
> support.
>
Well, maybe for small sizes the rule for a maximum growth of 50 % doesn't 
necessarily apply. However for large borders (more than 10 pixels) it is 
necessary.

> > In that sense I want to suggest the following changes to the API:
> >
> > 1. Add the options BorderVeryHuge and BorderOversized.
> >
> > 2. Place a recommendation for the pixel width for the different sizes:
> > BorderTiny = 2-3 pixels
> > BorderNormal = 3-5 pixels
> > BorderLarge = 5-8 pixels
> > BorderVeryLarge = 8-12 pixels
> > BorderHuge = 12-18 pixels
> > BorderVeryHuge = 18-27 pixels
> > BorderOversized = 27-40 pixels
>
>  No problem with this, I can add it.
>
> > 3. Add a virtual method which returns one of three values to the API:
> > BorderFixedSize -- the decoration cannot be resized (default)
> > BorderLargeSize -- the border supports the values between tiny and very
> > large
> > BorderHugeSize -- the border supports all values
>
>  I don't think this is the right way. I'd say that many styles (especially
> the pixmap ones) will at most support 2-3 sizes, if at all (let's ignore
> the fact that many styles won't possibly bother with this at all). Scaling
> down pixmaps will probably make them look ugly, unless scaling by a
> multiple. Shaping window corners for variable sizes won't be easy as well.
>
Well, I thought it might be good if the user can actually see from the user 
interface which sizes are supported.  

>  Moreover, if you change the style, you'll often have to adjust this
> setting anyway, and if you don't, styles may get sizes they don't support.
>
>  I think we can just have some kind of StyleSupportsBorderSizesAtAll, and
> maybe StyleHasGoodSupportForBorders (4-7). Styles that don't support full
> range of sizes should simply group them as they see fit(e.g.
> Tiny+Normal->Normal, Large->Large, others->VeryLarge). The KCM module would
> say that the style doesn't support all the sizes.
>
I do not fully understand what you mean in that paragraph. If I understand it 
correctly you want to add two virtual methods. The first one 
(StyleSupportsBorderSizesAtAll) returns true if the style supports the border 
size setting, the other one (StyleHasGoodSupportForBorders) returns true if 
the style supports huge borders? In that case the name for the second method 
is somewhat misleading.

Maybe we could instead add a virtual method supportedBorderSizes(), that 
returns a set of all supported border styles? In that case the GUI should not 
contain a slider for the border sizes but a combo box instead.

Gunnar Schmi Dt

> > 4. Add some possibility for specifying the border width to the window
> > decoration KCM. This could either be a combo box or a slider. (If we use
> > a slider, it should have the labels "Normal", "Large", and (if the
> > decoration supports huge borders) "Huge".
> >
> > I can add these changes the CVS if they are accepted. However, I have an
> > exam on Monday, so I will implement the large (or huge) border feature
> > next week (so that it is ready by the 29th).
> >
> > Gunnar Schmi Dt
> >
> > P.S.:
> > I intentially wrote to the kwin list and cc'd to the core-devel and
> > accessibility lists, so please make sure you don't forget these ccs in
> > your replies.

- -- 
Co-maintainer of the KDE Accessibility Project
Maintainer of the kdeaccessibility package
http://accessibility.kde.org/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE/aYOEsxZ93p+gHn4RAjwVAKCrx0UJPiub9DJFN7a1uqxgv75Q+wCbBTEE
NJmiCSyyH3EUiDWZtmwwPT4=
=ufRq
-----END PGP SIGNATURE-----



More information about the kde-core-devel mailing list