Commit Graph

828 Commits (b3d8ce904431a28530475366f68df27b0b987077)

Author SHA1 Message Date
Luboš Luňák a2f94886d0 remove now unused variable
svn path=/trunk/KDE/kdebase/workspace/; revision=1087538
2010-02-09 10:39:18 +00:00
Martin Gräßlin 3470845dcf Replace do_show with !noBorder(). This should prevent a crash in conjunction with Plasma netbook.
I think it's too late in the cycle to backport to 4.4.0 so if it does not cause any other problems, I will backport to 4.4 branch.
(In case I forget to backport as I am busy with non-kwin issues, please remind me in the bugreport)
Thanks to Thomas Leineweber for providing the patch and investigating the issue.
BUG: 221868

svn path=/trunk/KDE/kdebase/workspace/; revision=1084748
2010-02-03 17:43:47 +00:00
Martin Gräßlin 21821f48a4 Less krazy warnings: use prefix ++ instead of postfix.
SVN_SILENT

svn path=/trunk/KDE/kdebase/workspace/; revision=1063341
2009-12-17 21:35:37 +00:00
Fredrik Höglund 586f4e9010 Check if the decoration supports the frame overlap strut in
Client::transparentRect() and Client::layoutDecorationRects().

svn path=/trunk/KDE/kdebase/workspace/; revision=1063057
2009-12-16 20:51:54 +00:00
Lucas Murray 72b50354a0 Swap if statements around so it makes more sense. Also fix possible
logic error.

svn path=/trunk/KDE/kdebase/workspace/; revision=1062369
2009-12-14 13:30:39 +00:00
Lucas Murray 89e8c3f186 Make Client::setClientShown() a no-op if it's not required. (Maybe fixes
focus stealing prevention for ungrouped windows?)

svn path=/trunk/KDE/kdebase/workspace/; revision=1062368
2009-12-14 13:26:39 +00:00
Thomas Lübking 99b912e91e catch client_group on caption change, caused segfault after switchiing between tabbing and non-tabbing decos
svn path=/trunk/KDE/kdebase/workspace/; revision=1062020
2009-12-13 15:23:22 +00:00
Fredrik Höglund 18c0ca2ff5 Ignore the frame overlap strut when compositing is disabled, and return
a null rect in transparentRect() when the window is shaded.

svn path=/trunk/KDE/kdebase/workspace/; revision=1056399
2009-11-30 00:37:52 +00:00
Fredrik Höglund 0a8c06b054 Implement support for _KDE_NET_WM_FRAME_OVERLAP.
svn path=/trunk/KDE/kdebase/workspace/; revision=1054393
2009-11-25 23:32:35 +00:00
Jacopo De Simoi 637ff72e1f Make sure that the paintredirector pending region is added to the repaint region only once in case the window gets minimized.
TAB--

svn path=/trunk/KDE/kdebase/workspace/; revision=1050675
2009-11-17 21:34:58 +00:00
Lucas Murray 78d1aed9f7 Add setting to hide inactive tabs from the taskbar but hide it in the UI
for now as: 1) It causes taskbar items to reshuffle, and 2) Switching
the setting during a session currently requires applications to be
restarted as well for their skip taskbar status to be reset.

svn path=/trunk/KDE/kdebase/workspace/; revision=1050472
2009-11-17 11:25:03 +00:00
Lucas Murray 7fe224e579 Don't change the client group visible status of a window if it is being
deleted. Hopefully fixes a crash in Client::exportMappingState().

svn path=/trunk/KDE/kdebase/workspace/; revision=1050010
2009-11-16 11:38:26 +00:00
Lucas Murray fad5724f33 Add clients to a NULL group when they are released if they were in a
group before.

svn path=/trunk/KDE/kdebase/workspace/; revision=1049887
2009-11-16 02:39:16 +00:00
Lucas Murray a0d07d12a2 Merged r970865:1049322 from /branches/work/kwin-tabbing
Adds window tabbing support to KWin.
FEATURE: 42023

