Commit graph

90 commits

Author SHA1 Message Date
Matthias Ettrich
900e2e6c0b Use the new windowmanager interaction API
svn path=/trunk/kdebase/kwin/; revision=52623
2000-06-08 17:05:51 +00:00
Bill Soudan
9b9570699b added start-on-proper-desktop support, as well as fixing a few buglets in
kwin that this exposed.

svn path=/trunk/kdebase/kwin/; revision=52536
2000-06-08 01:33:53 +00:00
David Faure
254997fae5 Still reading my stupid log msgs ? :/
svn path=/trunk/kdebase/kwin/; revision=52370
2000-06-06 19:44:21 +00:00
Stephan Kulow
a1494ddee7 let kDebug2kdDebug run over kdebase after making it clever enough not to
commit everything.
Removed a cerr debugging in ldap - looks familiar mhk ;)

svn path=/trunk/kdebase/kcontrol/; revision=52323
2000-06-06 14:29:58 +00:00
Waldo Bastian
dc5bf6c01c WABA: Don't allow change of focus while resizing / moving.
This prevents a lot of stupid focus changes when you move a window
around with focusFollowsMouse.
(mouse moves -> focus changes -> window moves -> focus changes back)

svn path=/trunk/kdebase/kwin/; revision=51574
2000-06-02 00:20:41 +00:00
Waldo Bastian
b42ee22030 WABA: Focus fixes.
svn path=/trunk/kdebase/kwin/; revision=51431
2000-06-01 05:32:06 +00:00
Waldo Bastian
87855e5816 WABA: Reverted last patch, another attempt:
* Alt-MouseClick on the titlebar now does the same as what it does on
the window itself.

svn path=/trunk/kdebase/kwin/; revision=51396
2000-05-31 22:26:28 +00:00
Waldo Bastian
d914752cac WABA: Activate client on mouse-release...
You can now move a window without activating it
let's see how many people will get upset about this >:-)

svn path=/trunk/kdebase/kwin/; revision=51361
2000-05-31 19:13:14 +00:00
Waldo Bastian
81b4d60d87 WABA: Make sure not to move a window completly off the screen. (BR 2916)
svn path=/trunk/kdebase/kwin/; revision=50830
2000-05-27 01:56:08 +00:00
Matthias Ettrich
c0d337d352 cleanups: less debug output, less flicker, less confusing code
svn path=/trunk/kdebase/kwin/; revision=50775
2000-05-26 13:54:50 +00:00
Waldo Bastian
7c426bc687 WABA: If we set "may not move" we mean it! No cheating via Alt-F3!
svn path=/trunk/kdebase/kwin/; revision=50046
2000-05-20 07:54:11 +00:00
Kurt Granroth
7853d20753 Added support for Ctrl+Alt+Esc to kill a window. I basically just cut-n-
pasted everything from kwm.  It works.

However, I don't know if this fits the new design or not.  Maybe some
of the functions are accomplished elsewhere?  I think Matthias needs
to take a look at this...

But like I said, it does work :-)

svn path=/trunk/kdebase/kwin/; revision=49849
2000-05-17 23:02:42 +00:00
Rik Hemsley
b5b443c5d2 Reorganised updateAvoidPolicy(), converted 2-spaces to a tab and checked
it doesn't wrap when tabs are at 8, for ettrich

svn path=/trunk/kdebase/kwin/; revision=49388
2000-05-14 03:27:07 +00:00
Rik Hemsley
baa151afb3 Many fixes to RISC OS client. Still needs major work to be perfect.
Changed spaces to tab for ettrich in client.cpp ;)
Changed something that looked like it was trying to do manhattanLength()
so it actually does.

svn path=/trunk/kdebase/kwin/; revision=49144
2000-05-11 03:52:24 +00:00
Rik Hemsley
3ac4896a57 Turned layout()->activate() into a new virtual function, 'activateLayout()',
which is called at the same places.

Mosfet: This is necessary because we are converting to not use QLayout
in clients. Without this, you can't get the right size for your windows.
Just implement it in your client and do your layout in it (surprise, eh ?)

