Commit graph

80 commits

Author SHA1 Message Date
Lucas Murray
ca901dae30 Improved window movement around struts. Windows can be moved anywhere
where the titlebar is still clickable even if it is outside the normal
work area. When struts are added or removed only move the windows that
cover the same area, leave all others untouched. If a strut is removed
on a xinerama screen that is not on the edge of the full desktop area
prevent the windows from being moved offscreen. Prevent struts/panels
from interfering with the movement of windows on other xinerama screens.
BUG: 74559
BUG: 90833
BUG: 160068

svn path=/trunk/KDE/kdebase/workspace/; revision=927466
2009-02-17 15:50:00 +00:00
Luboš Luňák
7249ca2cfb Do self-check immediatelly during compositing setup only when it's not KWin startup
at the same time (in other words, only when activating compositing using the kcm).
Currently selfcheck causes bad flicker (due to X mapping the overlay window
for too long?) which looks bad during KDE startup. With this patch, KDE startup
is without any flicker.


svn path=/trunk/KDE/kdebase/workspace/; revision=923842
2009-02-09 14:51:11 +00:00
Michael Jansen
d6df278f49 Use the new session shortcut feature for kwins "Window Shorcut" feature.
@Lubos: Please have a look at commit 863096 too. I accidently commited a
part of this part there. Please have a look at the todo "Add the window
title" and possibly implement it. That would look much nicer in the global
shortcuts kcm.

Btw. There are two shortcuts dialogs in kwin. I haven't change the other
one (kwinrules) because it look it works better with KKeySequenceWidget
doing the message box.

CCMAIL:l.lunak@kde.org

svn path=/trunk/KDE/kdebase/workspace/; revision=863292
2008-09-21 18:03:59 +00:00
Luboš Luňák
63b01aff5d Rework handling of mapping and unmapping windows, in particular:
- the NormalState/IconicState things in ICCCM need to match exactly
  the real mapping state, so ensure that, no matter how superfluous that is
- extend the option for having live window previews either for all
  windows or for only all shown windows (default)
FEATURE: 163385


svn path=/trunk/KDE/kdebase/workspace/; revision=845772
2008-08-12 11:02:58 +00:00
Luboš Luňák
01d9d88580 Add a dbus call to query which color settings the current decoration
supports, to be used by kcmcolors.


svn path=/trunk/KDE/kdebase/workspace/; revision=788598
2008-03-21 22:17:10 +00:00
Luboš Luňák
bb433ac40e No longer include config*.h files in installed headers.
Also slightly redo the #define's for effects, now it's:
- #ifdef KWIN_HAVE_COMPOSITING to check whether there's any compositing support at all
- #ifdef KWIN_HAVE_OPENGL_COMPOSITING to check for OpenGL-based compositing
- #ifdef KWIN_HAVE_XRENDER_COMPOSITING the same for XRender
CCMAIL: kwin@kde.org


svn path=/trunk/KDE/kdebase/workspace/; revision=749628
2007-12-17 14:14:53 +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
1b8b326c7b Replace warnings about KShortcutDialog being dead with something that is not dead.
Now, since I don't see any shortcuts-related hacks, why exactly am I supposed
to contact you?
CCMAIL: ahartmetz@gmail.com
BUG: 151642 


svn path=/trunk/KDE/kdebase/workspace/; revision=731744
2007-11-01 19:24:35 +00:00
Rivo Laks
a3781228cb Move Extensions class to lib/kwinglobals.*
svn path=/trunk/KDE/kdebase/workspace/; revision=717329
2007-09-26 16:31:06 +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
Dirk Mueller
e625a97905 include cleanups
svn path=/trunk/KDE/kdebase/workspace/; revision=680057
2007-06-25 11:03:18 +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
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
ee040a6681 Merging from old trunk:
r644597 | mueller | 2007-03-20 15:21:56 +0100 (Tue, 20 Mar 2007) | 2 lines

pedantic--


