Commit graph

951 commits

Author SHA1 Message Date
Waldo Bastian
c3d3c81d64 WABA: Keep focus with same window after switching desktops
svn path=/trunk/kdebase/kwin/; revision=51128
2000-05-30 05:52:11 +00:00
Waldo Bastian
59e4a2c8fc WABA: Try to kill the window under that is actually under the cursor.
svn path=/trunk/kdebase/kwin/; revision=51107
2000-05-29 22:38:43 +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
Kurt Granroth
795b743459 Instead of matching for Kicker, let's match for any window that starts
with kicker.  This allows us to apply kicker rules for internalapplets
that are external to Kicker (e.g., kasbar and ktaskbar)

Also converted qDebug calls to kdDebug while I was debugging

svn path=/trunk/kdebase/kwin/; revision=50597
2000-05-24 20:57:42 +00:00
Rik Hemsley
452395b559 Fixed some activation stuff. When you get down to 1 window, it's
activated. This was really annoying me :)

svn path=/trunk/kdebase/kwin/; revision=50437
2000-05-23 14:55: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
Kurt Granroth
3396c20935 Added new action: Ctrl+Alt+Del will start the logout/shutdown sequence.
Since this uses kaccel, it is (of course) configurable.

svn path=/trunk/kdebase/kwin/; revision=49834
2000-05-17 20:15:17 +00:00
Rik Hemsley
5fc7cf3f1f Implemented delayed-show for tab box. Configurable, by default off.
To set it, put this in kwinrc:
[TabBox]
ShowDelay=true
DelayTime=200 (or whatever you want, in ms)

svn path=/trunk/kdebase/kwin/; revision=49379
2000-05-14 01:58:13 +00:00
Waldo Bastian
626753571d WABA: Fixed a bug which wasted 0.2% of my effective screen size >:-)
svn path=/trunk/kdebase/kwin/; revision=49060
2000-05-10 04:36:50 +00:00
Matthias Ettrich
f2bb598e46 implemented raise/lower
svn path=/trunk/kdebase/kwin/; revision=48888
2000-05-08 19:37:54 +00:00
Rik Hemsley
d2f8cfec65 Fixed kicker getting hidden
svn path=/trunk/kdebase/kwin/; revision=48754
2000-05-07 20:40:16 +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
Dirk Mueller
7c6272e088 made it compile
svn path=/trunk/kdebase/kwin/; revision=48746
2000-05-07 20:17:33 +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
e167888fd6 Kicker now tells kwin when it's scrolled off-screen
Commented debug info

svn path=/trunk/kdebase/kwin/; revision=48544
2000-05-06 13:30:08 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Kurt Granroth
4e650b8d0f fixed typo
svn path=/trunk/kdebase/kwin/; revision=37447
1999-12-30 22:46:45 +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
Daniel M. Duley
de782ec37b Implemented plugins :) This was a huge pain in the arse because a) I am stupid
and it kept segfaulting because I wasn't releasing windows, and b) The plugins
didn't want to resolve anything in the kwin executable, only to the other
libs. I finally solved this by using -rdynamic in kwin's LDFLAGS, which I hope
is okay ;-)

svn path=/trunk/kdebase/kwin/; revision=37234
1999-12-24 01:36:47 +00:00
Stephan Kulow
caf3ce1376 let it compile with SparcWorks CC 5.0 (templates, stdlib.h, little ANSI glitches)
svn path=/trunk/kdebase/kwin/; revision=37154
1999-12-22 17:16:23 +00:00
Chris Schlaeger
7a0af99fb9 Code was generating an internal compiler error with egcs-2.91.66 on
my SuSE 6.3. Rearranging the statements fixed it.

svn path=/trunk/kdebase/kwin/; revision=37132
1999-12-22 09:46:21 +00:00
Daniel M. Duley
91cb1debe1 Small fixes.
svn path=/trunk/kdebase/kwin/; revision=37122
1999-12-22 04:09:47 +00:00
Kurt Granroth
eeca670a3d I have no clue why I thought I had fixed the floating toolbar
before... doesn't it make sense that [menu] would work for the
MENUBARS?  Yeesh... I'm not sure what I was drinking that day.