svn path=/trunk/kdebase/kwin/; revision=49143
2000-05-11 03:31:54 +00:00
Rik Hemsley
1f13ef7c35 Argh ! Check return values of functions like QWidget::layout() !
Took me ages to figure out why riscosstyle crashed :(

svn path=/trunk/kdebase/kwin/; revision=49137
2000-05-10 23:44:29 +00:00
Matthias Ettrich
9c4e19ee40 removed the timerbased resize stuff again and did the real fix.
Should work fine with Qt-2.1, please test.

svn path=/trunk/kdebase/kwin/; revision=48970
2000-05-09 10:13:48 +00:00
Matthias Ettrich
eb9d29938b NEVER call XInternAtom in an application like kwin that provides
a nifty interface for XInternAtom_s_. Have a look at atoms.cpp

svn path=/trunk/kdebase/kwin/; revision=48914
2000-05-08 21:22:57 +00:00
Matthias Ettrich
27f0e99920 indentation (grmbll....) and removed weird notification feature.
There's no need to inform a taskbar twice that a window appeared!

svn path=/trunk/kdebase/kwin/; revision=48910
2000-05-08 21:12:49 +00:00
Espen Sand
efdafdc528 A modification to the resize handling. Not sure if it really
is any better but with khexedit it feels so. kwm still beats
it though :(

svn path=/trunk/kdebase/kwin/; revision=48903
2000-05-08 20:22:10 +00:00
Matthias Ettrich
e36274fecf removed debug output
svn path=/trunk/kdebase/kwin/; revision=48892
2000-05-08 19:39:28 +00:00
Matthias Ettrich
f2bb598e46 implemented raise/lower
svn path=/trunk/kdebase/kwin/; revision=48888
2000-05-08 19:37:54 +00:00
Matthias Ettrich
0b154e4b7c slow down resize with a timer
svn path=/trunk/kdebase/kwin/; revision=48784
2000-05-07 23:10:21 +00:00
Matthias Ettrich
6a36c54a7f Kwin raises the following sound events via KNotifyClient:
"Window Close"
	 "Window Iconify"
                  "Window DeIconify"
                  "Window Maximize"
                  "Window UnMaximize"
                  "Window Sticky"
                  "Window UnSticky"
                  "Window New"
                  "Window Delete"
                  "Window Trans New"
                  "Window Trans Delete"
                  "Window Shade Up"
                  "Window Shade Down"
                  "Window Move Start"
                  "Window Move End"
                  "Window Resize Start"
                  "Window Resize End"

svn path=/trunk/kdebase/kwin/; revision=48752
2000-05-07 20:38:11 +00:00
Rik Hemsley
a982506a75 Kicker is now placed _under_ the Mac menubar - it will not obscure it...
except if you press the hide buttons. That needs fixing.

svn path=/trunk/kdebase/kwin/; revision=48570
2000-05-06 18:59:43 +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
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
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
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
66b2a8645f App-starting notification support
svn path=/trunk/kdebase/kwin/; revision=46005
2000-04-08 19:35:52 +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
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
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
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
Matthias Ettrich
0383f22204 cleanups
svn path=/trunk/kdebase/kwin/; revision=44297
2000-03-22 14:29:10 +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
Matthias Ettrich
98ea0a56db small fixes
svn path=/trunk/kdebase/kwin/; revision=42768
2000-03-06 19:14:20 +00:00
Matthias Ettrich
c772a8e8a2 new transients as well
svn path=/trunk/kdebase/kwin/; revision=37997
2000-01-10 03:49:49 +00:00
Matthias Ettrich
8460a9ad3e make transients sticky when their main window becomes sticky
svn path=/trunk/kdebase/kwin/; revision=37996
2000-01-10 03:47:30 +00:00
Woohyun JANG
ba32bbdd36 using KWM::title() instead of XFetchName() to get a window's name.
svn path=/trunk/kdebase/kwin/; revision=37307
1999-12-27 09:22:19 +00:00
Cristian Tibirna
f9c7091e05 CT: Scott Lamb <slamb@oh.yeah.org> corrected the spelling of
Strickly and wanted to implement
    focus configurability. Here is the (for now) "politically correct" version.

svn path=/trunk/kdebase/kwin/; revision=37123
1999-12-22 04:49:43 +00:00
Matthias Ettrich
83bd1cc680 small fixes to resize handling with the keyboard with weird mousepointer positions
svn path=/trunk/kdebase/kwin/; revision=35958
1999-12-06 15:44:29 +00:00
Matthias Ettrich
935c0a4478 More keyboard commands such as "Window move" and "Window resize".
"Mouse emulation" (defaults to F12 currently) provides mouse emulation with
[Ctrl|Alt]-ArrowKeys.  Unfortunatly, dragging isn't (technically) possible with
X, but at least normal clicks work with Space or Return.

svn path=/trunk/kdebase/kwin/; revision=35919
1999-12-06 00:43:55 +00:00
Matthias Ettrich
64acd7375d implemented preliminary WM_CONTEXT_HELP protocol. In combination with tomorrow's
Qt snapshot, you will see lovely question marks in the titlebar of dialogs that
invoke What's This help.

svn path=/trunk/kdebase/kwin/; revision=35618
1999-12-01 22:09:32 +00:00