Commit graph

125 commits

Author SHA1 Message Date
Luboš Luňák
afa5700c7b Don't initialy minimize a window if it has some main window open,
but it was internall optimized away (e.g. one group transient plasma
dialog open, minimized, open another group transient dialog from plasma).


svn path=/trunk/KDE/kdebase/workspace/; revision=798569
2008-04-18 15:50:12 +00:00
Luboš Luňák
4f980ab082 This is backwards - remove the connection from the Client that
has it indirectly, not the direct one.


svn path=/trunk/KDE/kdebase/workspace/; revision=788477
2008-03-21 16:35:05 +00:00
Luboš Luňák
778e0ed51d Restart list searching after removing from it, just in case.
CCMAIL: faure@kde.org


svn path=/trunk/KDE/kdebase/workspace/; revision=773631
2008-02-11 15:20:11 +00:00
Luboš Luňák
5bc01ac817 Prevent transient loops also when caused by 'this' (which doesn't have
the new value set yet).
BUG: 153360


svn path=/trunk/KDE/kdebase/workspace/; revision=748511
2007-12-14 17:29:19 +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
Andreas Pakulat
39e322fc83 Merge the KConfig branch. This are the 3 main modules (+kdeadmin), which are
needed now because friday is the last BC day. The rest of the modules will
follow as fast as my laptop allows.

svn path=/trunk/KDE/kdebase/workspace/; revision=721704
2007-10-05 22:21:25 +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
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
3f12214c12 Merging from old trunk:
r619879 | lunakl | 2007-01-04 18:16:16 +0100 (Thu, 04 Jan 2007) | 3 lines

More transiency checks.


svn path=/trunk/KDE/kdebase/workspace/; revision=659522
2007-04-30 11:33:36 +00:00
Luboš Luňák
ce110c887f Merging from old trunk:
r619874 | lunakl | 2007-01-04 18:03:04 +0100 (Thu, 04 Jan 2007) | 4 lines

Properly add a window to a group.
(BUG: 139180)


svn path=/trunk/KDE/kdebase/workspace/; revision=659521
2007-04-30 11:33:14 +00:00
Luboš Luňák
23f8ebf2ab Merging from old trunk:
r613847 | lunakl | 2006-12-15 14:01:19 +0100 (Fri, 15 Dec 2006) | 4 lines

Don't crash because of automatic deleting of groups.
(BUG: 138834)


svn path=/trunk/KDE/kdebase/workspace/; revision=659483
2007-04-30 09:49:41 +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
1f40973a83 Merging from old trunk:
r613666 | lunakl | 2006-12-14 16:35:36 +0100 (Thu, 14 Dec 2006) | 3 lines

Few more consistency checks.


svn path=/trunk/KDE/kdebase/workspace/; revision=659479
2007-04-30 09:46:31 +00:00
Luboš Luňák
4512d39171 Merging from old trunk:
r613277 | lunakl | 2006-12-13 19:53:55 +0100 (Wed, 13 Dec 2006) | 6 lines

Remove group transients from transient_list of windows from old group.
I have to say I'm rather impressed by the level of brokeness of Java's
window handling.
(BUG: 117677)


svn path=/trunk/KDE/kdebase/workspace/; revision=659478
2007-04-30 09:45:56 +00:00
Luboš Luňák
bbd7e25d2b Merging from old trunk:
r613274 | lunakl | 2006-12-13 19:48:58 +0100 (Wed, 13 Dec 2006) | 4 lines

Add checking code to detect inconsistencies of internal structures
for window relations, like #117677.


svn path=/trunk/KDE/kdebase/workspace/; revision=659476
2007-04-30 09:45:07 +00:00
Luboš Luňák
da1bbe0e64 Merging from old trunk:
r613271 | lunakl | 2006-12-13 19:29:43 +0100 (Wed, 13 Dec 2006) | 3 lines

Don't move a group transient with a group set to another group.


svn path=/trunk/KDE/kdebase/workspace/; revision=659475
2007-04-30 09:44:32 +00:00
Luboš Luňák
17182b9ccb Merging from old trunk:
r568991 | lunakl | 2006-08-02 18:27:34 +0200 (Wed, 02 Aug 2006) | 4 lines

