Commit graph

19763 commits

Author SHA1 Message Date
Rik Hemsley
330ea804b2 Preliminary support for avoiding covering clients such as kicker
which want to be permanently visible.

I've used an XAtom called '_NET_AVOID_SPEC'. This of course can change
if need be. I think it's correct according to the wm spec, but the
wm spec seems to be empty on gnome.org, so who knows.

Windows can choose to be avoided by setting an XTextProperty
with one value, which can be either 'N', 'S', 'E', or 'W', according
to which screen edge they are anchored to.

kwin then sets its 'clientArea' rect appropriately, so that (in
  theory at least) clients will not enter this area in some circumstances,
such as when being mapped for the first time.

You can see that this actually works if you start lots of konsoles. They
don't appear over the panel. I don't know what happens if you move the
panel, but I presume things will be screwed up, because I haven't
looked at that yet.

If you maximise a window, it'll still fill the screen, because the
implementation of maximise in kwin/client.cpp doesn't take account
of the workspace's clientArea rect. This is easy to fix, but I've
been awake for too long, so I'll do it after 42 winks.

svn path=/trunk/kdebase/kwin/; revision=46772
2000-04-16 09:06:03 +00:00
Rik Hemsley
1f394879df Colour change
svn path=/trunk/kdebase/kwin/; revision=46770
2000-04-16 08:56:32 +00:00
Boris Wedl
06dc47b2da reduce flicker when dragging the titlebar
svn path=/trunk/kdebase/kwin/; revision=46450
2000-04-12 17:00:56 +00:00
Rik Hemsley
6f2db8d4c7 Code from Utils.* moved into Static.*
Removed link testing and debug flags from Makefile.am

Some magic to give a nice 3D look even when specified background colour
is dark (looks good with NeXT colour scheme now).

BTW, what's the point in translating 'RISC OS' ? It's a brand name,
like IBM.

svn path=/trunk/kdebase/kwin/; revision=46360
2000-04-12 00:13:14 +00:00
Rik Hemsley
84e0076486 Noted mouse bindings for resize bar handles.
svn path=/trunk/kdebase/kwin/; revision=46234
2000-04-10 17:22:01 +00:00
Rik Hemsley
7d7e9df7fc * Removed all pixmaps. All drawing is now done with code.
* Implemented colour scheme support, including antialising of symbols
  and coloured edges to 3d items.

* Increased speed and reduced memory usage.

* Implemented raising when button-down on resize bar, unless you use
  the middle/right buttons, in which case you can resize without raising.

svn path=/trunk/kdebase/kwin/; revision=46233
2000-04-10 17:18:21 +00:00
Daniel M. Duley
35b5af4a87 Fixes for buffering and when there is a bg widget pixmap.
svn path=/trunk/kdebase/kwin/; revision=46034
2000-04-08 23:40:56 +00:00
Rik Hemsley
d0217a52cd Corrected some config strings. s/Full//
svn path=/trunk/kdebase/kwin/; revision=46006
2000-04-08 19:36:24 +00:00
Rik Hemsley
66b2a8645f App-starting notification support
svn path=/trunk/kdebase/kwin/; revision=46005
2000-04-08 19:35:52 +00:00
Kurt Granroth
281b293440 Hack to get the kdesktop mac menu sticky since KWin::setSticky doesn't exist
and KWM::setSticky doesn't work.

svn path=/trunk/kdebase/kwin/; revision=46004
2000-04-08 18:45:20 +00:00
Matthias Ettrich
6d299fc9a4 support for the MOTIF noBorder hint
svn path=/trunk/kdebase/kwin/; revision=45820
2000-04-06 18:29:04 +00:00
Daniel M. Duley
6a5046ebb6 Smaller spaced bevels
svn path=/trunk/kdebase/kwin/; revision=45492
2000-04-03 06:03:59 +00:00
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