svn path=/trunk/KDE/kdebase/workspace/; revision=1049334
2009-11-15 03:24:04 +00:00
Jacopo De Simoi 6317e2ef3a We still need to add the repaints, but first check if it is indeed the case
svn path=/trunk/KDE/kdebase/workspace/; revision=1047737
2009-11-11 23:37:40 +00:00
Jacopo De Simoi 71a73acae8 Avoids a nasty race condition that caused corrupted window decorations
BUG:199735


svn path=/trunk/KDE/kdebase/workspace/; revision=1046461
2009-11-08 19:47:58 +00:00
Lucas Murray 65e8bea70d Make quick maximization and tiling more intuitive by handling resize and
move operations in a logical fashion when a window is in the maximized
or tiled state.

svn path=/trunk/KDE/kdebase/workspace/; revision=1035021
2009-10-14 09:33:00 +00:00
Lucas Murray 743e058af5 Detect when _MOTIF_WM_HINTS gains or loses the no border hint.
Patch by Daniel Erat.
BUG: 201523

svn path=/trunk/KDE/kdebase/workspace/; revision=1030932
2009-10-03 14:32:24 +00:00
Robin Harold Burchell 102ec081e2 Extend on the quicktiling(/snap) work by mgraesslin in r1021305:
- Add hotkeys for snap left/snap right, kwin won't need a seperate hotkey for snap up, as maximize will do that job for us, and it already has a hotkey
 - Add geometry restoring to quick tile, meaning that windows can be moved back to their original state after a tile, useful if just looking at something quickly.

Thanks to mgraesslin for review and lots of mentoring.

svn path=/trunk/KDE/kdebase/workspace/; revision=1022987
2009-09-13 17:09:44 +00:00
Martin Gräßlin 76f17e6de1 Here comes the new TabBox. It is a complete rewrite using a MVC approach. Here some highlights:
* Models and Delegates for Clients and Desktops
 * Horizontal, vertical and tabular layout
 * Layout of one item can be configured by an XML definition
 * A desktop item can include a client list
 * An optional second list view showing only the selected item
 * A new KCM "kwintabbox"
 * An alternative TabBox with independent settings and keybindings
 * Optional Highlight Windows effect integration
 * List scrolls instead of removing items
 * Scroll wheel support
 * Cursor key support
 * Middle click on item closes window
BUG: 195745
BUG: 197187
BUG: 201103
FEATURE: 118184
FEATURE: 156723
FEATURE: 177441
FEATURE: 182897
FEATURE: 193882
GUI:

svn path=/trunk/KDE/kdebase/workspace/; revision=1022861
2009-09-13 11:36:45 +00:00
Andreas Kling 00b1ad8e18 Plug an X11 property leak in Client::getSyncCounter()
svn path=/trunk/KDE/kdebase/workspace/; revision=1022615
2009-09-12 09:42:03 +00:00
Robin Harold Burchell f585e4e1d9 A number of small warning fixes (bracketing, etc) to help pick up real problems when working.
svn path=/trunk/KDE/kdebase/workspace/; revision=1022531
2009-09-11 23:44:29 +00:00
Martin Gräßlin 754f5d0829 Quick maximize and tiling when moving a window to the left/right or top screen edge.
Top screen edge (un)maximizes. Left screen edge sets window to left half of screen geometry, right edge to other half.

svn path=/trunk/KDE/kdebase/workspace/; revision=1021305
2009-09-08 20:01:08 +00:00
Martin Gräßlin 807891fcb0 Initialize the padding variables. This could be the solution to the problems with non-bordered windows like KRunner and Yakuake.
Anyone experience this problem please test and report if you still have crashes.
CCBUG: 196877

svn path=/trunk/KDE/kdebase/workspace/; revision=1001997
2009-07-24 18:32:24 +00:00
Fredrik Höglund 3685b3260a Make sure that the repainted area includes the whole area
used by the decoration.

This fixes ghost shadows being left behind when windows
are minimized.

