Commit Graph

896 Commits (976037717b9a2552b80f134e9b8c95be62238529)

Author SHA1 Message Date
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