Anyway, I think I got it now.  Toolbars use [tools] (how about that!) :-)

svn path=/trunk/kdebase/kwin/; revision=37041
1999-12-21 05:54:40 +00:00
Cristian Tibirna
05f34e3f95 CT: the real fix. How the heck did this work?
svn path=/trunk/kdebase/kwin/; revision=36903
1999-12-19 03:04:39 +00:00
Cristian Tibirna
e3d3ed18d1 CT: wasn't smart placement act a bit strange? This fixes it.
svn path=/trunk/kdebase/kwin/; revision=36862
1999-12-18 20:33:54 +00:00
Daniel M. Duley
4afb1ee166 Sync the config after switching styles.
svn path=/trunk/kdebase/kwin/; revision=36090
1999-12-08 04:02:07 +00:00
Daniel M. Duley
9e10f0990c Nextstep style ;-) You can see a screenshot of this with the KStep widget
style at:

http://www.mosfet.org/next.gif

I'll be adding the color scheme used in a sec.

svn path=/trunk/kdebase/kwin/; revision=36087
1999-12-08 02:44:50 +00:00
Matthias Ettrich
167fc3df88 yet another minor focus fix ;-)
svn path=/trunk/kdebase/kwin/; revision=36075
1999-12-07 22:04:07 +00:00
Matthias Ettrich
9764a4f487 fixed a minor focus problem
svn path=/trunk/kdebase/kwin/; revision=36074
1999-12-07 21:54:52 +00:00
Kurt Granroth
126bc26fda It appears that almost nobody uses the floating toolbar as kwin hasn't
had support for it since.. well, ever.  Well, it does now.

svn path=/trunk/kdebase/kwin/; revision=35996
1999-12-07 02:18:27 +00:00
David Faure
61123bd562 Fix for RMB popup "send to desktop" when desktop number != 4
svn path=/trunk/kdebase/kwin/; revision=35971
1999-12-06 20:54:30 +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
Preston Brown
f0cdd75197 implemented desktop cascading and uncluttering.
svn path=/trunk/kdebase/kwin/; revision=35765
1999-12-03 21:08:07 +00:00
David Faure
410a80a76d oops, added group, and tried a sync() in destructor, but since we have
no proper logout...
Anyway, nice to have 6 desktops again :)

svn path=/trunk/kdebase/kwin/; revision=35756
1999-12-03 19:04:03 +00:00
David Faure
0274e04914 Read number of desktops from kwinrc - a first step towards configurability
svn path=/trunk/kdebase/kwin/; revision=35755
1999-12-03 18:51:22 +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
Matthias Ettrich
322bccde7b async keyboard
svn path=/trunk/kdebase/kwin/; revision=35431
1999-11-29 14:19:32 +00:00
Matthias Ettrich
91d73bedca animated shading works again. Shortcut for shading possible
"Window shade"

svn path=/trunk/kdebase/kwin/; revision=35392
1999-11-29 02:49:20 +00:00
Matthias Ettrich
ddaa516ba4 more keybindings:
Window maximize,Window maximize vertical,Window maximize horizontal
 Window iconify

Try for example in kdeglobals:

	[Global Keys]
	Window maximize vertical=F5

svn path=/trunk/kdebase/kwin/; revision=35389
1999-11-29 02:18:29 +00:00
Matthias Ettrich
b441f40a7e configurable mouse bindings (see README)
svn path=/trunk/kdebase/kwin/; revision=35388
1999-11-29 02:06:41 +00:00
Matthias Ettrich
b8a8bf9be2 CurrentTime must die
svn path=/trunk/kdebase/kwin/; revision=35369
1999-11-28 21:41:15 +00:00
Matthias Ettrich
82b0710065 unified window captions ( not propagated yet)
svn path=/trunk/kdebase/kwin/; revision=35364
1999-11-28 20:55:52 +00:00
Matthias Ettrich
070b0971cc be smarter with shaded windows: when shading, iconify any non-shaded
transients.

svn path=/trunk/kdebase/kwin/; revision=35354
1999-11-28 20:17:57 +00:00
Matthias Ettrich
bd1e4878ba keep transients together, support various input modes, handle
wm_change_state messages properly