svn path=/trunk/KDE/kdebase/workspace/; revision=980474
2009-06-11 20:12:11 +00:00
Martin Gräßlin c561207946 Do not release the bound pixmap every time the decoration get's updated. That is the reason why effects were slow when active client changed. Additional do a XSync when the decoration pixmap is painted. That ensures that the pixmap is painted before the texture from pixmap is done.
BUG: 191694

svn path=/trunk/KDE/kdebase/workspace/; revision=969647
2009-05-18 16:42:23 +00:00
Fredrik Höglund 8bba7aed7d Make it possible for the decorations to paint outside the window frame
when compositing is enabled, by letting them add additional padding
to the sides of the frame.

svn path=/trunk/KDE/kdebase/workspace/; revision=963586
2009-05-04 22:35:33 +00:00
Martin Gräßlin 1c45f2a2d8 Forgot to add the changes to client for argb decoration (rev 957681)
svn path=/trunk/KDE/kdebase/workspace/; revision=957718
2009-04-22 19:00:51 +00:00
Fredrik Höglund e92aab0518 Implement initial support for ARGB window decorations.
Based on earlier work done by Lubos Lunak and ideas by Lucas Murray.

svn path=/trunk/KDE/kdebase/workspace/; revision=957680
2009-04-22 17:29:56 +00:00
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 edcd0112fa Allow minimizing of modal dialogs, simply meaning that their main window
will be minimized too. Also don't disable the minimize animation for the dialog.
(bnc#431378)


svn path=/trunk/KDE/kdebase/workspace/; revision=908237
2009-01-09 14:07:03 +00:00
Luboš Luňák 707118ca3c Compile in one line :).
svn path=/trunk/KDE/kdebase/workspace/; revision=898863
2008-12-19 10:32:54 +00:00
Lucas Murray 038667db7a SVN_SILENT Standardize coding style on client.* and workspace.*
svn path=/trunk/KDE/kdebase/workspace/; revision=898612
2008-12-18 13:50:57 +00:00
Lucas Murray d5a630cabd When window shade hovering is enabled do not immediately shade the
window once the cursor leaves the window, instead wait a little while.
Patch by Marcel Partap.
BUG: 81085

svn path=/trunk/KDE/kdebase/workspace/; revision=897056
2008-12-15 08:27:17 +00:00
Rick Xing 4975618a22 add brace to avoid compiling warning of gcc
svn path=/trunk/KDE/kdebase/workspace/; revision=894172
2008-12-08 03:49:44 +00:00
Lucas Murray 9dc6216729 Correct implementation of r886439.
BUG: 136949

svn path=/trunk/KDE/kdebase/workspace/; revision=888667
2008-11-25 03:23:59 +00:00
Lucas Murray 04f26ad6bb Revert r886439
CCBUG: 136949

svn path=/trunk/KDE/kdebase/workspace/; revision=886742
2008-11-19 22:48:21 +00:00
Lucas Murray b37468c3b8 Prevent crash when forcing a window onto a non-existant desktop.
Can't work out why it doesn't move the window back onto the correct
desktop once it's restored though.
BUG: 136949

svn path=/trunk/KDE/kdebase/workspace/; revision=886439
2008-11-19 09:08:47 +00:00
Laurent Montel 5535a9de5e Fix iterator
svn path=/trunk/KDE/kdebase/workspace/; revision=883047
2008-11-11 23:09:11 +00:00
Luboš Luňák 6c04eb4a6a When window shape changes, also cause a workspace repaint, just in case
the change removes part of a window. Also, window repaint is enough,
no need to damage the window contents.


svn path=/trunk/KDE/kdebase/workspace/; revision=866350
2008-09-30 16:45:24 +00:00
Luboš Luňák 08571b2f52 Do not use 'assert( false )', with NDEBUG that is a no-op and
results in warnings about missing return.


svn path=/trunk/KDE/kdebase/workspace/; revision=861879
2008-09-17 11:44:51 +00:00
Luboš Luňák 14ae8d2dc9 Support for unredirecting fullscreen windows, i.e. games etc. can paint directly
and not be slowed down by going through compositing. Turned on and no UI option
in the naive hope that it won't cause any real problems. Maybe effects doing
window previews should get API to suspend unredirect though.


