Commit Graph

97 Commits (72abf668d2565abd389ae7231cf8ecdedef872de)

Author SHA1 Message Date
Matthias Ettrich 72abf668d2 iconify/deiconify animation.
Don't forget to update libkdecore and kicker

svn path=/trunk/kdebase/kwin/; revision=54131
2000-06-23 16:26:44 +00:00
Matthias Ettrich 2322242681 some more mouse functions (raise/lower/toggle r.l.)
svn path=/trunk/kdebase/kwin/; revision=54049
2000-06-22 22:10:27 +00:00
Matthias Ettrich 6655d0207d focus policies and alt-tab style:
/*!
      Different focus policies:
      <ul>

      <li>ClickToFocus - Clicking into a window activates it. This is
      also the default.

      <li>FocusFollowsMouse - Moving the mouse pointer actively onto a
      normal window activates it. For convenience, the desktop and
      windows on the dock are excluded. They require clicking.

      <li>FocusUnderMouse - The window that happens to be under the
      mouse pointer becomes active. The invariant is: no window can
      have focus that is not under the mouse. This also means that
      Alt-Tab won't work properly and popup dialogs are usually
      unsable with the keyboard. Note that the desktop and windows on
      the dock are excluded for convenience. They get focus only when
      clicking on it.

      <li>FocusStrictlyUnderMouse - this is even worse than
      FocusUnderMouse. Only the window under the mouse pointer is
      active. If the mouse points nowhere, nothing has the focus. If
      the mouse points onto the desktop, the desktop has focus. The
      same holds for windows on the dock.

      Note that FocusUnderMouse and FocusStrictlyUnderMouse are not
      particulary useful. They are only provided for old-fashined
      die-hard UNIX people ;-)

      </ul>
     */
FocusPolicy=ClickToFocus | FocusFollowsMouse | FocusUnderMouse | FocusStrictlyUnderMouse


    /**
       Different Alt-Tab-Styles:
       <ul>

       <li> KDE - the recommended KDE style. Alt-Tab opens a nice icon
       box that makes it easy to select the window you want to tab
       to. The order automatically adjusts to the most recently used
       windows. Note that KDE style does not work with the
       FocusUnderMouse and FocusStrictlyUnderMouse focus
       policies. Choose ClickToFocus or FocusFollowsMouse instead.

       <li> CDE - the old-fashion CDE style. Alt-Tab cycles between
       the windows in static order. The current window gets raised,
       the previous window gets lowered.

       </ul>
     */
AltTabStyle=KDE | CDE

svn path=/trunk/kdebase/kwin/; revision=54010
2000-06-22 18:08:35 +00:00
Matthias Ettrich 4ea2a5c27f some cleanups
svn path=/trunk/kdebase/kwin/; revision=53990
2000-06-22 14:12:13 +00:00
Michael Matz 9bf0f3010b s/CARD32/Q_UINT32/g
svn path=/trunk/kdebase/kwin/; revision=53252
2000-06-14 21:39:07 +00:00
David Faure 91038958d7 Implemented changeDesktop and changeState - now NETWinInfo::setDesktop
actually does something :-)

svn path=/trunk/kdebase/kwin/; revision=52811
2000-06-10 14:05:47 +00:00
David Faure b9cc5b7cb1 Hmm, somebody went on holidays and forgot to commit killwindow.h apparently :->
Commented out the feature (you didn't think I would reimplement it, did you ?) :)

And took the opportunity of touching Makefile.am for including *.moc in *.cpp
(faster compilation, smaller link lines, less files...)

svn path=/trunk/kdebase/kwin/; revision=52667
2000-06-09 00:20:21 +00:00
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