Commit graph

3001 commits

Author SHA1 Message Date
Daniel M. Duley
7ba2cf2d87 Big ole speed improvement :)
First off, Rikkus was right about double buffering. I really didn't think this
was needed and tried everything to get rid of the flicker but it didn't happen
until I double buffered the title. I was able to optimize this quite a bit
(only recalc on resize, only buffer the active title/color scheme, etc...).

In the meantime, I got rid of a lot of non-optimal painting and now use
NoBackground for the widget. The latter was a obvious move as it avoids a whole
clearing of the widget :P This resulted in a big speed improvement, which helps
offset the time taken in buffering ;-)

svn path=/trunk/kdebase/kwin/; revision=45264
2000-04-01 01:18:12 +00:00
Daniel M. Duley
8e6fb39db3 Much, much faster. This used to be mostly KWM's theme code hacked into a KWin
client, which used matrixes and QPainter drawPixmap stuff. Now all that is
gone and it's almost entirely bitBlts.

Still buggy tho, so I'm keeping it disabled for now - but now it's
fast and buggy so I guess that should count for something ;-)

svn path=/trunk/kdebase/kwin/; revision=45235
2000-03-31 19:10:22 +00:00
Daniel M. Duley
dde9cbced3 Adding Mike's patch. See post on kde-devel for more info.
svn path=/trunk/kdebase/kwin/; revision=45191
2000-03-30 23:05:30 +00:00
Rik Hemsley
15b9b5a736 Removed warnings when not compiling with -Wno-unused
svn path=/trunk/kdebase/kwin/; revision=45186
2000-03-30 22:07:31 +00:00
Rik Hemsley
ae5a4da15b Added note about titlebar mouse bindings
svn path=/trunk/kdebase/kwin/; revision=45179
2000-03-30 20:42:55 +00:00
Daniel M. Duley
ede286ad22 Speling fixe ;-)
svn path=/trunk/kdebase/kwin/; revision=45133
2000-03-30 10:34:16 +00:00
Daniel M. Duley
5aad79903d Figured I better set some guidelines now ;-)
For inclusion in CVS you must:

a) Follow the user color settings. This means no normal pixmaps, which when
used in a dedicated KWin style allow no configuration at all (you can't
override the pixmaps and you can't follow the color scheme). KWM themes
are for that, at least then everything is configurable. It makes no sense to
just make pixmaps then bitblt them, since it is way less functional than KWM
themes.

If you want to draw decorations first you can use kpixmap2bitmap in kdegraphics
to separate the shades and then kColorBitmaps in kdrawutil.h to draw it using
a colorgroup from the options class.

b) You must follow at least the color settings from the user Options class.

svn path=/trunk/kdebase/kwin/; revision=45132
2000-03-30 10:09:26 +00:00
Rik Hemsley
7dd5c805e4 Now the line of the title pixmap fade out and disappear as they
approach and pass under the text. Makes the text much clearer and
looks nice too.

svn path=/trunk/kdebase/kwin/; revision=45113
2000-03-30 01:34:18 +00:00
Rik Hemsley
e81a5b7317 Now active titlebar is black, NeXT-style. Very good contrast ! :)
svn path=/trunk/kdebase/kwin/; revision=45107
2000-03-30 00:43:51 +00:00
Rik Hemsley
53c778c728 These have been renamed for consistency.
svn path=/trunk/kdebase/kwin/; revision=45100
2000-03-29 23:32:37 +00:00
Rik Hemsley
0e4b07d820 Changed titlebar pixmap to something very subtle.
Screenshot at http://www.geoid.clara.net/riscos.png

Next thing to do is to remove the lines of the title pixmap where
they pass under the text, fading them out as they approach the text.
I'd also like higher contrast between active and inactive, so the
active title might turn black (I'm a NeXT addict)

svn path=/trunk/kdebase/kwin/; revision=45099
2000-03-29 23:31:22 +00:00
Rik Hemsley
1a1c3254e5 New, nicer pixmaps for buttons and titlebar.
Use static pointers to QPixmaps to save memory now, as I should have
done before.

svn path=/trunk/kdebase/kwin/; revision=45067
2000-03-29 17:07:43 +00:00
Matthias Ettrich
5a7b9ed8aa remove some passive grab combinations on active windows. Helps GIMP, TK and Co.
svn path=/trunk/kdebase/kwin/; revision=45057
2000-03-29 14:53:25 +00:00
Rik Hemsley
126ef189bd Fixed vertical-only resize
svn path=/trunk/kdebase/kwin/; revision=45009
2000-03-28 23:05:06 +00:00
Rik Hemsley
b91600e944 Redrawn pixmaps to avoid getting sued ;) I like my versions better
anyway, and they use the KDE locolor palette, so that's even better  :)