svn path=/trunk/KDE/kdebase/workspace/; revision=659566
2007-04-30 12:23:20 +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
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
15c8a4220e Fix and re-enable optimized cursorPos().
svn path=/branches/work/kwin_composite/; revision=653895
2007-04-14 14:15:43 +00:00
Luboš Luňák
58fdb149a8 Convert ShowFps effect to plugins.
svn path=/branches/work/kwin_composite/; revision=652275
2007-04-10 15:38:36 +00:00
Rivo Laks
0353f3376e Make effects actual plugins, so it's possible to load them on runtime.
There's also a kwineffects library now, containing the effects API, which makes it possible to write
  third-party effects.
API isn't complete yet and for now just two effects have been converted but I'm working on it :-)

svn path=/branches/work/kwin_composite/; revision=652226
2007-04-10 13:02:08 +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
35bbf89aed Add support for activating features using window borders/corners.
Enabled it for PresentWindowsEffect for now.


svn path=/branches/work/kwin_composite/; revision=650532
2007-04-04 19:08:03 +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
Andreas Hartmetz
ee217245fb Ported/compile-fixed some code in khotkeys and kwin (that was not fun)
Small changes in other places, removed some unnecessary #include <kkeydialog.h> where they showed up.

Related to this kdelibs commit:
KKeyDialog: Renamed to KShortcutsDialog
KKeyChooser: Renamed to KShortcutsEditor
KKeyButton: Replaced by KKeySequenceWidget and KShortcutWidget. KKeySequenceWidget uses modified code from KKeyButton.
KShortcutDialog: Removed

svn path=/trunk/KDE/kdebase/workspace/; revision=648582
2007-03-31 19:04:28 +00:00
Dirk Mueller
85677f205f pedantic--
svn path=/trunk/KDE/kdebase/workspace/; revision=644597
2007-03-20 14:21:56 +00:00
Luboš Luňák
4affacac5b Support new compositing window types.
svn path=/branches/work/kwin_composite/; revision=636642
2007-02-23 17:41:49 +00:00
Luboš Luňák
0498cd7785 Add VideoRecordEffect for saving video captures.
Requires external lib to compile, see the videorecord.cpp .


svn path=/branches/work/kwin_composite/; revision=636625
2007-02-23 16:20: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
de4d1bc518 Implement cursorPos() as an optimized version of QCursor::pos()
that tries to reduce the number of X roundtrips.


svn path=/branches/work/kwin_composite/; revision=620326
2007-01-05 17:45:54 +00:00
Luboš Luňák
2e84c74fc8 Functions also for converting from X11 mouse/keyboard state
to Qt mouse/keyboard state.


svn path=/branches/work/kwin_composite/; revision=620299
2007-01-05 16:32:32 +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
38f4f76b31 Detect screen refresh rate for finding out optimal compositing
redraw speed. Patch by Philip Falkner.


svn path=/branches/work/kwin_composite/; revision=607253
2006-11-23 21:16:49 +00:00
Luboš Luňák
4110fc1c3a Support for XComposite overlay window.
svn path=/branches/work/kwin_composite/; revision=603137
2006-11-07 22:44:39 +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
649887d6c2 Looks like using XserverRegion for keeping damage regions
wasn't that good idea. Changed to QRegion.


svn path=/branches/work/kwin_composite/; revision=590648
2006-09-30 15:40:03 +00:00
Luboš Luňák
5d2d733519 Seach me why there needs to be another config.h file.
svn path=/branches/work/kwin_composite/; revision=586384
2006-09-19 12:24:51 +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
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
afcc9b6897 Prepare for scene rendering with different engines.
svn path=/branches/work/kwin_composite/; revision=558442
2006-07-05 12:30:03 +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
Laurent Montel
7f7ce52d78 #include <q...h> -> #include <Q...>
svn path=/trunk/KDE/kdebase/workspace/; revision=539617
2006-05-11 08:04:23 +00:00