Commit graph

1047 commits

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
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
Matthias Ettrich
de3d008e6d removed support for obsolete size hints
svn path=/trunk/kdebase/kwin/; revision=35475
1999-11-30 00:29:34 +00:00
Matthias Ettrich
df37b4f6f3 small things
svn path=/trunk/kdebase/kwin/; revision=35447
1999-11-29 18:31:28 +00:00
Matthias Ettrich
322bccde7b async keyboard
svn path=/trunk/kdebase/kwin/; revision=35431
1999-11-29 14:19:32 +00:00
Matthias Ettrich
ce152850cb more robust
svn path=/trunk/kdebase/kwin/; revision=35394
1999-11-29 03:01:09 +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
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
b529c9226f do not accept empty captions, use unnamed instead.
svn path=/trunk/kdebase/kwin/; revision=35366
1999-11-28 20:58:58 +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
Matthias Ettrich
49f894fa51 nicer tabbox
svn path=/trunk/kdebase/kwin/; revision=35151
1999-11-26 22:10:25 +00:00
Cristian Tibirna
68e807e756 CT: coolo doesn't like it.
svn path=/trunk/kdebase/kwin/; revision=35053
1999-11-26 01:24:52 +00:00
Matthias Ettrich
d6c573987e small fix
svn path=/trunk/kdebase/kwin/; revision=35034
1999-11-25 17:08:17 +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
a12ab5338d better min/max handling, should be able to manage kfind now
svn path=/trunk/kdebase/kwin/; revision=35029
1999-11-25 16:05:27 +00:00
Matthias Ettrich
bad93649e3 fixed min/max handling, handle palette changes properly
svn path=/trunk/kdebase/kwin/; revision=35018
1999-11-25 12:53:17 +00:00
Matthias Ettrich
c101518499 small fix
svn path=/trunk/kdebase/kwin/; revision=34663
1999-11-22 02:23:13 +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
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
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
a1f8ea357a support for the new docking stuff
svn path=/trunk/kdebase/kwin/; revision=33753
1999-11-14 05:53:53 +00:00
Matthias Ettrich
279fc91240 some debug output removed, small fix to initial sizeflag handling
svn path=/trunk/kdebase/kwin/; revision=33647
1999-11-13 03:48:58 +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
b49242a017 some fixes
svn path=/trunk/kdebase/kwin/; revision=33631
1999-11-13 00:32:36 +00:00
Matthias Ettrich
231f10c92e basically, it's a good thing to initialize variables
svn path=/trunk/kdebase/kwin/; revision=33556
1999-11-12 03:21:10 +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
Matthias Ettrich
b47ce2b623 removed red background ;)
svn path=/trunk/kdebase/kwin/; revision=33386
1999-11-10 02:32:34 +00:00
Matthias Ettrich
ed10ad67b8 small fix when deciding whether to start a drag or not
svn path=/trunk/kdebase/kwin/; revision=33374
1999-11-09 23:37:05 +00:00
Matthias Ettrich
b8858a8636 better configure handling
svn path=/trunk/kdebase/kwin/; revision=33076
1999-11-07 04:43:59 +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
Matthias Ettrich
cb82f77388 run, not crash
svn path=/trunk/kdebase/kwin/; revision=32543
1999-11-01 23:41:44 +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