Commit graph

25678 commits

Author SHA1 Message Date
Rik Hemsley
accc728575 Some debug info while I test avoidance of side-hugging windows
svn path=/trunk/kdebase/kwin/; revision=47701
2000-04-28 02:52:09 +00:00
Daniel M. Duley
ef63e498cc Updated drawing code. The titlebar buttons color setting is being changed from
three entries (button fg, bg, and blend) to one - button color. What exactly
to do with this is up to the individual style. This is less customizable but
a hell of a lot more coherent since the styles all draw their buttons so
differently. Right now I'm just using the button background entry. Once all
the styles are ported I'll switch to a generic button color entry.

Also I made my buttons more like other window manager styles/themes that
aim to more or less emulate platinum, but not enough to get nasty mail from
Apple ;-)

svn path=/trunk/kdebase/kwin/; revision=47697
2000-04-28 02:44:29 +00:00
Daniel M. Duley
9899f29db2 Don't install the .desktop file.
svn path=/trunk/kdebase/kwin/; revision=47627
2000-04-27 11:44:13 +00:00
Daniel M. Duley
1ca2104e79 Whoops, shouldn't of committed this yet - it's still part of my vast "new
stuff that doesn't work" codebase ;-)

svn path=/trunk/kdebase/kwin/; revision=47625
2000-04-27 11:32:57 +00:00
Daniel M. Duley
0ae123ceef Cool new Kwin C++ style engine - Modern system :) This uses buttons orignally
from the KStyle aqua theme - color reduced, converted to bitmaps, and drawn
using the color scheme. The buttons in different color schemes shows why it's
really cool to support dynamic C++ engines as well as pixmap themes ;-) Also
uses a small frame with a resize handle and mac-like (hehe - of course ;-)
drawing for everything else.

Preliminary screenshots with different color schemes are at:
http://www.mosfet.org/modern-0428.html

svn path=/trunk/kdebase/kwin/; revision=47624
2000-04-27 11:29:25 +00:00
Rik Hemsley
f65ca70e0b Fixed maximisation. Now kwin really does avoid windows which ask
to be avoided. It also updates nicely. Just move kicker from the
bottom to the left, say, and open a new window. It doesn't cover
kicker. Maximise. Still doesn't cover. Seems to work, then.

svn path=/trunk/kdebase/kwin/; revision=47602
2000-04-26 21:28:51 +00:00
Rik Hemsley
34055e684d Removed a qDebug() message. The others I've put in will go too, as
they're not necessary and are only for testing.

svn path=/trunk/kdebase/kwin/; revision=47594
2000-04-26 18:36:27 +00:00
Waldo Bastian
b33a6fa71e WABA: Grab mouse while in Alt-Tab or Control-Tab mode. This prevents a bug
which otherwise would occur when you click on the Alt-Tab-window with the
mouse. I hope I didn't break anything because this X-stuff is rather mystical.

BTW Why does KWin get so many "MotionNotify" events when you move your mouse
across certain windows?

svn path=/trunk/kdebase/kwin/; revision=47554
2000-04-26 01:45:10 +00:00
David Faure
494a879f04 grrr
svn path=/trunk/kdebase/kwin/; revision=47549
2000-04-25 23:37:33 +00:00
Daniel M. Duley
3922d1994a Reverting the no-flicker when moving titlebar patch. It doesn't repaint
properly, the whole thing needs an overhaul (I never anticipated the thing
being movable) and I want to use it now ;-)

svn path=/trunk/kdebase/kwin/; revision=47542
2000-04-25 22:44:25 +00:00
Chris Lee
d70c3af41e Adding in a personally preferred KWin style. Yet again- the first one of
its kind? Not created by Mosfet? : )

we'll see...
-Chris

svn path=/trunk/kdebase/kwin/; revision=47482
2000-04-25 01:00:31 +00:00
Charles Samuels
6f0d6ab59b whoo! Havn't typed "cvs commit" in a while :)
Anyway, this is the eventsrc for the kwin events (window shadow, minimize,
etc).  I've not connected any of the code to KWin itself because I don't
feel like damaging it :).  KConfig is broken, so foo to the kcontrol module
until someone feels like fixing it, which, most certainly, does not include
me.
I've got a teeny tiny addition to make to KNotifyClient (so to make it
start the KNotify daemon if/when needed.)

And I think "we" should patch Linux's ld.so so that it caches references
to functions.  I believe this will speed up startup times significantly.

Why am I ranting on a cvs commit off-topicly? Well. I'm aware of my weirdness.
What're you going to do about it? :)

svn path=/trunk/kdebase/kwin/; revision=47402
2000-04-24 08:13:13 +00:00
Frank Baumgart
99c4839913 --enable-final fixes
svn path=/trunk/kdebase/kwin/; revision=47102
2000-04-20 17:37:33 +00:00
Waldo Bastian
f02955dcba WABA: Make desktop, kicker and the macbar unmovable.
svn path=/trunk/kdebase/kwin/; revision=47007
2000-04-19 04:36:47 +00:00
Rik Hemsley
830909e544 Test return values, fool !
svn path=/trunk/kdebase/kwin/; revision=46870
2000-04-17 09:29:56 +00:00
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