Commit graph

575 commits

Author SHA1 Message Date
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
Thorsten Roeder
98fa3320c5 deprecated--
basically:
QRegExp::search() --> QRegExp::indexIn()
QString::find() --> QString::indexOf()
QString::findRev() --> QString::lastIndexOf()
QString::lower() --> QString::toLower()
QString::upper() --> QString::toUpper()
QString::setLength() --> QString::resize()
QByteArray::find() --> QByteArray::indexOf()
QByteArray::findRev() --> QByteArray::lastIndexof()
QTimer::start(ms,sShot) --> {QTimer::setSingleShot() ; QTimer::start()}
QList::remove() --> QList::removeAll()
iterator QList::remove() --> iterator QList::erase()
QComboBox::text() --> QComboBox::itemText()
QByteArray::upper() --> QByteArray::toUpper()
QByteArray::lower() --> QByteArray::toLower()
QString::contains() --> QString::contains()
QEvent::accept(bool) --> QEvent::setAccepted(bool)


svn path=/trunk/KDE/kdebase/workspace/; revision=528719
2006-04-11 17:12:05 +00:00
Luboš Luňák
4d8462f579 Move minimized windows to the right place in focus chain.
(#124807)


svn path=/trunk/KDE/kdebase/workspace/; revision=528632
2006-04-11 14:52:27 +00:00
Luboš Luňák
b7d19892d3 Don't deactivate the showing desktop state when a new window is shown
that belongs to the desktop (#113552).


svn path=/trunk/KDE/kdebase/workspace/; revision=528392
2006-04-10 22:11:44 +00:00
Luboš Luňák
3c6af0ff28 Use a separate focus chain for each virtual desktop - this prevents onalldesktop
windows from usually getting focus after every virtual desktop switch.
Thanks for most of the work go to Guido Fiala <gfiala@s.netic.de>.
(#33701)


svn path=/trunk/KDE/kdebase/workspace/; revision=514057
2006-02-27 10:13:31 +00:00
Allen Winter
ae65a40c7a TRUE->true, FALSE->false
svn path=/trunk/KDE/kdebase/workspace/; revision=511180
2006-02-19 01:33:48 +00:00
Allen Winter
441523a689 Replace obsolete QMAX() and QMIN() with qMax() and qMin().
svn path=/trunk/KDE/kdebase/workspace/; revision=510739
2006-02-17 21:54:55 +00:00
Laurent Montel
0fa10f318d Deprecated--
svn path=/trunk/KDE/kdebase/workspace/; revision=506323
2006-02-06 14:47:18 +00:00
Dirk Mueller
17d2fc49d1 fix memory leak
svn path=/trunk/KDE/kdebase/workspace/; revision=501285
2006-01-22 15:10:14 +00:00
Luboš Luňák
9eb77ae332 Group user time now is updated automatically.
svn path=/trunk/KDE/kdebase/workspace/; revision=500577
2006-01-20 15:49:37 +00:00
Luboš Luňák
816c529a2c Fix minimize animation.
svn path=/trunk/KDE/kdebase/workspace/; revision=476610
2005-11-01 16:56:09 +00:00
Laurent Montel
0370410f0f qt3support--
svn path=/trunk/KDE/kdebase/workspace/; revision=474743
2005-10-27 09:07:06 +00:00
Stephan Kulow
6c821aba01 some more compiling
svn path=/trunk/KDE/kdebase/workspace/; revision=473006
2005-10-22 11:35:06 +00:00
Laurent Montel
5de42c4b68 Remove qt3_support into qstring
svn path=/trunk/KDE/kdebase/workspace/; revision=463544
2005-09-24 12:26:22 +00:00
Eike Hein
8f209fb84f Backport of commit 449838
svn path=/trunk/KDE/kdebase/kwin/; revision=449841
2005-08-16 21:18:47 +00:00
Stephan Kulow
b464518b3c svn merge svn+ssh://coolo@svn.kde.org/home/kde/trunk/KDE/kdebase@438057
svn+ssh://coolo@svn.kde.org/home/kde/branches/work/kde4/kdebase
          .

I couldn't resolve one kicker conflict that results from different
development directions, so I rely on Aaron to sort it out - the file
is commited with conflicts

svn path=/trunk/KDE/kdebase/kwin/; revision=439627
2005-07-28 14:59:42 +00:00
Thomas Lübking
d6b4366c51 redesigned partial opacity (moved from kompmgr to kwin, allowing to be set e.g. from decos) and (hopefully) fixed CPU hunger (if using fades)
svn path=/trunk/KDE/kdebase/kwin/; revision=430562
2005-07-01 19:55:06 +00:00
Luboš Luňák
39388e4aeb No idea what this setShapable() stuff is, but it certainly
doesn't belong to detectNoBorder().
CCMAIL: thomas.luebking@web.de


svn path=/trunk/KDE/kdebase/kwin/; revision=428551
2005-06-24 15:22:34 +00:00
Luboš Luňák
e98eb83a8b Reset variables in else case.
svn path=/trunk/KDE/kdebase/kwin/; revision=428548
2005-06-24 15:14:02 +00:00
Luboš Luňák
3d52b0e4c7 kdWarning -> kdDebug
svn path=/trunk/KDE/kdebase/kwin/; revision=427951
2005-06-22 13:28:25 +00:00
Luboš Luňák
c18591eb57 Support _NET_FRAME_EXTENTS as the official spec name
for _KDE_NET_WM_FRAME_STRUT.


svn path=/trunk/KDE/kdebase/kwin/; revision=427612
2005-06-21 09:00:28 +00:00
Luboš Luňák
da00272012 An attempt to get the crazy shaded windows geometry handling right.
This fixes comment #10 in 96602, I don't know if it fixes as a whole,
but I'm quite sure people will complain again if not.
BUG: 96602


svn path=/trunk/KDE/kdebase/kwin/; revision=423512
2005-06-08 18:07:27 +00:00
Luboš Luňák
8ef2a46218 Use functions for postponing geometry updates, rather doing
it manually all the time using setGeometry( geometry()).
Needed for getting geometry of the damn shaded windows right
finally.


svn path=/trunk/KDE/kdebase/kwin/; revision=423506
2005-06-08 17:16:53 +00:00
Luboš Luňák
20f80af287 Make it possible to use the window-specific settings dialog
to also set some things only temporarily. E.g. in order
to set skiptaskbar flag on a window, it's just
Alt+F3/Advanced/Special Window Settings/Preferences ->
Apply Now for Skip taskbar, and turn on the checkbox.


svn path=/trunk/KDE/kdebase/kwin/; revision=423112
2005-06-07 15:31:15 +00:00
Luboš Luňák
96e1fdab6c Use KNotify for notifications about windows demanding attention.
People who use hidden Kicker, have their taskbar configured to show
only windows on the current desktop or similar now may configure
it so that windows that didn't get focus because of focus stealing
prevention now can not only have their taskbar entry marked
but there can be e.g. also a passive popup.


svn path=/trunk/KDE/kdebase/kwin/; revision=419727
2005-05-30 13:31:33 +00:00
Luboš Luňák
741299b954 Since now it's possible to disable receiving focus for windows
in window-specific settings, no longer make skiptaskbar also
imply some kind of skiping focus.
BUG: 105809


svn path=/trunk/KDE/kdebase/kwin/; revision=415713
2005-05-19 12:06:04 +00:00
Luboš Luňák
5722d3fac8 Implement _NET_SHOWING_DESKTOP, giving control of the 'show desktop'
feature to KWin. There shouldn't hopefully be any visible user
difference other than fixed bugs.
BUG: 78109
BUG: 99524


svn path=/trunk/KDE/kdebase/kwin/; revision=413066
2005-05-13 08:57:21 +00:00
Luboš Luňák
7734d322b5 Remove useless and wrong assert.
svn path=/trunk/KDE/kdebase/kwin/; revision=412686
2005-05-12 10:55:57 +00:00
Luboš Luňák
c8088bb731 When releasing a client, don't accidentally show it again.
svn path=/trunk/KDE/kdebase/kwin/; revision=412379
2005-05-11 14:46:23 +00:00
Luboš Luňák
ced5ab580a Die, window type override, die! Since nobody really knows what this window
type means anyway, let's simply consider it to be a legacy way of saying "noborder"
and nothing more.


svn path=/trunk/KDE/kdebase/kwin/; revision=412372
2005-05-11 14:20:54 +00:00
Luboš Luňák
fc90a04635 Make it possible to do all kinds of strange things when mousewheeling
the titlebar or Alt+mousewheeling the window.
FEATURE:44318
FEATURE:66519
FEATURE:76188


svn path=/trunk/KDE/kdebase/kwin/; revision=410058
2005-05-06 15:20:49 +00:00
Luboš Luňák
64ab03402b When removing window, set it first to withdrawn state, then start cleaning
it up.
CCBUG: 103301

svn path=/trunk/kdebase/kwin/; revision=408336
2005-04-28 09:47:57 +00:00
Luboš Luňák
e1fb4aa2b6 Move all code responsible for showing/hiding windows, setting mapping
state, NET::Hidden etc. to one function: Client::updateVisibility().

svn path=/trunk/kdebase/kwin/; revision=405104
2005-04-12 17:22:47 +00:00
Luboš Luňák
65c8167754 64bit fixes for translucency.
svn path=/trunk/kdebase/kwin/; revision=403116
2005-04-04 13:11:53 +00:00
Thomas Lübking
cd5ac45b77 added support for applying translucency on the titlebar or the content (not really: anything but the titlebar) only
svn path=/trunk/kdebase/kwin/; revision=387795
2005-02-09 18:31:35 +00:00
Luboš Luňák
bdd2665a29 Something I forgot for #44268 - show the shortcut in the titlebar.
svn path=/trunk/kdebase/kwin/; revision=387104
2005-02-07 15:17:26 +00:00
Luboš Luňák
240fc84c05 Avoid unnecessary roundtrips finding out WM_CLIENT_MACHINE when setting
caption.

svn path=/trunk/kdebase/kwin/; revision=387096
2005-02-07 14:35:53 +00:00
Thomas Lübking
05eda26865 added support for unshadowed moving windows, slight changes to updates on shapable windows
svn path=/trunk/kdebase/kwin/; revision=383513
2005-01-28 23:28:11 +00:00
Luboš Luňák
6dd5d6b1f7 XChangeProperty needs long type for 32bit data, especially on 64bit platforms.
Also silence a couple of warnings.
CCMAIL: Thomas Lübking <thomas.luebking@web.de>

svn path=/trunk/kdebase/kwin/; revision=382862
2005-01-27 09:58:34 +00:00
Thomas Lübking
270a071454 [kompmgr] removed /kompmgr/ shapable tag if only the deco is shaped
svn path=/trunk/kdebase/kwin/; revision=380839
2005-01-21 16:19:10 +00:00
Thomas Lübking
8ad47028f6 Added composite (translucency/shadows) support
svn path=/trunk/kdebase/kwin/; revision=378790
2005-01-15 17:07:48 +00:00
Luboš Luňák
bb9b3a94c6 Shading fixes. This should also take care of #91615.
BUG: 91615

svn path=/trunk/kdebase/kwin/; revision=367240
2004-11-29 18:46:04 +00:00
Luboš Luňák
9a5a1c5d95 Fix shading: isShade() returns the actual state of the window, and isSetShade()
returns the state set by the user - these two may differ e.g. while hover-unshaded.
Therefore titlebar buttons should use isSetShade(), otherwise they become
a bit useless with hover-unshading.
Also fix updating the button state - the styles duplicate way too much code,
and if one of them has a bug, most of them definitely have it as well. Some
of the code should probably move to the decoration lib :-/ .

svn path=/trunk/kdebase/kwin/; revision=366147
2004-11-25 16:08:46 +00:00
Luboš Luňák
ca061ffb57 If a window is resized manually to geometry equal to workspace size,
make it automatically also maximized.

svn path=/trunk/kdebase/kwin/; revision=362476
2004-11-12 17:13:16 +00:00
George Staikos
2ce16d70ba On second thought, titlebars like this are silly:
"user@host:~@host"

make it:

"user@host:~ <@host>"

svn path=/trunk/kdebase/kwin/; revision=361700
2004-11-09 13:45:21 +00:00
George Staikos
c75eb7297f use @ instead of <> for the hostname, approved by Lubos (Thanks for the feature!)
svn path=/trunk/kdebase/kwin/; revision=361688
2004-11-09 12:28:58 +00:00
Luboš Luňák
d40ba7b252 Show hostname in the title if it's different from KWin's hostname.
FEATURE:40969

svn path=/trunk/kdebase/kwin/; revision=361687
2004-11-09 12:17:18 +00:00
Luboš Luňák
a81ef3b07f If a fullscreen window has a dialog shown, still keep it on tops of other windows.
svn path=/trunk/kdebase/kwin/; revision=352347
2004-10-06 14:02:30 +00:00
Luboš Luňák
79d5c97345 Propertly remove _NET_WM_VISIBLE_NAME.
CCMAIL: 87475-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=340847
2004-08-25 11:49:30 +00:00
Luboš Luňák
8033d09cce Dynamically detect changes of Motif hints instead of just reading
them once initially. At least MPlayer changes them while mapped.

svn path=/trunk/kdebase/kwin/; revision=333174
2004-07-27 08:35:51 +00:00
Luboš Luňák
e49d03c46f Even noborder windows may get resizing cursor, e.g. with Alt+RMB.
svn path=/trunk/kdebase/kwin/; revision=324586
2004-06-29 11:08:14 +00:00
Luboš Luňák
6060ceb9eb Keep window role as lowercase, just like wmclass, for rules matching.
svn path=/trunk/kdebase/kwin/; revision=324251
2004-06-28 13:47:02 +00:00
Luboš Luňák
094befa1de Make it possible to have several rules matching one window.
svn path=/trunk/kdebase/kwin/; revision=321637
2004-06-18 08:57:42 +00:00
Luboš Luňák
6e44fc30b8 Autosave for window rules.
svn path=/trunk/kdebase/kwin/; revision=319665
2004-06-11 15:12:29 +00:00
Luboš Luňák
33b11f1f07 Add a hidden option for the ping timeout before the dialog offering
killing the app appears (for #69211).

svn path=/trunk/kdebase/kwin/; revision=319659
2004-06-11 15:01:18 +00:00
Luboš Luňák
6e34bc5e8a KWin rules for making windows noncloseable, and for changing moveresize
mode.

svn path=/trunk/kdebase/kwin/; revision=318994
2004-06-09 08:33:53 +00:00
Luboš Luňák
2d336eb6ac KWin rule for accepting/not accepting input focus.
svn path=/trunk/kdebase/kwin/; revision=318992
2004-06-09 08:30:06 +00:00
Luboš Luňák
12ecab6ff3 Always allow minimizing of a window if its mainwindow is minimized.
Fixes #81141.

svn path=/trunk/kdebase/kwin/; revision=318491
2004-06-07 14:58:48 +00:00
Luboš Luňák
03bdeb94b0 KWin rules setting maximizevert, maximizehoriz, minimize, shade, skiptaskbar,
skippager, fullscreen, noborder.

svn path=/trunk/kdebase/kwin/; revision=317377
2004-06-03 14:09:45 +00:00
Luboš Luňák
7eadd6463f KWin rules - position and size.
Forcing position doesn't work yet, and forcing size needs more testing.

svn path=/trunk/kdebase/kwin/; revision=316414
2004-05-31 14:25:25 +00:00