Commit Graph

769 Commits (337e1eac180cb347f55a4c017834191c07c4e197)

Author SHA1 Message Date
Thomas Lübking 337e1eac18 revert vsync strategy, fix timeouts
differecens to patch atteched to 258971:
- removed debug statements
- fixed indention...
- NON vsync strategy does not rely on the estimation, but on the time passed since the last repaint trigger, allowing a precise framerate

CCBUG: 258971


svn path=/trunk/KDE/kdebase/workspace/; revision=1210445
2010-12-31 13:14:11 +00:00
Thomas Lübking e2dcfff601 commiting http://svn.reviewboard.kde.org/r/6120/#review9304
this should improve v'syncing, maybe v'synced "smoothness"
remaining and exposed issue are "dirty textures" w/o damage events (see the requst description)
can be diminished by increasing MaxFPS above the fastest update (or shadowed below the slowest one)
CCBUG: 258971

svn path=/trunk/KDE/kdebase/workspace/; revision=1207577
2010-12-18 16:51:43 +00:00
Chani Armitage 0e7e1aa077 stop using deprecated API, and use activity icons
svn path=/trunk/KDE/kdebase/workspace/; revision=1192050
2010-11-01 19:53:22 +00:00
Chani Armitage 03165ff8eb delete session data for deleted activities
svn path=/trunk/KDE/kdebase/workspace/; revision=1192049
2010-11-01 19:53:20 +00:00
Martin Gräßlin 545801de62 Unset noBorder when switching from Netbook to Desktop Shell.
Check on reloading of settings if the no borders for maximized windows option got disabled.
If it got disabled unset the no border option for all maximized windows to get the borders back.
BUG: 222045
FIXED-IN: 4.6.0

svn path=/trunk/KDE/kdebase/workspace/; revision=1189981
2010-10-26 14:43:29 +00:00
Chani Armitage 3c633a48ab Use an X property for activity associations
the new property name is "_KDE_NET_WM_ACTIVITIES", of type XA_STRING,
and it's a comma-separated list of activity UUIDs.

kwin should respond to other processes changing the activity list for a
window, and filter out any bogus IDs. It also caches KActivityController's
list of activities to prevent dbus deadlocks.

CCMAIL: plasma-devel@kde.org

svn path=/trunk/KDE/kdebase/workspace/; revision=1179043
2010-09-24 12:03:22 +00:00
Rohan Ramdas Prabhu 2aec750ebf Trembles the weave as the clock ticks, attain another microstate.
Every disorder causes every duration, which ensures the one that stays.
reality is relative. natural is disorder.
[R]obinhood[P]andey

Merging scripting from
^/branches/work/kwin_scripting TO
^/trunk

svn path=/trunk/KDE/kdebase/workspace/; revision=1177865
2010-09-21 14:31:40 +00:00
Chani Armitage 24c7f96416 update activity of transients properly
svn path=/trunk/KDE/kdebase/workspace/; revision=1128655
2010-05-19 21:02:40 +00:00
Chani Armitage 59590a5993 react to activity removal
svn path=/trunk/KDE/kdebase/workspace/; revision=1126057
2010-05-13 04:06:27 +00:00
Chani Armitage 30313d2869 take advantage of the cached currentActivity
svn path=/trunk/KDE/kdebase/workspace/; revision=1126054
2010-05-13 03:10:31 +00:00
Fredrik Höglund 3b8126f7eb Get the current activity from the Workspace instead of from KActivityConsumer
in TopLevel::isOnCurrentActivity().

KActivityConsumer makes a blocking DBUS call to kded, which if done while
we're holding an X server grab can result in a deadlock if kded is blocked
waiting on a reply from the X server.

BUG: 237437

svn path=/trunk/KDE/kdebase/workspace/; revision=1126013
2010-05-12 23:23:26 +00:00
Chani Armitage a9ad071575 Activity association for windows.
ok'd by fredrikh.
this code is buggy right now, but I promise to squash the bugs by the 19th :)