svn path=/trunk/kdebase/kwin/; revision=35353
1999-11-28 20:10:58 +00:00
Cristian Tibirna
9c2fd4530e CT: snap. Thanks to Matthias for the adjustClientPosition(). Clean
svn path=/trunk/kdebase/kwin/; revision=35049
1999-11-25 23:12:32 +00:00
Matthias Ettrich
378161e531 hook for snapping functionality
svn path=/trunk/kdebase/kwin/; revision=35032
1999-11-25 16:38:11 +00:00
Matthias Ettrich
25d8cad6f8 added sticky to the menu
svn path=/trunk/kdebase/kwin/; revision=34729
1999-11-22 18:34:46 +00:00
Matthias Ettrich
367d4fd0d7 some bugfixes, added a window operations menu, some simple shading animation
svn path=/trunk/kdebase/kwin/; revision=34662
1999-11-22 01:57:51 +00:00
Matthias Ettrich
eb5e8e031d slightly improved default look
svn path=/trunk/kdebase/kwin/; revision=34604
1999-11-21 17:17:34 +00:00
Matthias Ettrich
4bc6ce23fb more reasonable focus handling when switching desktops
svn path=/trunk/kdebase/kwin/; revision=34472
1999-11-20 13:51:29 +00:00
Cristian Tibirna
52d957df8e CT: cascading placement. I feel it as a bit of an overkill for what it does
compared to smart placement. Whatever. Some people want it

    smart placement made smarter (just a bit) and faster (just a bit)

Qt is a marvel. kwin is even better than kwm. KDE is amazing :-) You know
	who I am now, even if I don't sign.

svn path=/trunk/kdebase/kwin/; revision=34452
1999-11-20 06:27:07 +00:00
Matthias Ettrich
b0b7769701 took "THE DESKTOP" and kicker out of the tab chain
svn path=/trunk/kdebase/kwin/; revision=34140
1999-11-17 17:25:26 +00:00
Cristian Tibirna
a8136ad767 CT: ok. smart placement is back. and shoved on you all to test it :-)
svn path=/trunk/kdebase/kwin/; revision=34116
1999-11-17 06:11:39 +00:00
Cristian Tibirna
f49c7be018 CT: smart placement code. No! It isn't tested and isn't supposed to work.
One 'if' gets a bad turn. But commit it 'cause I'm reknown for doing stupid
things with unbacked-up code. Matthias, I managed to reduce all from
175 to 125 lines and from 4740 chars to 3260. This is what you wanted?

Don't worry, kwin compiles and works as before.

If somebody finds a way to teleport my office in some other dimension, I
finish this tomorrow (that is, today + a couple of sleep hours). If not ...

svn path=/trunk/kdebase/kwin/; revision=34034
1999-11-16 08:53:02 +00:00
Matthias Ettrich
486f0d604d bugfixes, what else
svn path=/trunk/kdebase/kwin/; revision=34019
1999-11-16 02:03:14 +00:00
Matthias Ettrich
9a0ea6b949 - handle initial state iconic
- handle maprequests when being iconified properly
- do not unshade xemacs 32000 pixels high

svn path=/trunk/kdebase/kwin/; revision=34014
1999-11-16 01:25:42 +00:00
Matthias Ettrich
f1dbea6ae5 fixed client activation
svn path=/trunk/kdebase/kwin/; revision=33993
1999-11-15 22:37:12 +00:00
Matthias Ettrich
bd7c253101 make shading work again (double click on titlebar)
svn path=/trunk/kdebase/kwin/; revision=33918
1999-11-15 15:57:48 +00:00
Matthias Ettrich
3293927ed4 found a smart way to get rid of the race conditions (that sometimes
made windows lose their decorations)

svn path=/trunk/kdebase/kwin/; revision=33867
1999-11-15 00:52:05 +00:00
Matthias Ettrich
49eb95bd94 More docking magic: If a window gets iconified that has a docking window,
remove it from the taskbar (in fact, do a withdraw() )