svn path=/trunk/kdebase/kwin/; revision=45005
2000-03-28 22:29:55 +00:00
Rik Hemsley
40d186a13f Ignore, and compile
svn path=/trunk/kdebase/kwin/; revision=45002
2000-03-28 21:34:51 +00:00
Rik Hemsley
ca8293aa21 This theme emulates the look and feel of the RISC OS 'window manager'.
svn path=/trunk/kdebase/kwin/; revision=45001
2000-03-28 21:34:23 +00:00
Daniel M. Duley
9e709f2784 Frame for the titlebar. I originally left this out to leave more room for
the text when using tiny titlebars but it looks like crap without it ;-)

BTW, is this style working well for laptop people?

svn path=/trunk/kdebase/kwin/; revision=44853
2000-03-27 09:43:24 +00:00
Daniel M. Duley
1079007ceb Thinking about what Cristian said and how it's going to be difficult to
satisfy both laptop users who want large buttons and those who have low
resolution and want small bars. So I made it configurable :)

You can now set the titlebar height anywhere from 14 to 32 pixels, which also
changes the button size:

You currently need to edit ~/.kde/share/config/kwinrc and set:

[Laptop]
TitleHeight=Some number between 14-32.

Then restart KWin (it's not in the options class yet). The default is still
a small titlebar.

Here's the shot I put up before with the default small titlebar:
http://www.mosfet.org/kwinlaptop.gif

Here's one with a larger titlebar (21 pixels):
http://www.mosfet.org/laptop-bigtitlebar.gif

svn path=/trunk/kdebase/kwin/; revision=44755
2000-03-26 13:42:16 +00:00
Daniel M. Duley
954f25c36e Less useless space between buttons.
svn path=/trunk/kdebase/kwin/; revision=44709
2000-03-25 23:14:21 +00:00
Daniel M. Duley
955ff1947a Reduced titlebar size by 2 pixels ;-)
svn path=/trunk/kdebase/kwin/; revision=44705
2000-03-25 22:23:09 +00:00
Daniel M. Duley
35cbd1ea19 No need for mouse tracking.
svn path=/trunk/kdebase/kwin/; revision=44704
2000-03-25 22:19:57 +00:00
Daniel M. Duley
ff6cb2d276 More layout stuff.
svn path=/trunk/kdebase/kwin/; revision=44699
2000-03-25 21:41:18 +00:00
Daniel M. Duley
0c77d7383e Trying to make the titlebar buttons easier to hit on laptops by increasing the
width. The issue here is I want to make the buttons as wide as possible for
laptop mice without having the titlebar be all buttons and no title ;-) My
solution so far is making the common buttons bigger and the uncommon ones
smaller. It's not consistent but let's me make the areas frequently hit
wide as hell, which is good for a laptop :) Close, iconify, and maximize are
larger - sticky and help are smaller.

Another updated shot is at:
http://www.mosfet.org/kwinlaptop.gif

svn path=/trunk/kdebase/kwin/; revision=44698
2000-03-25 21:37:49 +00:00
Simon Hausmann
677ddb6213 - hehe, tmake in coolo's CVS? ;-)
svn path=/trunk/kdebase/kwin/; revision=44692
2000-03-25 20:52:43 +00:00
Daniel M. Duley
8b658a240f Removing the Be style, as it's incomplete and is replaced by B2 now. Was useful
tho as it was the first example of a shaped style :)

svn path=/trunk/kdebase/kwin/; revision=44657
2000-03-25 16:51:32 +00:00
Daniel M. Duley
ef5094b21a New KWin look-and-feel plugin specifically coded for laptops :)
It features a reduced height taskbar with oversized width buttons (I may make
these even wider to make them easier to hit), a minimal frame, and a
oversized shaped resize handle. Uses the system KWin style buttons, not just
because I like them but because they fit in the reduced size bar ;-)

As usual, here's a screenshot:
http://www.mosfet.org/kwinlaptop.gif

On another note, the Be style is going away and is now replaced by B2. Be
needs work so I asked Matthias Ettrich about it (he's the maintainer of that
style), and it turns out he's already using B2 :)