svn path=/trunk/KDE/kdebase/workspace/; revision=1125614
2010-05-11 20:30:20 +00:00
Nikhil Marathe 2163f87264 Modified workspace method names to mark them up as referring to tiling
svn path=/trunk/KDE/kdebase/workspace/; revision=1125434
2010-05-11 11:10:53 +00:00
Nikhil Marathe 3e9377e6b4 Added comments to some tiling related code
svn path=/trunk/KDE/kdebase/workspace/; revision=1124486
2010-05-09 06:15:40 +00:00
Nikhil Marathe f7c3b38402 Added TilingLayout::reconfigureTiling which respects per window tiling settings and is capable of updating them on the fly by being called from slotReconfigure
svn path=/trunk/KDE/kdebase/workspace/; revision=1123173
2010-05-05 13:52:09 +00:00
Nikhil Marathe a2a7891789 SVN_SILENT Renamed tilingMode to tilingEnabled to better convey its boolean-ness
svn path=/trunk/KDE/kdebase/workspace/; revision=1123140
2010-05-05 12:09:49 +00:00
Christoph Feck 70acd11ecb SVN_SILENT --warnings
svn path=/trunk/KDE/kdebase/workspace/; revision=1118827
2010-04-25 23:37:38 +00:00
Nikhil Marathe 5fc7e93d69 Tiling is here!
This commit merges the kwin-tiling branch. Ideally it shouldn't break anything and add a few features ;-)
It was applied as a patch. Do not attempt to merge the branch directly, it has a few issues.
This feature is currently experimental, although it hasn't crashed in quite a long time. It lacks some features and probably leaks some memory. Fixes will be on the way.

Season Of KDE 2009 project by Nikhil Marathe

svn path=/trunk/KDE/kdebase/workspace/; revision=1118677
2010-04-25 16:43:14 +00:00
Martin Gräßlin ec8d860c4b Allow effects to change the number of desktops and inform effects when the number of desktops is changed.
svn path=/trunk/KDE/kdebase/workspace/; revision=1108239
2010-03-28 09:04:14 +00:00
Davide Bettio 45bcf3173a * Removed "Advanced Button" from screensaver kcm.
* Screensaver screen edges settings have been merged with kwin screen edges settings.
* Removed screensaver priority configuration: we assume that users don't need to change screensaver priority.
REVIEWBOARD: http://reviewboard.kde.org/r/3240/

svn path=/trunk/KDE/kdebase/workspace/; revision=1101792
2010-03-10 22:25:20 +00:00
Lucas Murray f9a5876ac9 Don't auto-group transient windows.
svn path=/trunk/KDE/kdebase/workspace/; revision=1078327
2010-01-22 03:13:18 +00:00
Lucas Murray 41e5bfd793 Change how quick tiling and maximization is activated slightly. Instead
of using electric borders just check the location of the cursor; if the
cursor is near the edge enable the resize snap. This makes the features
easier to activate, removes the conflict with desktop switching and
allows the features to be used completely on multi-screen systems.
Patch inspired by one from Marcel Schaal.
BUG: 218957

svn path=/trunk/KDE/kdebase/workspace/; revision=1071996
2010-01-09 09:49:52 +00:00
Martin Gräßlin f3dbf99a9d List screen edges kcm in "Configure window behaviour".
svn path=/trunk/KDE/kdebase/workspace/; revision=1069509
2010-01-03 15:43:18 +00:00
Fredrik Höglund 042af295ee Update _NET_SUPPORTED based on AbilityExtendIntoClientArea when
switching decorations.

svn path=/trunk/KDE/kdebase/workspace/; revision=1063015
2009-12-16 18:03:15 +00:00
Lucas Murray a00c06c71a If two windows cannot be on the same desktop then don't allow them to be
grouped.
BUG: 217434

svn path=/trunk/KDE/kdebase/workspace/; revision=1062353
2009-12-14 12:29:48 +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
Lucas Murray e4ab19a936 Allow automatic grouping of unrelated windows by matching them with a
window rule ID.

svn path=/trunk/KDE/kdebase/workspace/; revision=1050040
2009-11-16 13:31:02 +00:00
Lucas Murray 535737e1fe Add "automatically group identical windows" feature to window tabbing.
svn path=/trunk/KDE/kdebase/workspace/; revision=1049953
2009-11-16 10:09:03 +00:00
Kevin Ottens 167823f5fa Make it build with QT_STRICT_ITERATORS.
svn path=/trunk/KDE/kdebase/workspace/; revision=1049926
2009-11-16 08:22:50 +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
Lucas Murray 711879a993 Be more strict.
svn path=/trunk/KDE/kdebase/workspace/; revision=1031996
2009-10-06 16:04:16 +00:00
Lucas Murray e5d176b90b Fix quick tiling/maximize so other screen edge actions assigned to the
same edges work again.

