Commit graph

51 commits

Author SHA1 Message Date
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