Commit graph

1880 commits

Author SHA1 Message Date
Luboš Luňák
af9c3b8e85 Fix #66065 - OpenOffice.org claims that its utility windows are dialogs
-> it's better to treat no window from OO.org as dialog :-/.

svn path=/trunk/kdebase/kwin/; revision=272143
2003-12-09 13:58:51 +00:00
Luboš Luňák
9326a7f008 Fix #69787 - off-by-one error when checking top position.
CCMAIL: 69787-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=271907
2003-12-08 12:50:32 +00:00
Luboš Luňák
c151780247 Fix #69721. Also, set the move cursor before input grabs, so the grab
uses the new cursor.

svn path=/trunk/kdebase/kwin/; revision=271904
2003-12-08 12:42:18 +00:00
Script Kiddy
7a3e77449d CVS_SILENT made messages
svn path=/trunk/kdebase/kwin/; revision=271298
2003-12-05 06:52:31 +00:00
Luboš Luňák
0ba12a0837 Perform whole new window managing with X server grab, in order to prevent
"smart" apps from doing stupid things before they get MapNotify.
This avoids the recent Java+OracleInstaller strange problem too.
The patch may look huge, but it's only adding two KWin wrappers
for X(Un)GrabServer() and uncommenting the calls in Client::manage().

svn path=/trunk/kdebase/kwin/; revision=271152
2003-12-04 13:54:10 +00:00
Luboš Luňák
e7d3ffaceb Fix the loop described in #69238 - don't raise special windows if they
become active if autoraise is turned off. It's possible this only fixes
a symptom instead of the problem, but oh well.

svn path=/trunk/kdebase/kwin/; revision=271137
2003-12-04 12:23:49 +00:00
Luboš Luňák
9e1586ba73 Fix Oracle Installer using 'Java(tm): Write once, run somewhere'.
It looks like if _KWIN_RUNNING atom is detected, then it does some strange
XTranslateCoordinate stuff and gets it wrong with current KWin
(and even with FVWM, if the atom exists). However, if _ICEWM_WINOPTHINT
atom also exists, it works fine *shrug*.
CCMAIL: 67283-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=271135
2003-12-04 12:20:34 +00:00
Luboš Luňák
1a852fe8dc When unmapping, unmap from outside(frame->wrapper->window), this prevents
frame from getting EnterNotify after unmapping the window.

svn path=/trunk/kdebase/kwin/; revision=270953
2003-12-03 12:24:56 +00:00
Luboš Luňák
2e1bd0e762 I forgot to #undef one #define.
svn path=/trunk/kdebase/kwin/; revision=270837
2003-12-02 18:14:56 +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
6d7e93267d If an application is refused to be raised, but it's above the active client
for some reason, don't restack it below the active one as a result of its
requrest to be raised.

svn path=/trunk/kdebase/kwin/; revision=270832
2003-12-02 17:54:42 +00:00
Luboš Luňák
0b8ee9a5e4 When comparing window requesting activation (i.e. focus stealing prevention),
don't use Workspace::activeClient() as the active client, but instead
the most recent should_get_focus client - that may make a difference
if a window was just activated, but the matching FocusIn event that'll
make it to be activeClient() wasn't yet processes. Visible with apps
that show several windows at the same time after startup.

svn path=/trunk/kdebase/kwin/; revision=270831
2003-12-02 17:52:10 +00:00
Luboš Luňák
962f313ada Since Qt has apparently wrapping still broken, better force it at a reasonable
place.

svn path=/trunk/kdebase/kwin/; revision=270600
2003-12-01 12:01:32 +00:00
Script Kiddy
da6c908254 CVS_SILENT made messages
svn path=/trunk/kdebase/kwin/; revision=270558
2003-12-01 07:07:34 +00:00
Luboš Luňák
358e648501 When releasing a window, hide it before removing decoration, otherwise
it would be moved, causing ugly visual effect.

svn path=/trunk/kdebase/kwin/; revision=269901
2003-11-27 14:54:16 +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
965a44962e Don't keep group transients above topmenus.
svn path=/trunk/kdebase/kwin/; revision=269885
2003-11-27 14:05:42 +00:00
Luboš Luňák
4ee178b277 Fix #69005 - make it possible to differentiate between a window really
being shaded and being set to be shaded (which may differ with hover unshade).

svn path=/trunk/kdebase/kwin/; revision=269526
2003-11-25 15:26:50 +00:00
Luboš Luňák
693d7d77c1 People have strange ideas ... filter out unprintable characters from window
captions.
CCMAIL: 68882-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=269522
2003-11-25 14:55:15 +00:00
Luboš Luňák
897e67f79a Partially revert the recent xinerama commit - !isMapped == useCursorPos
was always true, no need for another argument.

svn path=/trunk/kdebase/kwin/; revision=269308
2003-11-24 15:05:50 +00:00
Luboš Luňák
f30a41aaa6 Oops.
svn path=/trunk/kdebase/kwin/; revision=269305
2003-11-24 14:55:22 +00:00
Luboš Luňák
5bbec2c584 Compress MotionNotify events while user moving/resizing, this should
make opaque resizing acceptable again, close #67471, and stop people
complaining.

svn path=/trunk/kdebase/kwin/; revision=269302
2003-11-24 14:38:03 +00:00
Luboš Luňák
0cf7454675 And eventually user moving/resizing seems to work, even with aspect ratios.
When moving/resizing, first do the operation unconstrained, then snap
(now it should be even simple to implement snapping while resizing),
then check workarea bounds and finally check constrains, while keeping
the respective fixed order for the resize operation at the same position.
Also geometry() -> initialMoveResizeGeometry, as geometry() may change
with opaque move/resize.

