Commit graph

634 commits

Author SHA1 Message Date
Dirk Mueller
5079d9f1a5 do not block waiting for the kill_helper to be gone, otherwise
kwin gets stuck
BUG: 156998

svn path=/trunk/KDE/kdebase/workspace/; revision=819519
2008-06-11 13:51:20 +00:00
Luboš Luňák
3f4a2dfaed Add functions for querying xinerama screens to effects API,
from Lucas Murray <admin@undefinedfire.com>.


svn path=/trunk/KDE/kdebase/workspace/; revision=818782
2008-06-09 16:09:56 +00:00
Luboš Luňák
4f9cb481c2 Command-line args don't need explicit encoding.
svn path=/trunk/KDE/kdebase/workspace/; revision=802405
2008-04-29 09:13:00 +00:00
Luboš Luňák
e7c88f309d Reduce the difference between noborder requested by the application
and set by the user - they're now interchangeable. Which means
that Alt+F3/Advanced/No border can put the window decoration
back on the KRunner window regardless of what Plasma or any other
app thinks.


svn path=/trunk/KDE/kdebase/workspace/; revision=788964
2008-03-23 00:12:11 +00:00
Luboš Luňák
a32b9ff1e7 Don't keep a separate flag for the Motif noborder flag.
svn path=/trunk/KDE/kdebase/workspace/; revision=788801
2008-03-22 14:34:22 +00:00
Luboš Luňák
fbbe94753e Repaint decoration after configuration change when it doesn't need a reset.
svn path=/trunk/KDE/kdebase/workspace/; revision=788371
2008-03-21 12:57:41 +00:00
Luboš Luňák
38291eb82c Make border sizes while maximizing take effect even when the actual
geometry does not change.
BUG: 158252


svn path=/trunk/KDE/kdebase/workspace/; revision=787741
2008-03-19 19:32:32 +00:00
Luboš Luňák
7a2fbfa2e0 Fix wrong code removal from r558258.
svn path=/trunk/KDE/kdebase/workspace/; revision=787734
2008-03-19 18:59:22 +00:00
Luboš Luňák
a3d931a84b QObject: Do not delete object, 'unnamed', during its event handler!
BUG: 156998


svn path=/trunk/KDE/kdebase/workspace/; revision=783314
2008-03-07 19:54:11 +00:00
Luboš Luňák
ea8a3ed648 I suppose this warning actually doesn't make that much sense.
svn path=/trunk/KDE/kdebase/workspace/; revision=762187
2008-01-16 13:55:06 +00:00
Luboš Luňák
e173e55c8e Add a comment about input shape.
svn path=/trunk/KDE/kdebase/workspace/; revision=749696
2007-12-17 16:31:16 +00:00
Adriaan de Groot
9ff9f6ce22 Disambiguating ints and unsigned and float and double
svn path=/trunk/KDE/kdebase/workspace/; revision=747016
2007-12-10 20:43:13 +00:00
Luboš Luňák
3b2b091c34 Make a clear distinction between types we support only for compositing
and types that are actually supported when managing windows.


svn path=/trunk/KDE/kdebase/workspace/; revision=746036
2007-12-07 15:53:43 +00:00
Luboš Luňák
01bf6cbb4c License cleanup - add headers where missing, be explicit about GPL
being v2+ (right now it says just GPL, which according to GPL itself
means any GPL). Decoration clients will come later.
CCMAIL: kwin@kde.org


