Commit graph

9100 commits

Author SHA1 Message Date
Thomas Lübking
7bdf96c2f3 export clientpopup mapping state and use it to skip mouse driven focus changes
BUG: 81743
FIXED-IN: 4.9
REVIEW: 104620
2012-04-17 21:08:35 +02:00
Thomas Lübking
603eaca9d4 store focusMousePosition on unmapNotify events
BUG: 92290
FIXED-IN: 4.9
REVIEW: 104620
2012-04-17 21:07:57 +02:00
Thomas Lübking
651d4e4fbf do not setActive clients which don't take focus on ShadeHover - by this resort re-shade restacking code
BUG: 242217
FIXED-IN: 4.9
REVIEW: 104622
2012-04-17 21:07:16 +02:00
Martin Gräßlin
5c71a75e8e Use setters for parsing the config options
Use setter when changing a value to ensure that signal gets emitted
and the option dependencies are applied.
Also use the default values as provided by the static getters.

REVIEW: 104561
2012-04-16 18:08:25 +02:00
Martin Gräßlin
53a36b3757 Implement relationship between options in setters
Ensure that depending options are set to correct values.
2012-04-16 18:06:25 +02:00
Martin Gräßlin
67425b8a5d Initialize member variables in Options 2012-04-16 18:06:25 +02:00
Martin Gräßlin
7b45ff9a73 Static getters for Options default values
For each option a static getter is introduced returning the
default value.

Some GL compositing related options do not have a proper default
value but depend on the actual GL driver. Sane default values are
assumed for those options.
2012-04-16 18:06:25 +02:00
Martin Gräßlin
f7bcdaa6dd Introduce setters and change signals for all KWin Options
For most of the properties defined in Options a setter and dedicated
change signal is added.
2012-04-16 18:06:25 +02:00
Martin Gräßlin
ca25da7089 Scripting binding to show/hide an outline
REVIEW: 104540
2012-04-16 17:45:49 +02:00
Martin Gräßlin
611e225fd6 Horizontal center the Thumbnail ListView
This ensures that also for a small TabBox with just one item
the thumbnail is nicely centered.

REVIEW: 104541
CCBUG: 297856
2012-04-16 17:42:10 +02:00
Martin Gräßlin
3193b46108 Constrain width of text element in Thumbnail Layout
Fixes a layouting issue when caption does not fit into
the window switcher box.

REVIEW: 104507
CCBUG: 297028
2012-04-16 17:41:57 +02:00
Script Kiddy
9771700b18 SVN_SILENT made messages (.desktop file) 2012-04-16 09:17:32 +02:00
Thomas Lübking
0fe48f971d use compositor to elevate current tabbox window
BUG: 297809
REVIEW: 104538
2012-04-14 23:22:05 +02:00
Thomas Lübking
797735ec8a fix geometrytip kcm regression
BUG: 292839
FIXED-IN: 4.8.3
2012-04-14 23:19:49 +02:00
Michael Palimaka
c04fca92f9 Fix KWin build failure when OpenGL is disabled and OpenGLES is enabled.
Some old restructuring caused -DKWIN_HAVE_OPENGLES to no longer be
passed to the compiler, causing OpenGL-specific code to be built
while the libraries to link it were not available.

REVIEW: 104558
2012-04-15 05:12:41 +10:00
Script Kiddy
309868e803 SVN_SILENT made messages (.desktop file) 2012-04-14 10:45:50 +02:00
Aleix Pol
73c142fe45 Extend the screenshot effect API.
Makes it possible to take a screenshot for a given window ID.

REVIEW: 104388
2012-04-12 13:13:49 +02:00
Script Kiddy
2ba3a5a6c4 SVN_SILENT made messages (.desktop file) 2012-04-12 10:23:59 +02:00
Script Kiddy
40c8c94460 SVN_SILENT made messages (.desktop file) 2012-04-11 09:43:26 +02:00
Martin Gräßlin
e59a96b57c Documentation for global JavaScript methods/properties
The documentation is in an XML file which mimics the
XML output of doxygen, which can be converted to
MediaWiki syntax with the tools found in
kde:scratch/graesslin/kwin-scripting-api-generator git
repository.

BUG: 297640
FIXED-IN: 4.9.0
2012-04-10 20:41:57 +02:00
Martin Gräßlin
ba6eece7ad Wrap QDesktopWidget::resized() signal in KWin scripting
Requested by mgottschlag.
2012-04-09 23:01:04 +02:00
Martin Gräßlin
561199762f Move trim malloc from KWorkspace to KWin
It is only used by KWin and KWin does not use anything else
from KWorkspace.

REVIEW: 104446
2012-04-09 11:29:46 +02:00
Martin Gräßlin
7c00ab45f7 Add default values to Fade Effect
Without default values readConfig returns undefined values
causing the effect not to work. This needs to be documented.
2012-04-09 11:26:51 +02:00
Martin Gräßlin
84a6891d79 Add notifications for Window goes to/fro Fullscreen
FEATURE: 124612
FIXED-IN: 4.9.0
REVIEW: 104457
2012-04-07 11:10:19 +02:00
Script Kiddy
8ced79739f SVN_SILENT made messages (.desktop file) 2012-04-02 10:09:26 +02:00
Thomas Lübking
edfb40a95a guard a remaining m_closeView pointer
BUG: 297234
2012-04-01 17:02:59 +02:00
Martin Gräßlin
cdc1af7df1 Export blocking compositing as a Client's Q_PROPERTY
Allows to block compositing on Client's from scripts.

Usecase: window rule cannot properly identify buggy
clients and scripting allows to just act on fullscreen
windows.

