Commit Graph

21 Commits

Author SHA1 Message Date
Norman Feske 31888c610a wm: propagate nitpicker mode changes to layouter 2016-02-09 14:30:28 +01:00
Norman Feske c3b415ffe8 wm: omit superfluous window-list updates 2016-02-09 14:28:50 +01:00
Norman Feske 493386ed27 wm: prevent superfluous session upgrades
For each session upgrade performed by a wm client as part of the
Nitpicker::Connection::buffer function, the window manager wrongly
upgraded the wrapped nitpicker session twice: Once by handling the
Root::upgrade, and again by handling of the server-side 'buffer'
operation. Here, the 'buffer' operation was implemented by not merely
forwarding the RPC request to the wrapped nitpicker session but by
calling the 'buffer' method on the wrapped session's connection
object, which implictly issues session upgrades. Consequently,
the window manager would transfer twice the amount of the session
upgrades it received by its clients to nitpicker and eventually ran
out of memory.

The patch fixes the problem by eliminating the call of the
Nitpicker::Connection::buffer method and instead merely forward the RPC
requests to the wrapped nitpicker sessions.
2015-11-27 12:18:53 +01:00
Norman Feske 461776a29c wm: support multiple decorator sessions 2015-11-27 12:18:53 +01:00
Christian Prochaska 75111c4f1a wm: sanitize the view title
By replacing '"' by ''', we work around issue #1757.
2015-11-04 14:09:30 +01:00
Norman Feske 818840ca6a wm: provide physical screen mode to layouter 2015-10-06 12:18:56 +02:00
Norman Feske 4164c9edec wm: allow resize requests to 0x0 2015-10-06 12:18:55 +02:00
Norman Feske dcc4b8c313 wm/layouter/decorator: propagate window controls 2015-10-06 12:18:55 +02:00
Norman Feske 0efd908e27 wm: support clients in "direct" role 2015-10-06 12:18:55 +02:00
Norman Feske e27ebd0368 wm/layouter: respond to external focus requests 2015-10-06 12:18:55 +02:00
Norman Feske 0ab74e61d7 wm: handle Nitpicker::Session::session_control 2015-10-06 12:18:55 +02:00
Alexander Boettcher be9e157a3d wm: free up weak pointers during view destruction
Fixes #1675
2015-09-30 12:20:35 +02:00
Stefan Kalkowski 458b4d6fc4 base: redesign object pool using lambda interface
Instead of returning pointers to locked objects via a lookup function,
the new object pool implementation restricts object access to
functors resp. lambda expressions that are applied to the objects
within the pool itself.

Fix #884
Fix #1658
2015-09-09 15:14:28 +02:00
Norman Feske 785cac7168 decorator: consider partially transparent windows
This patch changes the window manager, the decorator, and the
floating window layouter to propagate the usage of an alpha channel from
the client application to the decorator. This way, the decorator can
paint the decoration elements behind the affected windows, which would
otherwise be skipped.
2015-07-07 19:48:06 +02:00
Norman Feske c74a4fbbe2 wm: decouple decorator and layouter from wm 2015-07-06 12:22:28 +02:00
Norman Feske 69da1fa1ed wm/layouter: Raise window on click 2015-07-06 12:22:27 +02:00
Alexander Boettcher c745f9b48c nitpicker: forward touch events
Issue #1444
2015-03-19 08:57:19 +01:00
Alexander Boettcher 0f18ecc142 base: handle input overflow exception
Fixes #1348
2015-01-09 11:52:06 +01:00
Christian Prochaska 3d516c451d wm: fix WHEEL event translation
Fixes #1242.
2014-08-22 16:16:40 +02:00
Norman Feske 6a46dcd2af wm: remove debug messages 2014-08-21 12:54:35 +02:00
Norman Feske acd9599890 Window manager
The window manager provides a nitpicker session interface. In contrast
to the nitpicker server, which leaves the view layout up to the client,
the window manager organizes the views on screen according to a policy
provided by a window layouter. Furthermore, it equips views with window
decorations as provided by a window decorator. Both layouter and
decorator are independent programs.
2014-08-12 13:08:02 +02:00