svn path=/trunk/KDE/kdebase/workspace/; revision=742302
2007-11-27 19:40:25 +00:00
Luboš Luňák
d6b7ef180d No kde3/qt3 support in kwin core. Saves about 150M of memory in gdb
by not loading the support libraries and the complete kdelibs stack it depends
on. Gdb taking 0.5M and lousy handling of near-OOM in Linux kernel
can be a pretty bad combination :(.


svn path=/trunk/KDE/kdebase/workspace/; revision=741856
2007-11-26 15:42:44 +00:00
Luboš Luňák
dbe1f3f875 Avoid one more case of unnecessary discarding window pixmap.
svn path=/trunk/KDE/kdebase/workspace/; revision=728563
2007-10-23 17:38:39 +00:00
Laurent Montel
994c800d79 Adapt to new KWarning/kFatal/kDebug api
svn path=/trunk/KDE/kdebase/workspace/; revision=695877
2007-08-03 06:59:24 +00:00
Luboš Luňák
63a0120a60 Remove some no longer relevant todos.
svn path=/trunk/KDE/kdebase/workspace/; revision=689955
2007-07-19 16:38:46 +00:00
Luboš Luňák
ab1582de27 It's really interesting that KWin has had support for an arbitrary root
window, but I don't think it really works these days, and it's probably
also not useful at all.


svn path=/trunk/KDE/kdebase/workspace/; revision=689949
2007-07-19 16:24:51 +00:00
Luboš Luňák
31fbf4317e Uninitialized variable.
svn path=/trunk/KDE/kdebase/workspace/; revision=684498
2007-07-06 18:29:33 +00:00
Luboš Luňák
9052116e4f Support for having previews even for unmapped windows - they're
actually kept mapped, so that they still have the backing pixmap.
Plus some small tricks to prevent such windows from interfering.
Only two basic modes are implemented right now.


svn path=/trunk/KDE/kdebase/workspace/; revision=683156
2007-07-04 09:51:10 +00:00
Luboš Luňák
5f003b9ec3 Remove a copy that's a result of wrong merging of a diff.
svn path=/trunk/KDE/kdebase/workspace/; revision=683154
2007-07-04 09:48:42 +00:00
Luboš Luňák
162d6ac7c9 Support for _NET_WM_SYNC_REQUEST, based on a patch
by Rayiner Hashem <gtg990h@mail.gatech.edu>.


svn path=/trunk/KDE/kdebase/workspace/; revision=679986
2007-06-25 08:51:44 +00:00
Luboš Luňák
ef59c8956a When doing a forced geometry update while updates are suspended, remember to force the geometry
update when resuming.


svn path=/trunk/KDE/kdebase/workspace/; revision=677635
2007-06-19 15:40:09 +00:00
Laurent Montel
a38f0d95e1 K3Process--
svn path=/trunk/KDE/kdebase/workspace/; revision=676771
2007-06-17 17:09:40 +00:00
Luboš Luňák
1caa3f95ed Properly check for all needed extensions and handle gracefully absence.
svn path=/trunk/KDE/kdebase/workspace/; revision=669827
2007-05-30 14:22:09 +00:00
Luboš Luňák
61ada25cdf Rework r293762 - enter move/resize mode also when the user just
holds the mouse button down for a moment, without moving.


svn path=/trunk/KDE/kdebase/workspace/; revision=667351
2007-05-22 15:46:42 +00:00
Luboš Luňák
d510baf365 Option for separating focus between Xinerama screens.
svn path=/trunk/KDE/kdebase/workspace/; revision=662065
2007-05-07 12:18:19 +00:00
Luboš Luňák
a7c2ac4542 Fix incorrect patch merge.
svn path=/trunk/KDE/kdebase/workspace/; revision=660358
2007-05-02 12:50:37 +00:00
Luboš Luňák
7a0f50b298 KWM->KWindowSystem
svn path=/trunk/KDE/kdebase/workspace/; revision=659662
2007-04-30 15:48:34 +00:00
Luboš Luňák
769bf2bded Merging from old trunk:
r652602 | lunakl | 2007-04-11 16:42:13 +0200 (Wed, 11 Apr 2007) | 4 lines

Fix timestamp handling on 64bit platforms.
BUG: 143545


svn path=/trunk/KDE/kdebase/workspace/; revision=659578
2007-04-30 12:38:30 +00:00
Luboš Luňák
3ef7eb5637 Merging from old trunk:
r613884 | lunakl | 2006-12-15 15:57:18 +0100 (Fri, 15 Dec 2006) | 3 lines

Boy, I'm so smart, first deleting an object and then doing a consistency check on it.


svn path=/trunk/KDE/kdebase/workspace/; revision=659484
2007-04-30 09:50:38 +00:00
Luboš Luňák
b8ceefc820 Merging from old trunk:
r613681 | lunakl | 2006-12-14 17:32:55 +0100 (Thu, 14 Dec 2006) | 4 lines

Check for references to no longer existing windows in transiency checks
only when the list of windows is in consistent state.


svn path=/trunk/KDE/kdebase/workspace/; revision=659481
2007-04-30 09:47:59 +00:00
Luboš Luňák
95b5cca122 Merging from old trunk:
r609071 | lunakl | 2006-11-29 14:25:38 +0100 (Wed, 29 Nov 2006) | 4 lines

+    // grab X during the release to make removing of properties, setting to withdrawn state
+    // and repareting to root an atomic operation (http://lists.kde.org/?l=kde-devel&m=116448102901184&w=2)


svn path=/trunk/KDE/kdebase/workspace/; revision=659470
2007-04-30 09:41:48 +00:00
Luboš Luňák
629166134a Fix compile.
svn path=/trunk/KDE/kdebase/workspace/; revision=659314
2007-04-29 22:46:05 +00:00
Luboš Luňák
b9ce4b2954 Merging from old trunk:
r603295 | lunakl | 2006-11-08 14:59:27 +0100 (Wed, 08 Nov 2006) | 6 lines

Ok, with a compositing manager running, VisibilityNotify no longer
considers windows not visible just because a window is above them,
so the code from r198017 no longer works.
(#128648)


svn path=/trunk/KDE/kdebase/workspace/; revision=659308
2007-04-29 22:37:19 +00:00
Luboš Luňák
50a788d633 Merging from old trunk:
r594160 | lunakl | 2006-10-10 12:28:32 +0200 (Tue, 10 Oct 2006) | 6 lines

Build the input shape on a helper window instead of directly,
this avoids having a hole in the shape temporarily. This seems
to break non-click-to-focus mouse policies on some systems
(works fine here though).


svn path=/trunk/KDE/kdebase/workspace/; revision=659292
2007-04-29 21:59:40 +00:00
Luboš Luňák
b99dee8cf7 Merging from old trunk:
r574237 | lunakl | 2006-08-18 15:45:50 +0200 (Fri, 18 Aug 2006) | 5 lines

Differentiate properly between shape set by the window itself
(which forces it to be a non-decorated window) and mask set
by the decoration.


svn path=/trunk/KDE/kdebase/workspace/; revision=659281
2007-04-29 21:39:58 +00:00
Luboš Luňák
04d5294afa Merging from old trunk:
r573246 | lunakl | 2006-08-15 14:48:37 +0200 (Tue, 15 Aug 2006) | 3 lines

Fix compilation with older XShape (#132310).


svn path=/trunk/KDE/kdebase/workspace/; revision=659279
2007-04-29 21:38:44 +00:00
Luboš Luňák
5feb577369 Merging from old trunk:
r571712 | lunakl | 2006-08-10 15:15:16 +0200 (Thu, 10 Aug 2006) | 3 lines

Support for input shape from XShape1.1 (#122425).


svn path=/trunk/KDE/kdebase/workspace/; revision=659272
2007-04-29 21:19:29 +00:00
Luboš Luňák
f52b8e48cd branches/work/kwin_composite becomes new trunk kwin.
svn path=/trunk/KDE/kdebase/workspace/; revision=659202
2007-04-29 17:35:43 +00:00
Luboš Luňák
2b7e1f4993 Remove kwin, kwin_composite will become new trunk kwin, missing merges
from trunk will be merged in.


svn path=/trunk/KDE/kdebase/workspace/; revision=659200
2007-04-29 17:34:49 +00:00
Luboš Luňák
e1406c3e42 Utility function for XGrabKeyboard().
svn path=/branches/work/kwin_composite/; revision=654227
2007-04-15 14:39:10 +00:00
Luboš Luňák
ef0fee3633 Fix timestamp handling on 64bit platforms.
BUG: 143545


svn path=/trunk/KDE/kdebase/workspace/; revision=652602
2007-04-11 14:42:13 +00:00
Rivo Laks
02032f8587 Move most (all?) internal methods from EffectsHandler to EffectsHandlerImpl.
The ugly side effect of this is that there are tons of static_casts in the code now... maybe it
  would be better to add effectImpl() convenience method and use that?

svn path=/branches/work/kwin_composite/; revision=652348
2007-04-10 18:47:13 +00:00
Luboš Luňák
2c928221a4 namespace KWinInternal -> KWin - shorter typing of names in gdb, yay
svn path=/trunk/KDE/kdebase/workspace/; revision=650773
2007-04-05 12:12:10 +00:00
Luboš Luňák
e3b865cd5f namespace KWinInternal -> KWin - shorter typing of names in gdb, yay
svn path=/branches/work/kwin_composite/; revision=650770
2007-04-05 12:07:35 +00:00
Luboš Luňák
3617d1bf8a Merge r649608, r649403, r649230 and r648582 from trunk (porting).
svn path=/branches/work/kwin_composite/; revision=649948
2007-04-03 13:24:05 +00:00
Luboš Luňák
10ea80a963 KWin/KWinModule -> KWM
svn path=/trunk/KDE/kdebase/workspace/; revision=649608
2007-04-02 21:30:50 +00:00
Rivo Laks
d809643245 Make it compile:
- KProcess -> K3Process rename
- fix KKeyServer::xEventToQt() argument

svn path=/branches/work/kwin_composite/; revision=647255
2007-03-27 19:59:04 +00:00
Oswald Buddenhagen
3ee016f50d KProcess -> K3Process
KShellProcess -> K3ShellProcess
KProcIO -> K3ProcIO
KProcessController -> K3ProcessController

not deprecating, as we don't have a replacement yet.
not moving yet, as kdelibs still has heavy dependencies on it.

agreed upon with dfaure.


svn path=/trunk/KDE/kdebase/workspace/; revision=646732
2007-03-26 15:07:10 +00:00
Luboš Luňák
8b5b40e4e8 Shadows. Right not it's only flat black rectangle, but otherwise
everything should work.


svn path=/branches/work/kwin_composite/; revision=646315
2007-03-25 10:48:07 +00:00
Luboš Luňák
f6ad1881e1 Support for window thumbnails.
svn path=/branches/work/kwin_composite/; revision=640344
2007-03-07 17:50:33 +00:00
Luboš Luňák
e61ecff9b9 Check that getting compositing pixmap of a window succeeded.
It may fail (or "fail") if the window is not mapped or if the geometry
doesn't match, both of which may happen due to the asynchronous
nature of X.


svn path=/branches/work/kwin_composite/; revision=637741
2007-02-27 16:13:34 +00:00
Luboš Luňák
a5e508590a I have a strange feeling nobody will be bothered enough to spend
time with non-composited minimize/shade animations.


svn path=/branches/work/kwin_composite/; revision=633222
2007-02-13 15:11:59 +00:00
Luboš Luňák
5e8b2465b4 Still some kompmgr code removal.
svn path=/branches/work/kwin_composite/; revision=632900
2007-02-12 16:45:16 +00:00
Luboš Luňák
4019dff500 Distinguish between damage and repaints - damage is when windows contents
change, repaint just triggers repaint of the area (without e.g. the texture
updating for OpenGL).
addDamage() -> addRepaint()
CCMAIL: kwin@kde.org


svn path=/branches/work/kwin_composite/; revision=632866
2007-02-12 15:22:43 +00:00
Luboš Luňák
24eacc4908 Move NETWinInfo and few more things from Client to the base class.
svn path=/branches/work/kwin_composite/; revision=632380
2007-02-10 21:56:24 +00:00
Luboš Luňák
63a97b7d3d Add DesktopChangeSlideEffect, an effect that on virtual desktop
change slides the old desktop out and the new one in. Should not
be really technically different from the cube.


svn path=/branches/work/kwin_composite/; revision=629163
2007-02-01 17:20:48 +00:00
Rivo Laks
cc93b859e3 Make Client::iconGeometry() recursively use it's mainwindow's icongeometry if it
doesn't have one itself.

svn path=/branches/work/kwin_composite/; revision=628327
2007-01-29 19:28:53 +00:00
Rivo Laks
798d437e03 Add iconGeometry() method to Client.
It returns rectangle of the taskbar entry of the window.

svn path=/branches/work/kwin_composite/; revision=626867
2007-01-24 20:15:38 +00:00
Luboš Luňák
0ae5a772e7 Add EffectWindow as a window representation for effects,
to hide the change from Client/Unmanaged and eventually also
act as the only API available to effects.


svn path=/branches/work/kwin_composite/; revision=626360
2007-01-22 22:57:22 +00:00
Luboš Luňák
77f803a563 Instead of the somewhat fragile way of trying to clean up Client/Unmanaged
instances and keeping them around after the window is closed, create
class Deleted as a representation of a closed window.


svn path=/branches/work/kwin_composite/; revision=626356
2007-01-22 22:51:30 +00:00
Luboš Luňák
ff6f889ffc Add support for showing effects for windows which have already been deleted.
Add a fade-out effect.


svn path=/branches/work/kwin_composite/; revision=623872
2007-01-15 18:03:04 +00:00
Philip Falkner
ee9e4ad715 Allow effects on window minimize and unminimize.
svn path=/branches/work/kwin_composite/; revision=622778
2007-01-12 23:23:41 +00:00
Philip Falkner
e3cf0dd455 Move window_pix into Toplevel, allowing the backing pixmap to be kept even after a window is unmapped.
This is needed for effects to make use of unavailable windows, such as when closing a window.

svn path=/branches/work/kwin_composite/; revision=622777
2007-01-12 23:21:36 +00:00
Luboš Luňák
52c50baf1a Boy, I'm so smart, first deleting an object and then doing a consistency check on it.
svn path=/trunk/KDE/kdebase/workspace/; revision=613884
2006-12-15 14:57:18 +00:00
Luboš Luňák
0cbf093fdd Check for references to no longer existing windows in transiency checks
only when the list of windows is in consistent state.


svn path=/trunk/KDE/kdebase/workspace/; revision=613681
2006-12-14 16:32:55 +00:00
Luboš Luňák
840364cd2a Merge r608181 from trunk (KShortcut/KAction changes).
svn path=/branches/work/kwin_composite/; revision=610146
2006-12-03 13:43:37 +00:00
Luboš Luňák
50b7fc5409 + // grab X during the release to make removing of properties, setting to withdrawn state
+    // and repareting to root an atomic operation (http://lists.kde.org/?l=kde-devel&m=116448102901184&w=2)


svn path=/trunk/KDE/kdebase/workspace/; revision=609071
2006-11-29 13:25:38 +00:00
Andreas Hartmetz
8fc2b1843b Adapt dependent code to KShortcut/KAction changes.
svn path=/trunk/KDE/kdebase/khotkeys/; revision=608181
2006-11-27 00:32:31 +00:00
Luboš Luňák
cb549777ba Damage workspace when a window is unmapped to cause repainting of that area.
svn path=/branches/work/kwin_composite/; revision=607286
2006-11-23 23:05:50 +00:00
Luboš Luňák
09781249b9 Name the class used to postpone geometry changes also Blocker,
to be consistent with the one used for stacking changes.


svn path=/branches/work/kwin_composite/; revision=606262
2006-11-19 20:04:31 +00:00
Luboš Luňák
3a0e22ebe3 Ok, with a compositing manager running, VisibilityNotify no longer
considers windows not visible just because a window is above them,
so the code from r198017 no longer works.
(#128648)


svn path=/trunk/KDE/kdebase/workspace/; revision=603295
2006-11-08 13:59:27 +00:00
Scott Wheeler
d4be8267d5 I think the rest of the shortcut() calls are ok since they seem to be calls to
Client::shortcut() or things that deal with KShortcutDialog.  So, here's a little
1-liner that I stumbled across in the process.

svn path=/trunk/KDE/kdebase/workspace/; revision=599659
2006-10-28 02:20:47 +00:00
Luboš Luňák
3f46d36bb9 Add convenience functions for damaging full area.
svn path=/branches/work/kwin_composite/; revision=598834
2006-10-24 19:28:17 +00:00
Luboš Luňák
825a9235d6 Build the input shape on a helper window instead of directly,
this avoids having a hole in the shape temporarily. This seems
to break non-click-to-focus mouse policies on some systems
(works fine here though).


svn path=/trunk/KDE/kdebase/workspace/; revision=594160
2006-10-10 10:28:32 +00:00
Luboš Luňák
ace6b4ad8a Opengl support for shaped windows.
svn path=/branches/work/kwin_composite/; revision=590728
2006-09-30 17:28:27 +00:00
Luboš Luňák
6202c2e815 Differentiate properly between shape set by the window itself
(which forces it to be a non-decorated window) and mask set
by the decoration.


svn path=/trunk/KDE/kdebase/workspace/; revision=574237
2006-08-18 13:45:50 +00:00
Luboš Luňák
093617aafb Fix compilation with older XShape (#132310).
svn path=/trunk/KDE/kdebase/workspace/; revision=573246
2006-08-15 12:48:37 +00:00
Luboš Luňák
fa8cd7541f It wasn't a very good idea to do even compositing-unrelated
work in the work/kwin_composite branch.
svn merge revs 558154,558180,558236,558243,558258,562201


svn path=/trunk/KDE/kdebase/workspace/; revision=571776
2006-08-10 17:00:14 +00:00
Luboš Luňák
293f093ea1 Support for input shape from XShape1.1 (#122425).
svn path=/trunk/KDE/kdebase/workspace/; revision=571712
2006-08-10 13:15:16 +00:00
Luboš Luňák
0516e1e73b Add support for translation and add two "plugins" that
make windows transparent or shake them while moving.


svn path=/branches/work/kwin_composite/; revision=559013
2006-07-06 13:17:44 +00:00
Luboš Luňák
1719127d3f Make the opacity slider and wheel operations work again.
svn path=/branches/work/kwin_composite/; revision=558740
2006-07-05 22:26:34 +00:00
Luboš Luňák
c7f515630d Support for transparency.
svn path=/branches/work/kwin_composite/; revision=558690
2006-07-05 20:52:57 +00:00
Luboš Luňák
f400646a6d xrender compositing work - now it uses damage areas
to reduce amount of painting


svn path=/branches/work/kwin_composite/; revision=558580
2006-07-05 16:04:11 +00:00
Luboš Luňák
f4f07d4fd3 Remove kompmgr-related code except for the generic parts like
the slider in Alt+F3.


svn path=/branches/work/kwin_composite/; revision=558258
2006-07-04 23:30:05 +00:00
Luboš Luňák
06e47c10db Remove the temporary hacks again.
svn path=/branches/work/kwin_composite/; revision=558185
2006-07-04 20:32:43 +00:00
Luboš Luňák
157372f2e7 And add a silly moving-in animation for new windows.
Now it's time to add plugins interface so that people who can
do this for real do it.


svn path=/branches/work/kwin_composite/; revision=558173
2006-07-04 20:07:58 +00:00
Luboš Luňák
571ba9cf9e Basic compositing support. It doesn't actually do anything
besides drawing what should be drawn anyway, and there are
still some things missing like stacking order for override
redirect windows, but KWin is basically a compositing manager now.


svn path=/branches/work/kwin_composite/; revision=558168
2006-07-04 20:02:07 +00:00
Luboš Luňák
e0dcc3ba46 Some convenience functions for QX11Info stuff.
svn path=/branches/work/kwin_composite/; revision=558154
2006-07-04 19:36:19 +00:00
Jaison Lee
fd6ba30cb3 EBN spelling corrections.
svn path=/trunk/KDE/kdebase/workspace/; revision=552770
2006-06-19 01:43:22 +00:00
Thorsten Roeder
e000f78091 fixing some EBN issues
svn path=/trunk/KDE/kdebase/workspace/; revision=542916
2006-05-20 15:56:37 +00:00
Dirk Mueller
a36be785e6 --deprecated
svn path=/trunk/KDE/kdebase/workspace/; revision=541293
2006-05-15 21:33:55 +00:00
Laurent Montel
5725624c8b #include <q...h> -> #include <Q...>
svn path=/trunk/KDE/kdebase/workspace/; revision=540496
2006-05-13 16:33:18 +00:00
Laurent Montel
7f7ce52d78 #include <q...h> -> #include <Q...>
svn path=/trunk/KDE/kdebase/workspace/; revision=539617
2006-05-11 08:04:23 +00:00
Riccardo Iaconelli
014ff479d9 Fixed some typos
svn path=/trunk/KDE/kdebase/workspace/; revision=538338
2006-05-07 15:22:08 +00:00
Dirk Mueller
7ebd302665 show the correct cursor when its about vertical resizing
svn path=/trunk/KDE/kdebase/workspace/; revision=533372
2006-04-24 15:59:49 +00:00
Luboš Luňák
daf4e723ea Save also stacking order when doing session save.
svn path=/trunk/KDE/kdebase/workspace/; revision=531882
2006-04-20 14:57:10 +00:00
Tobias Koenig
848bc14335 deprecated--
svn path=/trunk/KDE/kdebase/workspace/; revision=529106
2006-04-12 15:13:31 +00:00