svn path=/trunk/kdebase/kwin/; revision=44656
2000-03-25 16:49:12 +00:00
Matthias Ettrich
b57453a363 inform modules about initial desktop placement
svn path=/trunk/kdebase/kwin/; revision=44625
2000-03-25 14:14:34 +00:00
Matthias Ettrich
00d9588ccc added phase2 workaround for broken qt-2.1 beta3
svn path=/trunk/kdebase/kwin/; revision=44620
2000-03-25 13:46:01 +00:00
Matthias Ettrich
b49151074f Session management for KDE-2.x : say hello to the ksmserver
svn path=/trunk/kdebase/kwin/; revision=44552
2000-03-24 22:23:02 +00:00
Matthias Ettrich
12f591923c do not change window placement on style changes
svn path=/trunk/kdebase/kwin/; revision=44451
2000-03-24 09:42:23 +00:00
Matthias Ettrich
a637bea8e4 small fix for Reggie's ultrafast machine
svn path=/trunk/kdebase/kwin/; revision=44448
2000-03-24 09:32:16 +00:00
Matthias Ettrich
9926eb384a small fixes
svn path=/trunk/kdebase/kwin/; revision=44444
2000-03-24 09:11:37 +00:00
Daniel M. Duley
8724699214 This I have had sitting on my HD for awhile, an ultra cool KWin style to go with the B2 widget style :)
It uses Be-like shaped titlebars, KDE standard buttons, has a shaped resize
handle, and automatically detects if you are on a highcolor display and if so
uses gradients based off the current color scheme. BTW, the buttons don't
necessarily match the titlebar but use the button foreground setting in KDE's
display settings so you can change them to whatever you like.

If no one objects I'll probably disable the old Be style. Unlike this style it
uses Be-like buttons but the drawing isn't very fancy and Be's two buttons are
a big restriction in KDE.

You can see a screenshot at:
http://www.mosfet.org/b2kwin.gif

svn path=/trunk/kdebase/kwin/; revision=44420
2000-03-24 00:22:35 +00:00
Matthias Ettrich
0383f22204 cleanups
svn path=/trunk/kdebase/kwin/; revision=44297
2000-03-22 14:29:10 +00:00
Matthias Ettrich
7375cc7a17 faster abort when another window manager is running
svn path=/trunk/kdebase/kwin/; revision=44291
2000-03-22 12:36:07 +00:00
Matthias Ettrich
0df9f29ccd help toolkits to figure out the frame geometry when receiving reparentNotify
svn path=/trunk/kdebase/kwin/; revision=44288
2000-03-22 11:47:10 +00:00
Matthias Ettrich
0bb1975556 performance
svn path=/trunk/kdebase/kwin/; revision=44279
2000-03-22 10:06:37 +00:00
Matthias Ettrich
c2b5722a6b small optimizations
svn path=/trunk/kdebase/kwin/; revision=44233
2000-03-21 20:02:27 +00:00
Navindra Umanee
bff6c83557 reversed last patch. :)
svn path=/trunk/kdebase/kwin/; revision=44120
2000-03-20 13:50:27 +00:00
Navindra Umanee
3b4f6b0ef8 The so-called KWM style deviated rather disturbingly from the
original.  This is my attempt at making it more kosher.  As a bonus,
the title font is also vertically centered.

Unfortunately, the titlebar is still missing a line at the very top,
so the buttons are still not flush with it.  I hope someone can fix
it!

svn path=/trunk/kdebase/kwin/; revision=44093
2000-03-20 05:14:40 +00:00
Daniel M. Duley
06a809e7ac Screwing around with the titlebar layout a little. Windows can now be resized
smaller than the sizeHint of the bar.

Repainting is also messed up with all the clients it seems... dunno how that
happened :P

svn path=/trunk/kdebase/kwin/; revision=43873
2000-03-18 12:35:05 +00:00
Kurt Granroth
2b0fb2434f use KGlobal::menuFont()
svn path=/trunk/kdebase/kwin/; revision=43693
2000-03-16 19:37:37 +00:00
Kurt Granroth
bad0fc821a Added separator in workspace list
svn path=/trunk/kdebase/kwin/; revision=43207
2000-03-12 06:18:14 +00:00
Matthias Ettrich
98ea0a56db small fixes
svn path=/trunk/kdebase/kwin/; revision=42768
2000-03-06 19:14:20 +00:00
Waldo Bastian
c19c5935bf WABA: Build kwin as a kdeinit module.
svn path=/trunk/kdebase/kwin/; revision=41646
2000-02-24 14:46:31 +00:00
Stephan Kulow
34117fb345 CVS_SILENT simplifying make messages
svn path=/trunk/kdebase/kcontrol/; revision=40569
2000-02-12 17:07:24 +00:00
David Faure
ee87d173ec Name the interface object - I can logout !
svn path=/trunk/kdebase/kwin/; revision=40512
2000-02-12 01:00:30 +00:00
Christopher Molnar
54be0a25d9 CJM - fixed pid problem in main --->register kwin
svn path=/trunk/kdebase/kwin/; revision=40510
2000-02-12 00:55:36 +00:00
Christopher Molnar
5e28e27b2c added kwiniface iface in main for logout
svn path=/trunk/kdebase/kwin/; revision=40509
2000-02-12 00:50:53 +00:00