svn path=/trunk/KDE/kdebase/workspace/; revision=1031990
2009-10-06 15:52:08 +00:00
Lucas Murray d171c594ff Cancel a quick tile/maximize action if the user moves the window back
away from the edge of the screen without releasing the mouse button.

svn path=/trunk/KDE/kdebase/workspace/; revision=1031967
2009-10-06 14:56:10 +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
Hugo Pereira Da Costa 88dc7eccfd notify decorations when compositing is enabled/disabled
svn path=/trunk/KDE/kdebase/workspace/; revision=1021803
2009-09-10 05:06:53 +00:00
Martin Gräßlin 53aaaf471d Adding a new option to disable the cursor pushback for active screen edges.
I haven't added it to the UI as the screen edges kcm is already a little bit cluttered with complicated options.
So if you want to disable the pushback add option "ElectricBorderPushbackPixels" to section [Windows].
FEATURE: 198225

svn path=/trunk/KDE/kdebase/workspace/; revision=1021306
2009-09-08 20:01:16 +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 369910865a Add "show desktop" to screen edges.
FEATURE: 195359

svn path=/trunk/KDE/kdebase/workspace/; revision=988839
2009-06-28 20:32:50 +00:00
Martin Gräßlin 9f70ddce3b When reinitCompositing we can assume that the user wants to restart compositing even if compositing has been suspended.
So we end suspend compositing and send signal that compositing is active. That way reinitCompositing behaves like resume compositing when suspended.
BUG: 188118

svn path=/trunk/KDE/kdebase/workspace/; revision=961602
2009-04-30 12:51:55 +00:00
Luboš Luňák e9e08c35cb Do not mistakenly report that compositing could not be enabled.
The compositing kcm now results in two reconfigurations of KWin,
and the second one meant that waitForCompositingSetup() didn't work
correctly.


svn path=/trunk/KDE/kdebase/workspace/; revision=960555
2009-04-28 16:20:26 +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
Martin Gräßlin 3d5ad590e2 New on-screen-display for desktop change. It highlights the new desktop and shows arrows from the old to the new desktop. It replaces the popupinfo which only showed the desktop name. Nevertheless keeping popupinfo in svn so if wanted we can add an option to select between osd and popupinfo.
FEATURE: 185799

svn path=/trunk/KDE/kdebase/workspace/; revision=950182
2009-04-06 16:09:34 +00:00
Lucas Murray 0ffcc70c18 Add support for hardcoded non-KWin-related active screen edge actions,
first to be added is one to display the Plasma dashboard. Implemented
the "trigger cooldown" option. Fixed a few edge action conflicts such
as forcing desktop switches when moving windows and the like.
BUG: 170393

svn path=/trunk/KDE/kdebase/workspace/; revision=933166
2009-02-28 08:33:16 +00:00
Lucas Murray 913c4f387a SVN_SILENT Left-overs from the revert.
svn path=/trunk/KDE/kdebase/workspace/; revision=929351
2009-02-21 08:33:13 +00:00
Lucas Murray 21f023ee77 Revert r925355, r925357 and r925358 as the crashing was caused by
Kephal and has since been fixed.

svn path=/trunk/KDE/kdebase/workspace/; revision=927675
2009-02-18 04:05:37 +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
Lucas Murray 893b0c2c71 Merge DesktopLayout class into Workspace.
svn path=/trunk/KDE/kdebase/workspace/; revision=926020
2009-02-14 15:40:52 +00:00
Lucas Murray dd28e15a1b Allow desktop effects to access the new DesktopLayout class. Replaced
all code that used calcDesktopLayout() so the function could be removed.
Minor changes to the DesktopLayout class itself.

svn path=/trunk/KDE/kdebase/workspace/; revision=925930
2009-02-14 14:49:46 +00:00
Lucas Murray 4681129e4b Move desktop layout code into a separate file and class. This will allow
adding more complex desktop layout features (Such as desktop
rearranging, and non-rectangular layouts) easier in the future.
Workspace::calcDesktopLayout() has been deprecated.

svn path=/trunk/KDE/kdebase/workspace/; revision=925812
2009-02-14 09:46:12 +00:00
Lucas Murray b55115a8be Prevent recursion loop in Toplevel::screen() and
Workspace::activeScreen() when the center of the active client is
offscreen and was not previously on the active screen.

svn path=/trunk/KDE/kdebase/workspace/; revision=925362
2009-02-13 06:59:34 +00:00