svn path=/trunk/kdebase/kwin/; revision=33759
1999-11-14 06:34:28 +00:00
Matthias Ettrich
cb5978260f fake being kwm (helps some docking apps out there)
svn path=/trunk/kdebase/kwin/; revision=33646
1999-11-13 03:44:09 +00:00
Matthias Ettrich
b4cc618773 nicer code and (hopefully) even more robust
svn path=/trunk/kdebase/kwin/; revision=33642
1999-11-13 02:35:15 +00:00
Matthias Ettrich
6862ff3dcb transients again
svn path=/trunk/kdebase/kwin/; revision=33640
1999-11-13 02:02:10 +00:00
Matthias Ettrich
eb472b9ed5 Ctrl-Fx desktop switching to make David happy
svn path=/trunk/kdebase/kwin/; revision=33636
1999-11-13 01:51:22 +00:00
Matthias Ettrich
ecec648c11 more robust raise algorithm
svn path=/trunk/kdebase/kwin/; revision=33562
1999-11-12 03:58:34 +00:00
Matthias Ettrich
a30c061abb shape windows support, some fixes for configure-request handling
svn path=/trunk/kdebase/kwin/; revision=33553
1999-11-12 03:11:19 +00:00
Daniel M. Duley
60ba85da36 Use sync() - thought about that right after I committed ;-)
svn path=/trunk/kdebase/kwin/; revision=33485
1999-11-11 01:29:33 +00:00
Daniel M. Duley
c9e72c7700 Read a KConfig key in ClientFactory to select the style and save the key when
choosing from the menu. This will have to change when I do plugins but makes
kwin styles easier to use now.

svn path=/trunk/kdebase/kwin/; revision=33483
1999-11-11 01:27:37 +00:00
Matthias Ettrich
35c7b77082 support for docking windows
svn path=/trunk/kdebase/kwin/; revision=33482
1999-11-11 01:22:41 +00:00
Kurt Granroth
7ef5cb7319 Okay, no more "freezing" X. kwin should be usable again :-)
svn path=/trunk/kdebase/kwin/; revision=33251
1999-11-08 15:57:30 +00:00
Matthias Ettrich
6919a58420 removed minicli stuff
svn path=/trunk/kdebase/kwin/; revision=33160
1999-11-07 20:29:26 +00:00
Daniel M. Duley
3a9281209d Bye (it's going in kdesktop).
svn path=/trunk/kdebase/kwin/; revision=33110
1999-11-07 14:46:49 +00:00
Kurt Granroth
ae262e92d2 "ported" over the essential minicli from kwm (yipee! now i can use kwin as
my normal window manager!!)

unfortunately, i'm not 100% that the way i did it was the "proper" way.  it
works, but it might not be the best way to do it.  matthias, et al,
definitely need to take a look at it!

svn path=/trunk/kdebase/kwin/; revision=33085
1999-11-07 08:46:36 +00:00
Matthias Ettrich
d21739331f fixed desktop handling
svn path=/trunk/kdebase/kwin/; revision=33068
1999-11-07 02:07:03 +00:00
Matthias Ettrich
1884091309 update, usable with kicker now
svn path=/trunk/kdebase/kwin/; revision=33064
1999-11-07 01:43:06 +00:00
Matthias Ettrich
5b3d19e42d make it work again
svn path=/trunk/kdebase/kwin/; revision=32597
1999-11-02 15:17:15 +00:00
Matthias Ettrich
b62982b6d1 handling close without weird error messages. Dynamic style changes
without jumping.

svn path=/trunk/kdebase/kwin/; revision=32546
1999-11-02 00:32:31 +00:00
Daniel M. Duley
37b09be6f3 A few fixes, moved colorgroups to the Options class (much nicer there), and
started on a fixed system style. If you try it out make sure to read the new
README, as it requires some gradient settings.

svn path=/trunk/kdebase/kwin/; revision=30585
1999-10-11 02:00:06 +00:00
Stefan Taferner
df7fc2905e Working kwin from Matthias E. :-)
svn path=/trunk/kdebase/kwin/; revision=30385
1999-10-09 09:55:16 +00:00
Matthias Ettrich
75f321c4c0 more experimental stuff
svn path=/trunk/kdebase/kwin/; revision=29737
1999-09-27 16:02:44 +00:00
Matthias Ettrich
311db796c6 Say hello to kwin. WARNING: NOT USABLE YET. See README.
svn path=/trunk/kdebase/kwin/; revision=27871
1999-08-19 23:26:42 +00:00