svn path=/trunk/KDE/kdebase/workspace/; revision=851742
2008-08-24 13:32:57 +00:00
Diego Iastrubni 7b3336252c Add LRM to the end of the window title to fix situations in which there are several windows with the same name and
"<%n>" is appended to the window title. It should have no affect on LTR desktops, and on RTL desktops it fixes the display.
BUG: 154840


svn path=/trunk/KDE/kdebase/workspace/; revision=846529
2008-08-13 16:33:54 +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
Dirk Mueller 5079d9f1a5 do not block waiting for the kill_helper to be gone, otherwise
kwin gets stuck
BUG: 156998

svn path=/trunk/KDE/kdebase/workspace/; revision=819519
2008-06-11 13:51:20 +00:00
Luboš Luňák 3f4a2dfaed Add functions for querying xinerama screens to effects API,
from Lucas Murray <admin@undefinedfire.com>.


svn path=/trunk/KDE/kdebase/workspace/; revision=818782
2008-06-09 16:09:56 +00:00
Luboš Luňák 4f9cb481c2 Command-line args don't need explicit encoding.
svn path=/trunk/KDE/kdebase/workspace/; revision=802405
2008-04-29 09:13:00 +00:00
Luboš Luňák e7c88f309d Reduce the difference between noborder requested by the application
and set by the user - they're now interchangeable. Which means
that Alt+F3/Advanced/No border can put the window decoration
back on the KRunner window regardless of what Plasma or any other
app thinks.


svn path=/trunk/KDE/kdebase/workspace/; revision=788964
2008-03-23 00:12:11 +00:00
Luboš Luňák a32b9ff1e7 Don't keep a separate flag for the Motif noborder flag.
svn path=/trunk/KDE/kdebase/workspace/; revision=788801
2008-03-22 14:34:22 +00:00
Luboš Luňák fbbe94753e Repaint decoration after configuration change when it doesn't need a reset.
svn path=/trunk/KDE/kdebase/workspace/; revision=788371
2008-03-21 12:57:41 +00:00
Luboš Luňák 38291eb82c Make border sizes while maximizing take effect even when the actual
geometry does not change.
BUG: 158252


svn path=/trunk/KDE/kdebase/workspace/; revision=787741
2008-03-19 19:32:32 +00:00
Luboš Luňák 7a2fbfa2e0 Fix wrong code removal from r558258.
svn path=/trunk/KDE/kdebase/workspace/; revision=787734
2008-03-19 18:59:22 +00:00
Luboš Luňák a3d931a84b QObject: Do not delete object, 'unnamed', during its event handler!
BUG: 156998


