Commit Graph

619 Commits (ffdadc48443ddff8688ecb9c128fe69fa0cdb094)

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