Commit graph

25245 commits

Author SHA1 Message Date
Rik Hemsley
7666caed0a Fixed KWinInterface.h (thanks Simon for the temporary fix :)
Reverted the moving of inline functions in workspace.*

svn path=/trunk/kdebase/kwin/; revision=48479
2000-05-05 18:53:37 +00:00
Simon Hausmann
6af14b4440 - adding empty KWinInterface.h to make kdebase/kwin compile
(rikkus will have to fill it in later ;-)

svn path=/trunk/kdebase/kwin/; revision=48413
2000-05-05 10:05:12 +00:00
Rik Hemsley
297651e2c3 Understand more about edge-based clients and act appropriately, passing
info along to kdesktop too.

This is funky now :)

svn path=/trunk/kdebase/kwin/; revision=48377
2000-05-04 23:12:29 +00:00
Michael Matz
d19c42bd26 fix for captionChange with long title
svn path=/trunk/kdebase/kwin/; revision=48358
2000-05-04 20:54:08 +00:00
Michael Matz
c142c3ff4a lowerClient now takes two parameters (an additional 'bool dropFocus=true')
if true (default), the lowered client looses focus, and the top of
stacking order gets it. Something is not working if one lowers many
windows one after another... investigating

svn path=/trunk/kdebase/kwin/; revision=48229
2000-05-03 12:57:37 +00:00
Michael Matz
b3f88eb796 implemented lowerClient(), connected middle-Click to it.
Note that it leaves the focus where it was, which may seem strange if the
to be lowered window becomes fully obscured, but to change focus would be
the purpose of the calling function. To be discussed.

svn path=/trunk/kdebase/kwin/; revision=48202
2000-05-03 06:30:37 +00:00
Michael Matz
732c7d78bd Big B2/KWin change:
* title bar now tries to avoid to become completely obscured by other windows ;)
* moving of title bar flicker free (at least on my machine)
* all repaint problems fixed (those I knew of course), even the one on resize
* mousePosition (those arrowed cursors) now complete

svn path=/trunk/kdebase/kwin/; revision=48189
2000-05-03 00:04:26 +00:00
Daniel M. Duley
2021961a07 Fix repainting the handle when shaded.
svn path=/trunk/kdebase/kwin/; revision=47777
2000-04-28 22:00:06 +00:00
Daniel M. Duley
360e0b7686 Lowcolor version.
svn path=/trunk/kdebase/kwin/; revision=47775
2000-04-28 21:47:01 +00:00
Daniel M. Duley
0527ea967c Repaint the frame after color scheme changes.
svn path=/trunk/kdebase/kwin/; revision=47761
2000-04-28 16:40:30 +00:00
Daniel M. Duley
087cfbcbee Repaint the frame after a color scheme change.
svn path=/trunk/kdebase/kwin/; revision=47759
2000-04-28 16:32:17 +00:00
Daniel M. Duley
b58843030c Final updates for the new button color implementation. The options class
now only has one button entry, "ButtonBg", instead of 3. It's up to the client
what to do with it. All the clients are updated except mwm. As the
author noted in his README, mwm isn't Motif window manager at all but KStep ;-)
I disabled it for now until there is new drawing code in there, it would
confuse users anyways since were about to release another Krash and it is
identical to KStep.

Also, I removed the Groove and GrooveText color entries. We now use the
normal TitleBar and Font entries. Hence system will probably look funny until
you adjust the colors since it draws text on the frame and not the titlebar
bg. All the rest look much better by default.

To configure button colors set the active/inactive button background color
in KControl. I'll remove the other entries ASAP. You'll also note that the
active/inactive colors are now actually what you would expect.

svn path=/trunk/kdebase/kwin/; revision=47753
2000-04-28 15:53:00 +00:00
Daniel M. Duley
11b6ddb604 Update to new color handling and efficency improvements.
svn path=/trunk/kdebase/kwin/; revision=47733
2000-04-28 11:01:42 +00:00
Daniel M. Duley
dcf3fda8dd Updated to the new titlebar button color handling.
svn path=/trunk/kdebase/kwin/; revision=47732
2000-04-28 10:34:24 +00:00
Daniel M. Duley
a974abc657 Fixes for when active colors != inactive colors && titlebutton colors !=
frame colors.

svn path=/trunk/kdebase/kwin/; revision=47729
2000-04-28 10:10:27 +00:00
Daniel M. Duley
82316c4893 Repaing fix for when inactive != active colors.
svn path=/trunk/kdebase/kwin/; revision=47728
2000-04-28 09:56:45 +00:00
Daniel M. Duley
5fceccc02d Make it run on lowcolor displays
svn path=/trunk/kdebase/kwin/; revision=47703
2000-04-28 02:59:07 +00:00
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