svn path=/trunk/KDE/kdebase/workspace/; revision=783314
2008-03-07 19:54:11 +00:00
Luboš Luňák ea8a3ed648 I suppose this warning actually doesn't make that much sense.
svn path=/trunk/KDE/kdebase/workspace/; revision=762187
2008-01-16 13:55:06 +00:00
Luboš Luňák e173e55c8e Add a comment about input shape.
svn path=/trunk/KDE/kdebase/workspace/; revision=749696
2007-12-17 16:31:16 +00:00
Adriaan de Groot 9ff9f6ce22 Disambiguating ints and unsigned and float and double
svn path=/trunk/KDE/kdebase/workspace/; revision=747016
2007-12-10 20:43:13 +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 d6b7ef180d No kde3/qt3 support in kwin core. Saves about 150M of memory in gdb
by not loading the support libraries and the complete kdelibs stack it depends
on. Gdb taking 0.5M and lousy handling of near-OOM in Linux kernel
can be a pretty bad combination :(.


svn path=/trunk/KDE/kdebase/workspace/; revision=741856
2007-11-26 15:42:44 +00:00
Luboš Luňák dbe1f3f875 Avoid one more case of unnecessary discarding window pixmap.
svn path=/trunk/KDE/kdebase/workspace/; revision=728563
2007-10-23 17:38:39 +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 63a0120a60 Remove some no longer relevant todos.
svn path=/trunk/KDE/kdebase/workspace/; revision=689955
2007-07-19 16:38:46 +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 31fbf4317e Uninitialized variable.
svn path=/trunk/KDE/kdebase/workspace/; revision=684498
2007-07-06 18:29:33 +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
Luboš Luňák 5f003b9ec3 Remove a copy that's a result of wrong merging of a diff.
svn path=/trunk/KDE/kdebase/workspace/; revision=683154
2007-07-04 09:48:42 +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 ef59c8956a When doing a forced geometry update while updates are suspended, remember to force the geometry
update when resuming.


svn path=/trunk/KDE/kdebase/workspace/; revision=677635
2007-06-19 15:40:09 +00:00
Laurent Montel a38f0d95e1 K3Process--
svn path=/trunk/KDE/kdebase/workspace/; revision=676771
2007-06-17 17:09:40 +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 61ada25cdf Rework r293762 - enter move/resize mode also when the user just
holds the mouse button down for a moment, without moving.


svn path=/trunk/KDE/kdebase/workspace/; revision=667351
2007-05-22 15:46:42 +00:00
Luboš Luňák d510baf365 Option for separating focus between Xinerama screens.
svn path=/trunk/KDE/kdebase/workspace/; revision=662065
2007-05-07 12:18:19 +00:00
Luboš Luňák a7c2ac4542 Fix incorrect patch merge.
svn path=/trunk/KDE/kdebase/workspace/; revision=660358
2007-05-02 12:50:37 +00:00
Luboš Luňák 7a0f50b298 KWM->KWindowSystem
svn path=/trunk/KDE/kdebase/workspace/; revision=659662
2007-04-30 15:48:34 +00:00
Luboš Luňák 769bf2bded Merging from old trunk:
r652602 | lunakl | 2007-04-11 16:42:13 +0200 (Wed, 11 Apr 2007) | 4 lines

Fix timestamp handling on 64bit platforms.
BUG: 143545


svn path=/trunk/KDE/kdebase/workspace/; revision=659578
2007-04-30 12:38:30 +00:00
Luboš Luňák 3ef7eb5637 Merging from old trunk:
r613884 | lunakl | 2006-12-15 15:57:18 +0100 (Fri, 15 Dec 2006) | 3 lines

Boy, I'm so smart, first deleting an object and then doing a consistency check on it.


svn path=/trunk/KDE/kdebase/workspace/; revision=659484
2007-04-30 09:50:38 +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 95b5cca122 Merging from old trunk:
r609071 | lunakl | 2006-11-29 14:25:38 +0100 (Wed, 29 Nov 2006) | 4 lines

+    // 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=659470
2007-04-30 09:41:48 +00:00
Luboš Luňák 629166134a Fix compile.
svn path=/trunk/KDE/kdebase/workspace/; revision=659314
2007-04-29 22:46:05 +00:00
Luboš Luňák b9ce4b2954 Merging from old trunk:
r603295 | lunakl | 2006-11-08 14:59:27 +0100 (Wed, 08 Nov 2006) | 6 lines

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=659308
2007-04-29 22:37:19 +00:00
Luboš Luňák 50a788d633 Merging from old trunk:
r594160 | lunakl | 2006-10-10 12:28:32 +0200 (Tue, 10 Oct 2006) | 6 lines

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=659292
2007-04-29 21:59:40 +00:00
Luboš Luňák b99dee8cf7 Merging from old trunk:
r574237 | lunakl | 2006-08-18 15:45:50 +0200 (Fri, 18 Aug 2006) | 5 lines

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=659281
2007-04-29 21:39:58 +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 ef0fee3633 Fix timestamp handling on 64bit platforms.
BUG: 143545


svn path=/trunk/KDE/kdebase/workspace/; revision=652602
2007-04-11 14:42:13 +00:00
Rivo Laks 02032f8587 Move most (all?) internal methods from EffectsHandler to EffectsHandlerImpl.
The ugly side effect of this is that there are tons of static_casts in the code now... maybe it
  would be better to add effectImpl() convenience method and use that?

svn path=/branches/work/kwin_composite/; revision=652348
2007-04-10 18:47:13 +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 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
Luboš Luňák 10ea80a963 KWin/KWinModule -> KWM
svn path=/trunk/KDE/kdebase/workspace/; revision=649608
2007-04-02 21:30:50 +00:00
Rivo Laks d809643245 Make it compile:
- KProcess -> K3Process rename
- fix KKeyServer::xEventToQt() argument

svn path=/branches/work/kwin_composite/; revision=647255
2007-03-27 19:59:04 +00:00
Oswald Buddenhagen 3ee016f50d KProcess -> K3Process
KShellProcess -> K3ShellProcess
KProcIO -> K3ProcIO
KProcessController -> K3ProcessController

not deprecating, as we don't have a replacement yet.
not moving yet, as kdelibs still has heavy dependencies on it.

agreed upon with dfaure.


svn path=/trunk/KDE/kdebase/workspace/; revision=646732
2007-03-26 15:07:10 +00:00
Luboš Luňák 8b5b40e4e8 Shadows. Right not it's only flat black rectangle, but otherwise
everything should work.


svn path=/branches/work/kwin_composite/; revision=646315
2007-03-25 10:48:07 +00:00
Luboš Luňák f6ad1881e1 Support for window thumbnails.
svn path=/branches/work/kwin_composite/; revision=640344
2007-03-07 17:50:33 +00:00
Luboš Luňák e61ecff9b9 Check that getting compositing pixmap of a window succeeded.
It may fail (or "fail") if the window is not mapped or if the geometry
doesn't match, both of which may happen due to the asynchronous
nature of X.


svn path=/branches/work/kwin_composite/; revision=637741
2007-02-27 16:13:34 +00:00
Luboš Luňák a5e508590a I have a strange feeling nobody will be bothered enough to spend
time with non-composited minimize/shade animations.


svn path=/branches/work/kwin_composite/; revision=633222
2007-02-13 15:11:59 +00:00
Luboš Luňák 5e8b2465b4 Still some kompmgr code removal.
svn path=/branches/work/kwin_composite/; revision=632900
2007-02-12 16:45:16 +00:00
Luboš Luňák 4019dff500 Distinguish between damage and repaints - damage is when windows contents
change, repaint just triggers repaint of the area (without e.g. the texture
updating for OpenGL).
addDamage() -> addRepaint()
CCMAIL: kwin@kde.org


svn path=/branches/work/kwin_composite/; revision=632866
2007-02-12 15:22:43 +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 63a97b7d3d Add DesktopChangeSlideEffect, an effect that on virtual desktop
change slides the old desktop out and the new one in. Should not
be really technically different from the cube.


svn path=/branches/work/kwin_composite/; revision=629163
2007-02-01 17:20:48 +00:00
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
Luboš Luňák a0384cdd8a KWin rules - matching on window type.
svn path=/trunk/kdebase/kwin/; revision=316407
2004-05-31 14:04:49 +00:00
Luboš Luňák ab8ff46877 Forcing of a specific window type.
svn path=/trunk/kdebase/kwin/; revision=315469
2004-05-28 15:04:01 +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 8e09a9bc22 I guess I could finally find some time to work on things for 3.3.
Initial work on kwin rules, i.e. #36377 , per window specific settings.
So far only desktop/above/below work, no GUI, and settings from the old
'Save window settings' are ignored for now.

svn path=/trunk/kdebase/kwin/; revision=315446
2004-05-28 13:51:11 +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 6d919922e2 Better implementation for ##36065.
svn path=/trunk/kdebase/kwin/; revision=305578
2004-04-22 12:30:57 +00:00
Luboš Luňák 88e699aea2 Fix #66868.
svn path=/trunk/kdebase/kwin/; revision=305173
2004-04-20 15:19:47 +00:00
Luboš Luňák 0b012b18f3 Show sizeAllCursor also when moving a shaded window.
svn path=/trunk/kdebase/kwin/; revision=304932
2004-04-19 14:55:29 +00:00
Luboš Luňák f701524d4e Experimental support for #36065 (dragging from a window shouldn't raise it).
Needs a Qt patch.

svn path=/trunk/kdebase/kwin/; revision=304194
2004-04-16 10:23:42 +00:00
Luboš Luňák 854e9cc05a With windows that have are listed for the focus stealing prevention
workaround, don't make their user timestamp newer than the active window's
one (unless a real user activity takes place in them).
As they are belong to the active application and just fail to say so,
this makes sure they won't prevent that application from getting focus
by having newer timestamp. E.g. Alt+F2, typing URL, kio_uiserver dialog
shows (has workaround), SSL certificate dialog shows (shown by kdesktop),
and it wouldn't get focus, because kio_uiserver's timestamp would be later.

svn path=/trunk/kdebase/kwin/; revision=298357
2004-03-24 19:05:49 +00:00
Luboš Luňák ff081c36a0 Fix #76394,
svn path=/trunk/kdebase/kwin/; revision=293762
2004-03-05 14:22:11 +00:00
Luboš Luňák e329c3d872 Use a separate InputOnly window covering whole screen because it
reportedly improves move/resize performance on some systems
for some reason which I fail to see, but oh well.
(http://lists.kde.org/?t=107302193400001&r=1&w=2)

svn path=/trunk/kdebase/kwin/; revision=293755
2004-03-05 13:39:27 +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 aee628e008 Fix #76408 - do range checking on _NET_WM_DESKTOP values.
CCMAIL: 76408-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=292889
2004-03-01 17:20:19 +00:00
Luboš Luňák 96cc95943a Fix #72074 - when trying to close a window, update user timestamp
on the whole group, so that the possible 'close?' dialog has a recent
timestamp even if the window about to be closed wasn't active.

svn path=/trunk/kdebase/kwin/; revision=291859
2004-02-27 13:35:09 +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 ea87eea812 On auto unshading, don't keep focus on the unshaded window, revert
focus to the previously active window.
CCMAIL: 75302-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=288483
2004-02-16 15:19:39 +00:00
Luboš Luňák 0c051481e9 Fix #74063 - if there's a restacking operation, cancel pending autoraise
for the window.

svn path=/trunk/kdebase/kwin/; revision=286801
2004-02-10 14:46:03 +00:00
Luboš Luňák 81a1feae6d Finally the proper way of doing r1.395.
svn path=/trunk/kdebase/kwin/; revision=286457
2004-02-09 13:33:57 +00:00
Luboš Luňák 0a92241212 Don't try to find unique window name for special windows. It looks stupid
to have main icemon window with title 'icemon <2>' just because 'icemon'
was taken by topmenu.

svn path=/trunk/kdebase/kwin/; revision=283828
2004-01-30 15:24:46 +00:00
Luboš Luňák 3f46071ff4 The mysterious window type Override strikes back, this time breaking
stacking order for Qt-3.2.x fullscreen windows not patched to use
NETWM fullscreens. Tested by Laurent Montel.

svn path=/trunk/kdebase/kwin/; revision=281817
2004-01-22 18:10:52 +00:00
Luboš Luňák 0a65d69e80 Avoid the warning when it's the same client activated twice using
the same timestamp (e.g. when clicking on the kgpg systray icon).

svn path=/trunk/kdebase/kwin/; revision=279888
2004-01-15 12:18:27 +00:00
Luboš Luňák c1d1b6289f Make sure there aren't two windows given focus with the same X timestamp,
because if one timestamp is reused for activating window A and then
immediatelly window B, and A will want to set focus to one
of its subwindows after receiving WM_TAKE_FOCUS, and will lag a bit,
it will actually set the focus after B, and will win. Fixes #71704.

If somebody still gets the warning, I'd be interested in the backtrace.

svn path=/trunk/kdebase/kwin/; revision=278208
2004-01-09 17:35:21 +00:00
Luboš Luňák 2d272e0a87 In r1.395, I forgot to unmap the wrapper window too. As it has no background
set, it remembers the contents of the unmapped client window, therefore
the ugly effect actually stayed.

svn path=/trunk/kdebase/kwin/; revision=273891
2003-12-19 17:05:50 +00:00
Luboš Luňák 569224d117 Replace the temporary MousePosition enum naming with something that
doesn't look so silly and doesn't conflict with Qt.

svn path=/trunk/kdebase/kwin/; revision=273144
2003-12-15 15:10:17 +00:00
Luboš Luňák c26c55787f Remove some obsolete comments.
svn path=/trunk/kdebase/kwin/; revision=273143
2003-12-15 14:44:17 +00:00
Luboš Luňák 55f1a65613 More debug functions.
svn path=/trunk/kdebase/kwin/; revision=272429
2003-12-11 09:09:05 +00:00
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 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 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 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 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 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 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 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 e243bdd43c Open Konqueror at kde.org, open another one at kde.org, close the second
one, open Konqueror at dot.kde.org -> it would still have the old caption
in taskbar due to the old _NET_WM_VISIBLE_NAME property value -> fixed.

svn path=/trunk/kdebase/kwin/; revision=266857
2003-11-13 17:51:11 +00:00
Luboš Luňák b878ad84d9 Make sure that when calling Workspace::clientHidden(), the client is really
hidden, otherwise it could attempt to restore the focus back to this client.
CCMAIL: 66926-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=263383
2003-10-31 09:45:14 +00:00
Luboš Luňák b884178c99 KDecoration::unobscuredRegion(), for B2 titlebar unhiding.
svn path=/trunk/kdebase/kwin/; revision=262494
2003-10-27 16:28:53 +00:00
Luboš Luňák 43c71a8c72 No delayed deleting of decorations. They'll have to check themselves
instead, using KDecorationFactory::exists(). Fixes #66205, and it wasn't
really that good idea anyway.

svn path=/trunk/kdebase/kwin/; revision=260988
2003-10-22 08:26:09 +00:00
Luboš Luňák 5af892be88 Avoid infinite loop with empty caption.
CCMAIL: jowenn@kde.org
This should fix your problem, can you try again?

svn path=/trunk/kdebase/kwin/; revision=259094
2003-10-15 09:48:22 +00:00
Luboš Luňák 8b5159bb1a Warn when somebody plays too much, turns off a border and doesn't know how
to put it back *sigh*.

CCMAIL: 64938-done@bugs.kde.org

svn path=/trunk/kdebase/kwin/; revision=258583
2003-10-13 16:22:39 +00:00
Luboš Luňák d45a853dd4 Fixes related to shown shaded windows.
svn path=/trunk/kdebase/kwin/; revision=257726
2003-10-10 13:00:01 +00:00
Luboš Luňák 34fa4a4399 Cleanup of Xinerama handling. I don't claim I actually fixed something,
but at least now the code doesn't look like uncommented random something.
And who knows, maybe I even fixed it ;).

CCMAIL: staikos@kde.org

What the hell does "Show unmanaged windows on:" mean in the kcm dialog?

svn path=/trunk/kdebase/kwin/; revision=257723
2003-10-10 12:58:38 +00:00
Luboš Luňák 2981785b56 Support for UrgencyHint - such windows are demanding attention when inactive.
svn path=/trunk/kdebase/kwin/; revision=257691
2003-10-10 11:23:42 +00:00
Luboš Luňák e85dae70f5 Don't allow turning off the border while shaded.
svn path=/trunk/kdebase/kwin/; revision=256709
2003-10-06 11:31:43 +00:00
George Staikos a98beeee30 KWhatsBroken tells me that redmond is broken. This appears to be what the
other clients do

svn path=/trunk/kdebase/kwin/; revision=256310
2003-10-04 21:27:23 +00:00
Luboš Luňák 08bb12efcf If a windows tries to grow larger than the workarea, don't allow it to
do so, if size constraints allow it.
If resizing a window would make it get partially out of workarea,
move it so that it stays in workarea.

svn path=/trunk/kdebase/kwin/; revision=255616
2003-10-02 08:57:17 +00:00