BUG: 297146
FIXED-IN: 4.9.0
REVIEW: 104448
2012-04-01 08:18:55 +02:00
Martin Gräßlin
cd8a18080f Add signal to Scripting when number of screens changes 2012-04-01 08:11:57 +02:00
Martin Gräßlin
27643f5a9e Drop kephal dependency from KWin
Kephal has turned into not being more than a wrapper around
QDesktopWidget and does not even provide syntax sugar.

REVIEW: 104427
2012-04-01 08:11:57 +02:00
Martin Gräßlin
a0c6f70a0e Drop refresh method on D-Bus interface
The method is nowhere inside KWin called, nor used as a slot.
It's also not used from any of the KCMs and the method does not
do what the name says. It just shows and hides a window as big
as the screen geometry.

REVIEW: 104418
2012-04-01 08:11:54 +02:00
Martin Gräßlin
c16550f728 Use desktop icon for Show Desktop entry in TabBox
For the normal TabBox the TabBoxClient's icon method is
adjusted to use the "user-desktop" icon instead of the
window icon.

For the effects a method to set the caption is extended
to also set the icon on the caption frame.

REVIEW: 104444
2012-04-01 08:06:12 +02:00
Martin Gräßlin
68acc0692f Add Cursor key navigation to Flip- and Cover Switch Effects
FlipSwitch can be navigated with up and down keys as well
as left/right  and CoverSwitch only with left and right
keys while Alt+Tab is used.

REVIEW: 104438
FEATURE: 178595
FIXED-IN: 4.9.0
2012-04-01 07:57:17 +02:00
Martin Gräßlin
96c1046158 Synchronize Show Desktop Wording in TabBox Effects
Use "Show Desktop" for the desktop entry with the same
message as in "normal" TabBox.

FEATURE: 273478
FIXED-IN: 4.9.0
REVIEW: 104436
2012-04-01 07:57:17 +02:00
Thomas Lübking
e89fc7333f Detect nvidia refresh rate using xvidmode
REVIEW: 104442
2012-03-30 22:56:49 +02:00
Martin Gräßlin
65819a0d68 Show windows from all screen in TabBox by default 2012-03-30 22:16:24 +02:00
Thomas Lübking
41eea9dd3b Don't highlight windows w/o mouse
CCBUG: 292630
REVIEW: 104264
2012-03-30 15:27:37 +02:00
Thomas Lübking
a9478564d8 raise window during shade hover
BUG: 281435
REVIEW: 104280
2012-03-30 15:27:14 +02:00
Thomas Lübking
c900455599 don't hover unshade while moving
BUG: 223074
REVIEW: 104280
2012-03-30 15:27:02 +02:00
Thomas Lübking
df32d86d84 fix some value inits for the no pushback case
CCBUG: 296762
REVIEW: 104420
2012-03-30 15:26:22 +02:00
Thomas Lübking
06ab909eb2 check for requested opengl graphicssystem rather than raster twice ;-) 2012-03-30 15:25:49 +02:00
Martin Gräßlin
2fb8fb1c21 Introducing a build option for KActivities support
REVIEW: 104100
2012-03-30 09:13:46 +02:00
Martin Gräßlin
42dfdb63b0 Global Shortcut support for KWin scripts and scripted Effects
A global method "registerShortcut" is exported to the scripts which
can be used to register a callback to be called when the global
shortcut is triggered.

The shared code between Scripts and Effects is moved into template
functions defined in a new file scriptingutils.h.

REVIEW: 104400
2012-03-30 08:20:10 +02:00
Script Kiddy
7c117276b5 SVN_SILENT made messages (.desktop file) 2012-03-28 10:03:19 +02:00
Martin Gräßlin
e0f97946af Add QML specific export of ClientList
Sometimes Qt is surprising. Apparently QML has problems with a
QList<KWin::Client*> and wants to have a QList<QObject*> which
cannot be used in QtScript.

There ends my dream of having one API for both JavaScript and QML.
So with QtScript it is:
workspace.clientList()
and in QML it is:
workspace.getClientList()
2012-03-27 22:21:06 +02:00
Script Kiddy
27926dc74a SVN_SILENT made messages (.desktop file) 2012-03-27 17:41:47 +02:00
Martin Gräßlin
361d6ed4c3 Navigate to the GraphicsView's toplevel widget to find the thumbnail's window
The GraphicsView which renders the ThumbnailItem does not have to be
a toplevel widget. If it has a parent we have to navigate to the top level
parent widget and compare the window Id on this widget. If it matches the
one of the window we are currently rendering, we know that we found the
correct GraphicsView.

Reviewed-By: Philipp Knechtges <philipp-dev@knechtges.com>
2012-03-26 19:19:58 +02:00
Script Kiddy
8011e80652 SVN_SILENT made messages (.desktop file) 2012-03-26 09:55:50 +02:00
Philipp Knechtges
94b93c5fbc kwin: paint ThumbnailItem at the right position 2012-03-25 20:06:26 +02:00
Martin Gräßlin
524275f7cf Rename TabBox Layout "Present Window" to "Grid"
Better fitting name and it's not the same as Present Windows which
is also rather a technical name.
2012-03-25 14:44:41 +02:00
Martin Gräßlin
18a667e190 Do not use GraphicsScene to calculate Thumbnail position
Instead of using the scene it is better to use the toplevel
item's parent position. This works better in case the scene
is endless and the toplevel item is not positioned at 0/0 as
it is the case for anything from Plasma.

There are still slight layouting issues which I think is
caused by thumbnails not honouring the margin. Will investigate.

REVIEW: 104395
2012-03-25 13:04:18 +02:00