Martin Gräßlin
9075b5e2d6
[kwin] Remove cursorPos() from utils.h
...
Only delegated to Cursor::pos() anyway, so let's just use that directly.
Fixes the annoyances of having to mock it in the unit tests which include
utils.cpp.
REVIEW: 116900
2014-03-25 15:25:40 +01:00
Martin Gräßlin
d6b346df92
[kwin] Remove TemporaryAssign from utils.h
...
Only used in geometry.cpp for MaximizationState and that's no
longer needed.
REVIEW: 116902
2014-03-20 07:05:41 +01:00
Martin Gräßlin
abecbf2369
[kwin] Port away from deprecated functionality in KWindowSystem
...
Less warnings and more type safety.
2014-03-17 10:22:20 +01:00
Martin Gräßlin
2675b5d4e7
Merge branch 'KDE/4.11'
...
Conflicts:
CMakeLists.txt
kcontrol/screensaver/screensaver.desktop
kdm/kfrontend/themes/elarun/KdmGreeterTheme.desktop
khotkeys/kcm_hotkeys/kcm_hotkeys.cpp
kinfocenter/main.cpp
kscreensaver/kblank_screensaver/blankscrn.cpp
kscreensaver/krandom_screensaver/random.cpp
kstyles/oxygen/config/main.cpp
kstyles/oxygen/demo/main.cpp
ksysguard/gui/ksysguard.cpp
kwin/clients/oxygen/demo/main.cpp
kwin/kcmkwin/kwincompositing/kwincompositing.desktop
kwin/tabbox/qml/clients/text/metadata.desktop
kwin/tabbox/qml/clients/window_strip/metadata.desktop
libs/plasmagenericshell/widgetsexplorer/package/metadata.desktop
plasma/desktop/applets/pager/package/metadata.desktop
plasma/desktop/shell/activitymanager/package/metadata.desktop
plasma/desktop/shell/data/layouts/org.kde.plasma-desktop.defaultPanel/contents/layout.js
plasma/desktop/shell/desktopcorona.cpp
plasma/desktop/shell/main.cpp
plasma/desktop/toolboxes/plasma-toolbox-desktoptoolbox.desktop
plasma/desktop/toolboxes/plasma-toolbox-paneltoolbox.desktop
plasma/generic/applets/batterymonitor/contents/ui/batterymonitor.qml
plasma/generic/applets/systemtray/protocols/fdo/fdographicswidget.cpp
plasma/generic/applets/systemtray/protocols/fdo/fdographicswidget.h
plasma/generic/applets/systemtray/protocols/fdo/x11embeddelegate.cpp
plasma/generic/runners/nepomuksearch/plasma-runner-nepomuksearch.desktop
plasma/generic/wallpapers/color/plasma-wallpaper-color.desktop
plasma/generic/wallpapers/image/plasma-wallpaper-image.desktop
plasma/netbook/shell/nettoolbox/plasma-toolbox-nettoolbox.desktop
statusnotifierwatcher/statusnotifierwatcher.cpp
systemsettings/app/main.cpp
2014-03-10 21:21:16 +01:00
Thomas Lübking
65f86baceb
fix off-by-1 on multiscreen toppanel strutting
2014-02-24 20:12:24 +01:00
Thomas Lübking
aecd5af0b4
fix sendToScreen for QuickTiled windows
...
two-fold issue
a) setMaximize implicitly sets QuickTileMaximize; setting it again toggles it off
b) setting quicktile mode needs to happen in keyboard mode and thenn the target
still depends on the current windo position, so the untiled window needs to
be in a sane location (while geom_restore will typically be off-screen when
quick tiling by mouse)
BUG: 330819
FIXED-IN:4.11.7
REVIEW: 115521
2014-02-24 20:11:31 +01:00
Martin Gräßlin
fdee4ea8c8
Adjust kde-workspace to introduction of flags in NET classes
2014-02-05 17:40:19 +01:00
Martin Gräßlin
a6b12108c9
Merge branch 'KDE/4.11'
...
Conflicts:
kwin/clients/oxygen/config/oxygendetectwidget.cpp
2014-02-02 12:01:38 +01:00
Marek Marczykowski-Górecki
2ccf1bc3f0
kwin: fix handling of window size hints with PResizeInc
...
Use base_width/base_height if provided by the application and fallback to
min_width/min_height only if not (according to ICCCM 4.1.2.3).
This fixes long standing bug with shrinking gnome-terminal window.
REVIEW: 115396
2014-02-02 11:57:19 +01:00
Thomas Lübking
ffaa9d336e
Merge branch 'KDE/4.11'
...
Conflicts:
kcontrol/workspaceoptions/workspaceoptions.desktop
kwin/sm.cpp
2014-01-29 20:28:27 +01:00
Thomas Lübking
edf0ed895f
1-pass change maximized <-> quicktiled geometry
...
REVIEW: 115307
2014-01-29 19:57:32 +01:00
Thomas Lübking
4bb88df714
Merge branch 'KDE/4.11'
2014-01-14 22:51:24 +01:00
Thomas Lübking
9de60604c0
properly reset quick_tile_mode on MaxRestore
...
BUG: 329864
FIXED-IN: 4.11.6
2014-01-14 22:28:50 +01:00
Thomas Lübking
3d389961ff
preserve offsets when sending client to screen
...
for that purpose, move sendToScreen and updateLayer
functions from Workspace to Client, keep wrappers
BUG: 327361
FIXED-IN: 4.11.6
REVIEW: 114078
2014-01-14 22:28:46 +01:00
Thomas Lübking
c4d014eb8c
do not ask the deco for borders on every move
...
REVIEW: 114126
2014-01-14 22:24:38 +01:00
Thomas Lübking
03b23e21d9
fix shortcut driven quicktiling
...
1. swapping direction would rather toggle tiling
2. the next screen was calculated wrongly (found outmost)
3. the electrictborder geometry was not updated when swapping the mode on screen changes
BUG: 329136
FIXED-IN: 4.11.6
CCBUG: 222921
REVIEW: 114648
2014-01-14 22:23:09 +01:00
Martin Gräßlin
d6a69aea4f
[kwin] NETRootInfo::setDesktopGeometry doesn't expect a desktop argument any more
2013-11-18 13:57:06 +01:00
Martin Gräßlin
ba66fd9ef6
[kwin] NETWinInfo2 becomes NETWinInfo
...
And takes a xcb_connection_t instead of Display. Also our own class
is adjusted to no longer need the connection being passed in.
2013-11-18 13:56:28 +01:00
Martin Gräßlin
0056302652
[kwin] updateXTime before establishing grab for move resize mode
...
Grabbing the pointer failed causing unrestricted move resize to
operate incorrectly (position didn't update).
2013-11-13 11:28:05 +01:00
Bhushan Shah
935851a2b5
kDebug -> qDebug in kwin
2013-11-01 17:00:41 +05:30
Thomas Lübking
3594550b14
Merge branch 'KDE/4.11'
...
Conflicts:
kwin/eglonxbackend.cpp
kwin/glxbackend.cpp
2013-09-25 23:21:36 +02:00
Thomas Lübking
cb88bc8848
keepInArea, client geometry containment condition
...
Since windows can place the decoration outside the screen
this needs to be still a valid condition when checking
whether we've to keep in area
In addition: calculate tx, ty and perform one move call
(include rule check and XMoveWindow unless there's a geometry
blocker ...)
BUG: 324792
FIXED-IN: 4.11.2
REVIEW: 112805
2013-09-25 23:09:18 +02:00
Thomas Lübking
4c170a2fdb
snap to deco, not client on inner screen borders
...
client snapping is ultimately reasoned by fitt's law
and inner borders are not infinite
BUG: 323504
FIXED-IN: 4.11
REVIEW: 112103
2013-09-25 23:09:17 +02:00
Thomas Lübking
feafbca941
Merge branch 'KDE/4.11'
2013-09-24 21:33:46 +02:00
Thomas Lübking
6303c8d573
sanitize user/fullscreenable condition
...
whether or not a window is maximizable does really not
matter (it's not if the size is locked, so the
maximized size is the only size) but only if the
window can take the fullscreen geometry.
otoh, the size restrictions (maximum size, fixed aspect)
should be honored by default but still ignorable by rule
BUG: 324733
FIXED-IN: 4.11.2
REVIEW: 112654
2013-09-24 21:30:49 +02:00
Martin Gräßlin
969e6b85e7
Merge branch 'master' into frameworks-scratch
...
Conflicts:
CMakeLists.txt
kwin/client.cpp
kwin/effects/highlightwindow/highlightwindow.cpp
kwin/libkwineffects/kwingltexture.cpp
kwin/libkwineffects/kwinxrenderutils.cpp
kwin/scene_opengl.cpp
kwin/workspace.cpp
plasma/desktop/applets/kickoff/CMakeLists.txt
plasma/desktop/applets/taskmanager/package/contents/code/tools.js
plasma/desktop/applets/taskmanager/package/contents/ui/Task.qml
plasma/desktop/applets/taskmanager/package/contents/ui/main.qml
plasma/desktop/applets/taskmanager/package/metadata.desktop
plasma/desktop/applets/taskmanager/plugin/textlabel.h
plasma/desktop/applets/tasks/CMakeLists.txt
plasma/desktop/applets/tasks/package/metadata.desktop
plasma/desktop/applets/tasks/tasks.cpp
plasma/desktop/toolboxes/plasma-toolbox-desktoptoolbox.desktop
plasma/generic/applets/activitybar/activitybar.cpp
plasma/generic/wallpapers/color/plasma-wallpaper-color.desktop
plasma/generic/wallpapers/image/plasma-wallpaper-image.desktop
2013-09-24 11:28:38 +02:00
Martin Gräßlin
4576a0b6db
Port last UngrabPointer to XCB
2013-09-10 15:30:11 +02:00
Martin Gräßlin
484c61a81e
Use Window wrapper methods for manipulating the frame
...
And by that it's also mostly ported to XCB.
2013-09-10 15:30:10 +02:00
Martin Gräßlin
ba7c5936fe
Use Client::m_client instead of Toplevel::window() where useful
...
Allows to use .setGeometry() instead of XMoveResizeWindow.
2013-09-10 15:30:10 +02:00
Martin Gräßlin
c616dd45fd
Use xcb for move/resize the wrapper
2013-09-10 15:30:10 +02:00
Martin Gräßlin
4ddfd2d4ef
Remove no longer needed includes from kwin/geometry.cpp
2013-09-09 06:03:35 +02:00
Thomas Lübking
ef351070e7
snap max'd windows to maximize, not movement area
...
Because that's where it's placed. Notable esp. when there're panels on opposing sides.
Since snapping keeps max'd windows in position, it should preferably keep it in the proper position ;-)
REVIEW: 112322
2013-09-08 23:41:55 +02:00
Martin Gräßlin
211682ab67
KGlobalSettings::dndEventDelay() -> QApplication::startDragDistance()
2013-09-04 16:35:16 +02:00
Martin Gräßlin
139201a2e2
KGlobal::config() -> KSharedConfig::openConfig()
...
KWin Core says good bye to KGlobal. We will not miss the threading
issues.
2013-09-04 16:11:40 +02:00
Martin Gräßlin
57905c0cc2
And we got rid of KDebug
...
Usages of kBacktrace got dropped.
2013-09-02 13:14:39 +02:00
Thomas Lübking
2568fcb149
guide partially max'd windows against corner snaps
...
BUG: 323598
FIXED-IN: 4.11.1
REVIEW: 112124
2013-08-27 07:53:02 +02:00
Martin Gräßlin
9291b18cee
Merge branch 'master' into frameworks-scratch
...
Conflicts:
CMakeLists.txt
kwin/effects.cpp
kwin/effects/logout/logout.cpp
kwin/effects/presentwindows/main.qml
kwin/effects/presentwindows/presentwindows.cpp
kwin/effects/presentwindows/presentwindows.h
kwin/effects/zoom/zoom_config.cpp
kwin/libkwineffects/kwinglutils_funcs.cpp
kwin/libkwineffects/kwinxrenderutils.cpp
kwin/nvidiahack.cpp
kwin/xcbutils.h
plasma/desktop/containments/desktop/plasma-containment-desktop.desktop
plasma/generic/wallpapers/image/image.cpp
plasma/generic/wallpapers/image/plasma-wallpaper-image.desktop
2013-08-07 10:10:06 +02:00
Martin Gräßlin
94e4a31370
Port from XLib XSync to xcb sync
2013-07-31 14:05:24 +02:00
Thomas Lübking
0f57c9407a
depend titlebar protection dir pref on cap dir
...
when visualPixels is not 0, this means the titlebar does
not touch an upper/lower border, thus moving that direction
is ok and protection should be sought horizontally
BUG: 322507
FIXED-IN: 4.11
REVIEW: 111573
2013-07-19 21:16:15 +02:00
Thomas Lübking
02ed20662d
prevent shrinking away titlebar f. bottom corners
...
it's the same condition as shriking away from plain edges
(one can resize exclusively in that direction as well)
REVIEW: 111573
2013-07-19 21:14:43 +02:00
Thomas Lübking
eb647c7489
do not emit maximizeChange if mode didn't change
...
BUG: 321638
FIXED-IN: 4.11
REVIEW: 111262
2013-07-01 21:19:53 +02:00
Martin Gräßlin
fa6b46ef30
Remove dead assignments
...
Variable deltaX and deltaY are assigned in the if-else branches, but not
read again after being set in the branches.
2013-06-26 17:58:43 +02:00
Thomas Lübking
725534471e
exclude padding from snap delta of screen snap
...
using the actual delta this casewise causes false
preference for window snapping (less to move)
this restores the pre snap-to-content behavior
in that regard and delta isn't used for anything else.
BUG: 321325
FIXED-IN: 4.11
REVIEW: 111139
2013-06-26 12:42:10 +02:00
Thomas Lübking
774e3ec05b
ignore desktops and splashes for snapping
...
Desktops cannot be resonably snapped or cause
implicit screen snapping and splashes are undemanded
short term clients
REVIEW: 111139
2013-06-26 12:42:10 +02:00
Thomas Lübking
cf6acf84b9
deny configure requests to leave QuickTiling
...
similar to maximization blocking
also ensure the user can permit configure requests
for quick tiled and maximized windows
REVIEW: 111186
BUG: 321491
FIXED-IN: 4.11
2013-06-26 12:42:09 +02:00
Thomas Lübking
e4d9ea9209
prevent NW resizing when window has fixed position
...
CCBUG: 320908
REVIEW: 110895
2013-06-10 16:37:46 +02:00
Thomas Lübking
516ea86341
block quick tiling unless actually moved
...
REVIEW: 109485
BUG: 289494
FIXED-IN: 4.11
2013-06-05 14:11:00 +02:00
Martin Gräßlin
aa55cf98ae
Port Client's move resize grab window to XCB
...
Using Xcb::Window to wrap this helper window and port all the used XLib
calls to XCB.
Also renaming the variable to m_ and camel case to follow general naming
scheme.
2013-05-28 11:55:38 +02:00
Martin Gräßlin
59690ee625
Revert the change for when to emit the maximizedChanged signal
...
It broke the maximize window effect.
REVIEW: 110468
2013-05-17 11:09:49 +02:00
Martin Gräßlin
4022de7075
Use signal/slots instead of deep function calls into decoration
...
For all the decoration updates called from Client into the decoration we
also have a signal being emitted. So turning the pure virtual public
functions into slots means we can just connect our existing signals and
get rid off the deep function calls.
The keepAbove/Below signals are changed to take a boolean argument as
needed by KDecoration and a few emitted signals are moved to a better
fitting location.
REVIEW: 110335
2013-05-07 16:53:58 +02:00