svn path=/trunk/kdebase/kwin/; revision=269301
2003-11-24 14:31:02 +00:00
Luboš Luňák
fde7aedf9c Removed duplication of code.
svn path=/trunk/kdebase/kwin/; revision=269300
2003-11-24 14:30:31 +00:00
Luboš Luňák
3768a7f31f I apparently didn't comprehend the user move/resize code, otherwise
I wouldn't have added something that was there already.

svn path=/trunk/kdebase/kwin/; revision=269299
2003-11-24 14:29:57 +00:00
Luboš Luňák
4cc6229be3 *sigh*, how can somebody name variables for topleft and bottomright corners pp and p?
This code is not easy to understand even without meaningless names.

svn path=/trunk/kdebase/kwin/; revision=269298
2003-11-24 14:26:58 +00:00
Luboš Luňák
2c3f9c4069 Some attempts to fix aspect ratios breaking resizing.
When resizing windows manually (Client::handleMoveResize()) still doesn't work.

svn path=/trunk/kdebase/kwin/; revision=269296
2003-11-24 14:26:11 +00:00
Luboš Luňák
0654c0d3b7 Don't compare with itself when searching for other windows belonging to the app.
svn path=/trunk/kdebase/kwin/; revision=269295
2003-11-24 14:25:47 +00:00
Luboš Luňák
2553476f53 Don't require both mouse and keyboard grab for move/resize,
one of them is enough. Allows resising of the configure shortcut
dialog.

svn path=/trunk/kdebase/kwin/; revision=269294
2003-11-24 14:25:33 +00:00
Luboš Luňák
162c76cf46 Reset Client::buttonDown if startMoveResize() failed
due to not being able to grab input. Visible with
resizing the shortcut configure dialog, which has grab.

svn path=/trunk/kdebase/kwin/; revision=269293
2003-11-24 14:24:34 +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
87f8a85083 Added KDecorationFactory::checkRequirements(), which allows the decoration
plugin to check what the core supports, i.e. the opposite of supports().
Not used yet, but apparently will be needed e.g. for the new tranparency.

svn path=/trunk/kdebase/kwin/; revision=269291
2003-11-24 14:22:04 +00:00
Script Kiddy
94a6fd94b5 CVS_SILENT made messages
svn path=/trunk/kdebase/kwin/; revision=269221
2003-11-24 06:46:00 +00:00
Script Kiddy
0ebfcb64db CVS_SILENT made messages
svn path=/trunk/kdebase/kwin/; revision=269010
2003-11-23 07:07:16 +00:00
Script Kiddy
068f6c9994 CVS_SILENT made messages
svn path=/trunk/kdebase/ksysguard/; revision=268761
2003-11-22 06:47:13 +00:00
George Staikos
f859769bb3 use the settings for xinerama placement
svn path=/trunk/kdebase/kwin/; revision=268721
2003-11-21 23:05:35 +00:00
George Staikos
875fc62836 Reimplement Xinerama placement. Patch from Balaji Ramani.
CCMAIL: balaji@yablibli.com

svn path=/trunk/kdebase/kwin/; revision=268719
2003-11-21 23:00:38 +00:00
Luboš Luňák
528b0ed6d7 Fix #65279 - make sure windows hidden by apps are really hidden.
The problem was visible even with { widget.show(); widget.hide(); }.

svn path=/trunk/kdebase/kwin/; revision=268645
2003-11-21 16:46:57 +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
064f1538c8 Hmm, ok, I give up. Check only for IconicState in initial mapping state,
treat all the other strange states as NormalState. Fixes WMaker applets.
CCMAIL: 68069-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=268438
2003-11-20 16:25:52 +00:00
Luboš Luňák
d1cd1a1b18 Check for deletion while handling mouse release on the close button.
Fixes #67267.

svn path=/trunk/kdebase/kwin/; revision=268388
2003-11-20 13:31:19 +00:00
Luboš Luňák
b7e040b873 Fix #67683 by globally enabling/disabling tooltips. As the buttons are
the only thing in kwin that has tooltips, this is fine.
CCMAIL: 67683-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=268374
2003-11-20 13:01:09 +00:00
Luboš Luňák
1f4cc0d542 Fix problem with kppp's systray icon reappearing
(http://lists.kde.org/?l=kde-core-devel&m=106931968918881&w=2).

svn path=/trunk/kdebase/kwin/; revision=268359
2003-11-20 11:56:01 +00:00
Luboš Luňák
b3c1af874a Temporarily comment out Q_ASSERT's about stacking order, as they're quite
harmless, but everybody blames them in their bugreports.

svn path=/trunk/kdebase/kwin/; revision=268335
2003-11-20 09:05:32 +00:00
Luboš Luňák
d6721e0b7a No warnings.
svn path=/trunk/kdebase/kwin/; revision=268334
2003-11-20 09:05:00 +00:00
Script Kiddy
4e8799f86c CVS_SILENT made messages
svn path=/trunk/kdebase/kwin/; revision=268323
2003-11-20 06:35:43 +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
290d7207e6 Make sure the unconstrained_stacking_order list contains all clients.
First part for #68553.

svn path=/trunk/kdebase/kwin/; revision=268141
2003-11-19 10:42:23 +00:00
Luboš Luňák
95cc10f6ca Try harder to find the matching topmenu for kdesktop.
svn path=/trunk/kdebase/kwin/; revision=268022
2003-11-18 18:10:36 +00:00