Argh, order the checks properly, it wasn't detecting
correctly some cases when windows should belong together.


svn path=/trunk/KDE/kdebase/workspace/; revision=659268
2007-04-29 21:04:13 +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
9a749f2c7a Don't make findModal() return itself by default.
svn path=/branches/work/kwin_composite/; revision=653422
2007-04-13 09:36:14 +00:00
Luboš Luňák
d2dbc77323 Add support for dimming of inactive windows (accessibility).
FEATURE: 46226


svn path=/branches/work/kwin_composite/; revision=652255
2007-04-10 14:48:55 +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
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
f8d7a5ec25 More transiency checks.
svn path=/trunk/KDE/kdebase/workspace/; revision=619879
2007-01-04 17:16:16 +00:00
Luboš Luňák
1a0637b627 Properly add a window to a group.
BUG: 139180


svn path=/trunk/KDE/kdebase/workspace/; revision=619874
2007-01-04 17:03:04 +00:00
Luboš Luňák
ce58330fc4 Don't crash because of automatic deleting of groups.
BUG: 138834


svn path=/trunk/KDE/kdebase/workspace/; revision=613847
2006-12-15 13:01:19 +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
c271dd819a Few more consistency checks.
svn path=/trunk/KDE/kdebase/workspace/; revision=613666
2006-12-14 15:35:36 +00:00
Luboš Luňák
28dd80d4ca Remove group transients from transient_list of windows from old group.
I have to say I'm rather impressed by the level of brokeness of Java's
window handling.
BUG: 117677


svn path=/trunk/KDE/kdebase/workspace/; revision=613277
2006-12-13 18:53:55 +00:00
Luboš Luňák
508178e0d1 Add checking code to detect inconsistencies of internal structures
for window relations, like #117677.


svn path=/trunk/KDE/kdebase/workspace/; revision=613274
2006-12-13 18:48:58 +00:00
Luboš Luňák
f57d89d597 Don't move a group transient with a group set to another group.
svn path=/trunk/KDE/kdebase/workspace/; revision=613271
2006-12-13 18:29:43 +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
6d04ce89c2 Argh, order the checks properly, it wasn't detecting
correctly some cases when windows should belong together.


svn path=/trunk/KDE/kdebase/workspace/; revision=568991
2006-08-02 16:27:34 +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
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
Hamish Rodda
77bc9cd63d Merging in from bleeding edge kdebase branch
- i18n ported
- KAccel removed
- Some fixes for OS X

svn path=/trunk/KDE/kdebase/workspace/; revision=528190
2006-04-10 11:57:13 +00:00
David Faure
f2a598e7d0 qt4-ification by Thorsten Röder <thorsten.roeder weihenstephan.org>
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()}

+ commenting out call to artsshell in startkde.

svn path=/trunk/KDE/kdebase/workspace/; revision=527991
2006-04-09 20:16:13 +00:00
Laurent Montel
0fa10f318d Deprecated--
svn path=/trunk/KDE/kdebase/workspace/; revision=506323
2006-02-06 14:47:18 +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
Luboš Luňák
c32d95f0f2 Since hasTransient() can search bottom-up or top-bottom depending
on which is cheaper, make sure to block recursion for the proper
client that has been already checked.
BUG: 94800

svn path=/trunk/kdebase/kwin/; revision=400008
2005-03-23 14:52:54 +00:00
Luboš Luňák
47075ef04e Break unnecessary transiency relations caused by many group transient windows.
Avoids exponentially expensive operations in KWin.
CCBUG: 95231

svn path=/trunk/kdebase/kwin/; revision=393793
2005-02-28 13:43:00 +00:00
Luboš Luňák
5ac4a74f2f Don't try to focus new modal for the active window while the new modal
is still in manage(). Should fix first-time showing of kwallet dialog.

svn path=/trunk/kdebase/kwin/; revision=335960
2004-08-04 12:19:50 +00:00
Luboš Luňák
37f682c907 Handle a rather unusual usage KMenuBar usage in amarok - parent widget
is first created toplevel, then reparented to become one tab widget.
CCMAIL: 81620-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=333232
2004-07-27 13:13:52 +00:00
Luboš Luňák
c2fa4013a2 WM_CLASS can be matched whole (class+name) or only class
Added client machine to matched properties.

svn path=/trunk/kdebase/kwin/; revision=315449
2004-05-28 13:54:20 +00:00
Luboš Luňák
80624445c9 addTransient() may temporary cause loops, so delay calling of findModal()
until they're broken

svn path=/trunk/kdebase/kwin/; revision=315405
2004-05-28 11:33:36 +00:00
Luboš Luňák
1fc08d271f No need it do it twice.
svn path=/trunk/kdebase/kwin/; revision=315373
2004-05-28 09:57:07 +00:00
Luboš Luňák
598c604fb6 Make sure splashscreens stay on top of other windows in the app.
svn path=/trunk/kdebase/kwin/; revision=314694
2004-05-26 08:47:37 +00:00
Luboš Luňák
d373e84e3a Fix fix for #77341.
svn path=/trunk/kdebase/kwin/; revision=307278
2004-04-29 14:13:08 +00:00
Luboš Luňák
bc8e0805a7 This should fix #77341 (fingers crossed), group transients without apps specifying
the group for windows.

svn path=/trunk/kdebase/kwin/; revision=307170
2004-04-29 09:43:01 +00:00
Luboš Luňák
43ed3b4fa5 Fix #78856.
CCMAIL: 78856-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=304870
2004-04-19 11:37:48 +00:00
Luboš Luňák
9a0f2b6e9b When the active window gets a modal dialog, activate the modal. Happens
with kwalletmanager and the wallet open dialog.

svn path=/trunk/kdebase/kwin/; revision=298549
2004-03-25 16:24:56 +00:00
Luboš Luňák
648fb3ed22 Avoid minimize animation when a newly managed window requests to be
initially minimized.

svn path=/trunk/kdebase/kwin/; revision=292900
2004-03-01 18:00:07 +00:00
Luboš Luňák
d2e94b988e Watch properties also on the group leader window, for now only
the startup notification property, but it could be extended
to read icons etc. as well if needed (ICCCM 4.1.2.7).

svn path=/trunk/kdebase/kwin/; revision=291218
2004-02-25 09:51:47 +00:00
Luboš Luňák
3abd0ebdf0 Oops. Qt3.2 used to set resource class in WM_CLASS all lowercase, but
Qt3.3 capitalizes it (part of my own patch IIRC, hehe :-/), so all
the workarounds for specific apps no longer work -> force resource class
to be always lowercase.

svn path=/trunk/kdebase/kwin/; revision=290521
2004-02-23 12:47:28 +00:00
Luboš Luňák
42e26ff608 Use WM_CLIENT_LEADER for grouping if a window is group transient
but has no group set. This should take care of comment #20 in #69519.

svn path=/trunk/kdebase/kwin/; revision=285366
2004-02-05 18:16:53 +00:00
Luboš Luňák
bcd0bb4113 Fix finding of mainwindows.
svn path=/trunk/kdebase/kwin/; revision=272430
2003-12-11 09:09:38 +00:00
Luboš Luňák
2488a7c674 Add some stuff that should be most probably done but I'm afraid to do
it now in the freeze.

svn path=/trunk/kdebase/kwin/; revision=272282
2003-12-10 11:28:31 +00:00
Luboš Luňák
78b84121d7 Make group transients transient only for windows in the same group that
were mapped before it, not for new ones. This greatly minimizes
the posibility of loops and avoids all those problems in #67914
causes by so many dialogs not having their parent specified.

svn path=/trunk/kdebase/kwin/; revision=272281
2003-12-10 11:27:20 +00:00
Luboš Luňák
74741dee7e The change done in r2.9 made the test for two windows belonging to the same
app too restrictive, now it fails e.g. with xmms equivalizer and playlist.

svn path=/trunk/kdebase/kwin/; revision=270836
2003-12-02 18:11:24 +00:00
Luboš Luňák
8f181d8b52 checkGroupTransients() uses hasTransient() to break loops, so it must detect them,
fixes #69094

svn path=/trunk/kdebase/kwin/; revision=269892
2003-11-27 14:37:55 +00:00
Luboš Luňák
fe0ab6d200 Avoid making windows transient to themselves.
Don't worry about creating loops with group transients, checkGroupTransients()
will check for them and has better chances to break them correctly.

svn path=/trunk/kdebase/kwin/; revision=269292
2003-11-24 14:24:04 +00:00
Luboš Luňák
225f12f1d3 Attempt number 3251 at finally fixing #67914. This window grouping
will have to be reworked for 3.3.

svn path=/trunk/kdebase/kwin/; revision=268607
2003-11-21 14:05:20 +00:00
Luboš Luňák
b2b60d647f Change Client::checkGroupTransients() to really do what it's supposed to do,
including indirect transiency.
Should finally fix #67914 and all its dupes.

svn path=/trunk/kdebase/kwin/; revision=268157
2003-11-19 12:10:48 +00:00
Luboš Luňák
0fb3d41e26 If two windows are the same, they belong to the same application.
Second part for #68553.

svn path=/trunk/kdebase/kwin/; revision=268142
2003-11-19 10:44:36 +00:00
Luboš Luňák
e7c55a0c89 Ouch ... thanks to Ossi for noticing.
svn path=/trunk/kdebase/kwin/; revision=266865
2003-11-13 18:27:31 +00:00
Luboš Luňák
33e9753f6b If windows don't have _NET_WM_PID set, don't rely on pid1==pid2 when
finding out if they're the same app.
CCMAIL: 68087-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=266853
2003-11-13 17:19:49 +00:00
Luboš Luňák
6c3176c74c Avoid transient loops with group transients.
CCMAIL: 67914-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=266527
2003-11-12 09:02:37 +00:00
Luboš Luňák
70645a691a When a new window appears in a group, make sure group transients are
transient for it.

svn path=/trunk/kdebase/kwin/; revision=266151
2003-11-10 18:08:59 +00:00
Luboš Luňák
3a23e0775d Fix focus stealing prevention for XV, just in case Coolo sometimes decides
to run it again.

svn path=/trunk/kdebase/kwin/; revision=261527
2003-10-24 09:00:40 +00:00
Luboš Luňák
80376961fc More debug output.
svn path=/trunk/kdebase/kwin/; revision=254812
2003-09-29 11:20:12 +00:00
Luboš Luňák
8a11c2ff74 Fix transiency loop with WM_TRANSIENT_FOR poiting to itself (e.g. with
ssh-askpass), and put the Only True assert() (TM) back.

svn path=/trunk/kdebase/kwin/; revision=253636
2003-09-24 16:56:49 +00:00
David Faure
d9066553de KWin crashing on every KDE startup isn't fun.... Some info:
kdeinit: kwin -session 110a000002000106431633100000023760005_1064355176_942460: /mnt/devel/kde/kdecvs/kdebase/kwin/group.cpp:537: void KWinInternal::Cli
ent::addTransient(KWinInternal::Client*): Assertion `cl != this' failed.
(the debug output before that includes a backtrace to _ZN12KWinInternal9Workspace21allowClientActivationEPKNS_6ClientEmbb

#7  0x4141c745 in __assert_fail ()
#8  0x4157fdea in KWinInternal::Client::addTransient(KWinInternal::Client*) ()
#9  0x4157f211 in KWinInternal::Client::setTransient(unsigned long) ()
#10 0x4157feda in KWinInternal::Client::checkTransient(unsigned long) ()
#11 0x4157e7dd in KWinInternal::Workspace::checkTransients(unsigned long) ()
#12 0x415538f2 in KWinInternal::Workspace::addClient(KWinInternal::Client*, KWinInternal::allowed_t) ()
#13 0x415536e4 in KWinInternal::Workspace::createClient(unsigned long, bool) ()
#14 0x415721f5 in KWinInternal::Workspace::workspaceEvent(_XEvent*) ()

svn path=/trunk/kdebase/kwin/; revision=253509
2003-09-24 08:23:39 +00:00
Luboš Luňák
1e61c406f9 Temporary fix for #64516.
svn path=/trunk/kdebase/kwin/; revision=252394
2003-09-19 14:53:39 +00:00
Luboš Luňák
10f405c73d Merging kwin core from kwin_iii back to HEAD.
svn path=/trunk/kdebase/kwin/; revision=251608
2003-09-16 19:28:03 +00:00