graesslin (Martin Flöser)
KWin maintainer

Projects

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Monday

  • Clear sailing ahead.

User Details

User Since
Apr 18 2015, 8:19 AM (110 w, 9 h)
Availability
Available

Recent Activity

Tue, May 23

graesslin added a comment to D5928: Introducing Night Color - KWin's native blue light filter at nighttime.

I wouldn't call it color correction as we used to have a mechanism called color correction in the past which did something very different. Personal suggestion: gamma correction or color temperature correction.

Tue, May 23, 9:54 AM · Plasma on Wayland, KWin

Mon, May 22

graesslin accepted D5934: [platforms/drm] Make Atomic Mode Setting the new default.
Mon, May 22, 9:54 AM · KWin

Thu, May 18

graesslin committed R108:7ae000859fdb: Merge branch 'Plasma/5.8' into Plasma/5.9 (authored by graesslin).
Merge branch 'Plasma/5.8' into Plasma/5.9
Thu, May 18, 5:40 PM
graesslin committed R108:55f169d1c344: fix occassional crash caused by needlessly delayed signals (bko#363224) (authored by lunakl).
fix occassional crash caused by needlessly delayed signals (bko#363224)
Thu, May 18, 5:39 PM

Tue, May 16

graesslin accepted D5889: Keep QIcon::fromTheme in main thread.

Eh what? That is not thread save?!? Oh sh*** I didn't expect that. Good catch and a nice solution.

Tue, May 16, 7:54 PM · Plasma, Frameworks
graesslin accepted D5887: Remove pid changedSignal in Client::PlasmaWindow.

Thanks!

Tue, May 16, 2:51 PM · Frameworks, Plasma on Wayland
graesslin added a comment to D5872: pidChanged also signals dataChanged in WindowModel.
In D5872#109962, @hein wrote:

I'm fine with no change signal, but heads-up that libtaskmanager has code connecting to it, so if you remove it from kwayland please also adapt plasma-workspace or the build breaks.

Tue, May 16, 2:50 PM · Frameworks, Plasma on Wayland
graesslin added a comment to D5872: pidChanged also signals dataChanged in WindowModel.

like David explained: we don't need the change signal and IMHO we shouldn't expose "wrong API". I consider having a changed signal for a PID wrong API as it indicates that the PID could change. But it won't ever change, so we shouldn't expose it. I know that all other attributes have a changed signal, but they can change.

Tue, May 16, 6:16 AM · Frameworks, Plasma on Wayland
graesslin added a comment to D5756: Set pid on the ClientConnection backing the PlasmaWindow surface..
In D5756#109957, @hein wrote:

What was the regression? (I'm aware of a failing unit test, but since the unit test itself was new, it was obviously not a regression.)

Tue, May 16, 6:13 AM · Plasma

Sun, May 14

graesslin added a comment to D5851: Fix the PID updated in PlasmaWindowedModel.

It makes absolutely no sense to have a pidChanged signal and then say clients shouldn't be using it.

Either window has no reason to have a pidChanged signal or we should connect to it. It has to be one or the other.

Sun, May 14, 4:59 PM · Frameworks, Plasma on Wayland
graesslin added inline comments to D5851: Fix the PID updated in PlasmaWindowedModel.
Sun, May 14, 2:23 PM · Frameworks, Plasma on Wayland

Sat, May 13

graesslin reopened D5747: add pid to plasma window management protocol.

Can reproduce the failing test locally. Please fix ASAP! Broken tests is not acceptable in KWayland. This change has been on review so long, I find it quite disappointing that it was pushed without checking whether the tests work.

Sat, May 13, 4:04 PM · Plasma on Wayland, Frameworks
graesslin added a comment to D5756: Set pid on the ClientConnection backing the PlasmaWindow surface..

Please note that I'm going to revert all changes which are built up on a broken API change in KWayland. We need to take quality serious, so if the KWayland regression doesn't get fixed asap I will have to revert everything.

Sat, May 13, 4:02 PM · Plasma
graesslin created T6107: Support screen rotation on DRM.
Sat, May 13, 1:36 PM · KWin
graesslin created T6106: Support screen rotation in OpenGL compositor.
Sat, May 13, 1:36 PM · KWin
graesslin created T6105: Use sensor to detect screen rotation.
Sat, May 13, 1:35 PM · KWin
graesslin moved T4436: [kwin] Non-maximized windows are shown as maximized from Plasma 5.11 to Postponed on the Plasma on Wayland board.
Sat, May 13, 1:33 PM · KWin, Plasma on Wayland
graesslin added a comment to T4436: [kwin] Non-maximized windows are shown as maximized.

xdg_shell v6 should improve the situation. Let's wait for support on xdg shell v6 prior to further work on it.

Sat, May 13, 1:33 PM · KWin, Plasma on Wayland
graesslin moved T4436: [kwin] Non-maximized windows are shown as maximized from Plasma 5.11 to Postponed on the KWin board.
Sat, May 13, 1:32 PM · KWin, Plasma on Wayland
graesslin accepted D5747: add pid to plasma window management protocol.
Sat, May 13, 6:20 AM · Plasma on Wayland, Frameworks

Fri, May 12

graesslin requested changes to D5747: add pid to plasma window management protocol.
Fri, May 12, 4:39 PM · Plasma on Wayland, Frameworks
graesslin accepted D5743: Fix deprecation warnings. setSelection -> setSelectedUrl ui -> uiDelegate.
Fri, May 12, 3:41 PM · Plasma
graesslin added a comment to D5757: add requestToggleKeepAbove/below.

Your tests in plasma window management do not test the new requests.

Fri, May 12, 3:41 PM · Plasma, Frameworks
graesslin committed R108:e591280d1de0: Merge branch 'Plasma/5.10' (authored by graesslin).
Merge branch 'Plasma/5.10'
Fri, May 12, 5:08 AM
graesslin committed R108:6a4e9cbb5800: Merge branch 'Plasma/5.9' into Plasma/5.10 (authored by graesslin).
Merge branch 'Plasma/5.9' into Plasma/5.10
Fri, May 12, 5:08 AM
graesslin committed R108:229be65e4002: Improve the escape key handling for breaking constrained pointers (authored by graesslin).
Improve the escape key handling for breaking constrained pointers
Fri, May 12, 5:07 AM
graesslin closed D5488: Improve the escape key handling for breaking constrained pointers by committing R108:229be65e4002: Improve the escape key handling for breaking constrained pointers.
Fri, May 12, 5:07 AM · Plasma
graesslin added a comment to D5747: add pid to plasma window management protocol.
In D5747#108916, @apol wrote:

Who is going to be setting this pid? Because note that containerized applications don't know their own pid (see kdbusaddons & knotifications patches for big shrug).

It's KWin. Who gets the information from the socket.

Fri, May 12, 4:30 AM · Plasma on Wayland, Frameworks

Thu, May 11

graesslin accepted D5815: Use resourceClass as fallback for XWayland clients instead of resourceName..
Thu, May 11, 4:46 PM · KWin
graesslin updated the diff for D5488: Improve the escape key handling for breaking constrained pointers.

Fixes

Thu, May 11, 3:58 PM · Plasma
graesslin added a comment to D5757: add requestToggleKeepAbove/below.
In D5757#108706, @hein wrote:

Martin, did you mix things up here maybe? The patch has changes to autotests/client/test_wayland_windowmanagement.cpp. The "newRow" bit isn't related to QAIM. It's a row of test data.

Thu, May 11, 3:09 PM · Plasma, Frameworks
graesslin added a comment to D5757: add requestToggleKeepAbove/below.

Forget my last two comments - confused the review

Thu, May 11, 3:07 PM · Plasma, Frameworks
graesslin added inline comments to D5747: add pid to plasma window management protocol.
Thu, May 11, 3:06 PM · Plasma on Wayland, Frameworks
graesslin added inline comments to D5757: add requestToggleKeepAbove/below.
Thu, May 11, 3:06 PM · Plasma, Frameworks
graesslin added inline comments to D5747: add pid to plasma window management protocol.
Thu, May 11, 3:02 PM · Plasma on Wayland, Frameworks
graesslin accepted D5801: Split XDGTest to allow testing both V5 and V6.

Are you sure the API is so compatible that you can run it like that?

Thu, May 11, 5:10 AM · Frameworks, Plasma on Wayland

Wed, May 10

graesslin planned changes to D5488: Improve the escape key handling for breaking constrained pointers.
Wed, May 10, 6:42 PM · Plasma
graesslin accepted D5795: List both setup and monitor UUIDs in debug.
Wed, May 10, 3:15 PM · KWin
graesslin added a comment to D2079: purge video memory on nvidia.

@mart could you please incorporate the suggested change and then push to 5.8?

Wed, May 10, 5:14 AM · KWin
graesslin accepted D5787: m_clientSize is already connected in ShellClient::init.
Wed, May 10, 5:13 AM · KWin

Tue, May 9

graesslin accepted D5191: [DRM plugin] Correct Atomic Mode Setting.
Tue, May 9, 3:03 PM · KWin
graesslin accepted D5179: [DRM plugin] Reorganize DrmBuffer.
Tue, May 9, 3:02 PM · KWin
graesslin accepted D5118: [DRM plugin] Remember static kernel objects, amplify use of DrmCrtc.
Tue, May 9, 2:59 PM · KWin
graesslin requested changes to D5757: add requestToggleKeepAbove/below.
Tue, May 9, 4:53 AM · Plasma, Frameworks
graesslin added a comment to D5757: add requestToggleKeepAbove/below.
In D5757#108115, @mart wrote:

Please also extend the test in autotests/client/test_wayland_windowmanagement.cpp

isn't it covered by

Tue, May 9, 4:53 AM · Plasma, Frameworks

Mon, May 8

graesslin accepted D5614: fix showing of window on inactive activities during session save.
Mon, May 8, 4:29 PM · KWin
graesslin accepted D5613: revert the hackish overriding of Client::desktop() for session saving.
Mon, May 8, 4:29 PM · KWin
graesslin accepted D5758: wire up requestToggleKeepAbove/below.

As it depends on newer frameworks: commit embargo till 5.10 is branched.

Mon, May 8, 4:05 PM · Plasma
graesslin accepted D5755: Expose PlasmaWindow::pid through WaylandTasksModel..

Obviously commit embargo till 5.10 is branched is still in place.

Mon, May 8, 4:04 PM · Plasma
graesslin requested changes to D5757: add requestToggleKeepAbove/below.

Please also extend the test in autotests/client/test_wayland_windowmanagement.cpp

Mon, May 8, 4:03 PM · Plasma, Frameworks
graesslin accepted D5746: Move code on wayland surface being created..
Mon, May 8, 4:00 PM · Plasma
graesslin added a comment to D5756: Set pid on the ClientConnection backing the PlasmaWindow surface..

Why was this change pushed although it had a "This has commit embargo till 5.10 is branched." comment? Yes I accepted it, but obviously the embargo still holds. Even more the commit builds up on changes in KWayland which are not pushed.

Mon, May 8, 2:49 PM · Plasma
graesslin committed R108:a2d19c6b9deb: Revert "Set pid on the PlasmaWindow based on the client connection." (authored by graesslin).
Revert "Set pid on the PlasmaWindow based on the client connection."
Mon, May 8, 2:46 PM
graesslin added a reverting commit for R108:262fb00b513f: Set pid on the PlasmaWindow based on the client connection.: R108:a2d19c6b9deb: Revert "Set pid on the PlasmaWindow based on the client connection.".
Mon, May 8, 2:46 PM
graesslin added a reverting commit for R108:ac02f778a268: Fix typo in API comment.: R108:802b0de36a03: Revert "Fix typo in API comment.".
Mon, May 8, 2:46 PM
graesslin committed R108:802b0de36a03: Revert "Fix typo in API comment." (authored by graesslin).
Revert "Fix typo in API comment."
Mon, May 8, 2:46 PM
graesslin accepted D5756: Set pid on the ClientConnection backing the PlasmaWindow surface..
Mon, May 8, 10:23 AM · Plasma
graesslin added inline comments to D5746: Move code on wayland surface being created..
Mon, May 8, 5:12 AM · Plasma
graesslin added a comment to D5756: Set pid on the ClientConnection backing the PlasmaWindow surface..

Please note that the code you wrote will give you an incorrect PID for all XWayland windows. Instead of going through the ClientConnection I suggest to use KWin::Toplevel::pid(). That one returns the correct pid for all X windows. But it would crash for Wayland windows currently. So make this method virtual and override it in ShellClient and add the code for getting the pid from the surface in ShellClient.

Mon, May 8, 4:55 AM · Plasma
graesslin added a comment to D5755: Expose PlasmaWindow::pid through WaylandTasksModel..

Commit embargo till 5.10 is branched.

Mon, May 8, 4:28 AM · Plasma
graesslin added a comment to D5756: Set pid on the ClientConnection backing the PlasmaWindow surface..

This has commit embargo till 5.10 is branched.

Mon, May 8, 4:25 AM · Plasma
graesslin requested changes to D5756: Set pid on the ClientConnection backing the PlasmaWindow surface..
Mon, May 8, 4:24 AM · Plasma

Sun, May 7

graesslin added a comment to D5748: workaround for correct wayland positioning.

I assume this are adjustments for Qt 5.8 or later. How does this work with Qt 5.7? I fear if we change like this we are going to break Qt 5.7.

Sun, May 7, 7:25 PM · Plasma on Wayland
graesslin requested changes to D5747: add pid to plasma window management protocol.

Please also extend the autotests/client/test_wayland_windowmanagement.cpp

Sun, May 7, 7:24 PM · Plasma on Wayland, Frameworks
graesslin requested changes to D5538: Implement QPlatformTheme::fileIconPixmap().

Please fix the style issues.

Sun, May 7, 1:51 PM · Plasma
graesslin accepted D5733: Keep all touchpad QActions in the main thread.
Sun, May 7, 1:47 PM · Plasma
graesslin committed R108:c555cf3956fa: Merge branch 'Plasma/5.9' (authored by graesslin).
Merge branch 'Plasma/5.9'
Sun, May 7, 7:39 AM
graesslin committed R108:5c827743ea64: Merge branch 'Plasma/5.8' into Plasma/5.9 (authored by graesslin).
Merge branch 'Plasma/5.8' into Plasma/5.9
Sun, May 7, 7:38 AM
graesslin committed R108:32939fa7b522: Fix regression for timestamp handling for Xwayland windows (authored by graesslin).
Fix regression for timestamp handling for Xwayland windows
Sun, May 7, 7:37 AM
graesslin closed D5731: Fix regression for timestamp handling for Xwayland windows by committing R108:32939fa7b522: Fix regression for timestamp handling for Xwayland windows.
Sun, May 7, 7:37 AM · KWin
graesslin added a comment to D5732: Terminate qApp before connections.

Some additional information: terminateClientConnections needs to happen before we destroy the workspace and our compositor. The problem is that when we terminate the connections there is still cleanup code running through the protocol. E.g. if we have an internal QWindow (example Alt+Tab) the ShellClient for it will be destroyed when we terminate the client connection. Destroying the ShellClient interacts with Compositor and Workspace. Thus things might crash when going down. Thus the terminateClientConnection is exactly at that place prior to destroying the compositor to ensure it does not crash or access already freed memory.

Sun, May 7, 7:36 AM · KWin
graesslin requested changes to D5732: Terminate qApp before connections.

WaylandServer is a Qobject child of Application. Please be extremely careful with the destroying of the Wayland connection. I spent days in making the sequence so that asan doesn't complain any more.

Sun, May 7, 7:17 AM · KWin
graesslin added inline comments to D5733: Keep all touchpad QActions in the main thread.
Sun, May 7, 7:11 AM · Plasma

Sat, May 6

graesslin added a comment to D5726: Fix regression for timestamp handling for Xwayland windows.

New version at D5731

Sat, May 6, 5:55 PM · KWin
graesslin created D5731: Fix regression for timestamp handling for Xwayland windows.
Sat, May 6, 5:54 PM · KWin
graesslin abandoned D5726: Fix regression for timestamp handling for Xwayland windows.

Going for Thomas's suggestion to check in setX11Time

Sat, May 6, 4:56 PM · KWin
graesslin added a comment to D5728: Release the wl_registry before QPA shutdown in QStyl.

I had already investigated the problem, pushed a change and reverted it. I think the qstyle gets destroyed too early.

Sat, May 6, 12:26 PM · Plasma
graesslin created D5726: Fix regression for timestamp handling for Xwayland windows.
Sat, May 6, 5:04 AM · KWin
graesslin accepted D5723: Cleanup wayland resources used in kwindowsystem before they're deleted by QPA.

This is genius, using release! I spent hours on thinking how to properly clean that up and always came to the conclusion it's not possible as we cannot properly clean up because we don't get informed when the connection is destroyed.

Sat, May 6, 4:56 AM · Plasma
graesslin added a comment to D5704: Improve the x11 timestamp handling.

This caused a regression for XWayland windows. On Wayland QX11Info::getTimestamp always returns 0 and thus our timestamp gets set to 0.

Sat, May 6, 4:34 AM · KWin

Fri, May 5

graesslin committed R108:572f730e8ecd: [helper] Terminate xclipboardsyncer if kwin_wayland goes down (authored by graesslin).
[helper] Terminate xclipboardsyncer if kwin_wayland goes down
Fri, May 5, 5:17 PM
graesslin closed D5589: [helper] Terminate xclipboardsyncer if kwin_wayland goes down by committing R108:572f730e8ecd: [helper] Terminate xclipboardsyncer if kwin_wayland goes down.
Fri, May 5, 5:17 PM · KWin
graesslin committed R108:c3e2ea6c21fc: Merge branch 'Plasma/5.9' (authored by graesslin).
Merge branch 'Plasma/5.9'
Fri, May 5, 5:17 PM
graesslin committed R108:cacfdf36764b: Merge branch 'Plasma/5.8' into Plasma/5.9 (authored by graesslin).
Merge branch 'Plasma/5.8' into Plasma/5.9
Fri, May 5, 5:14 PM
graesslin committed R108:0bec9ad73375: Improve the x11 timestamp handling (authored by graesslin).
Improve the x11 timestamp handling
Fri, May 5, 5:11 PM
graesslin closed D5704: Improve the x11 timestamp handling by committing R108:0bec9ad73375: Improve the x11 timestamp handling.
Fri, May 5, 5:11 PM · KWin
graesslin accepted D5712: Validate surface is valid when sending TextInput leave event.

Thanks for adding the test!

Fri, May 5, 4:44 PM · Plasma, Frameworks
graesslin requested changes to D5712: Validate surface is valid when sending TextInput leave event.

Please add a unit test case.

Fri, May 5, 5:31 AM · Plasma, Frameworks

Thu, May 4

graesslin accepted D5710: Sync kscreen outputs to wayland.
Thu, May 4, 4:00 PM · Plasma
graesslin added a comment to D5682: Creates keyboard shortcuts for Present Windows Effects actions.

Okay, to be honest: I don't fully understand what you guys are talking about ;)

  • Is the mouse-driven workflow mentioned here new in Plasma 5.10, or is it so hidden in 5.9 that I simply cannot find it?
Thu, May 4, 4:55 AM · KWin

Wed, May 3

graesslin updated subscribers of D5682: Creates keyboard shortcuts for Present Windows Effects actions.

That would also be "magic". How would a user know about it? That is my main concern. We cannot just add key handling and not tell users about it. If we accept this review - or the idea of global shortcuts - we would have a workflow suited for you and nobody else.
Nobody would be able to use this unless reading the source code.

The way I see it, it would be very natural to assume that global shortcuts would trigger equivalent functionality while in the effects (not just in Present Windows, but in all of them; I would be please to search and implement the missing ones). Actually, I came across this change after trying "Keep Windows on All Desktops" shortcut instead using mouse clicks.

Wed, May 3, 7:42 PM · KWin
graesslin created D5704: Improve the x11 timestamp handling.
Wed, May 3, 7:36 PM · KWin
graesslin added a comment to D5682: Creates keyboard shortcuts for Present Windows Effects actions.

How are users supposed to know about this? I'm strictly against adding further "magic" to PW or to implement personal features.

I don't think this is adding functionality; we are just mapping a mouse workflow to a keyboard workflow. In my humble opinion, Present Windows is the most useful desktop effect and its only drawback is that it obligates me to use mouse to perform some actions.

That said, my first idea was to connect the equivalent global shortcuts to Present Windows. However, I couldn't find a example of how to do it. Do you think that it would make sense to use the same mappings as the global shortcuts? Do you have any advice on how to achieve this?

Wed, May 3, 6:17 PM · KWin
graesslin accepted D5697: Fix Output::geometry() when dealing with a scaled monitor.
Wed, May 3, 5:59 PM · Plasma
graesslin added a comment to D5694: activate all suitable launchers instead of only the first encountered.

as the one who implemented this, I have to say that I disagree with the argumentation. I think it is wrong to activate all and fear that this could result in annoying issues especially as launchers close when losing focus. This could result in random launcher activating.

Wed, May 3, 10:04 AM · Plasma
graesslin requested changes to D5682: Creates keyboard shortcuts for Present Windows Effects actions.

How are users supposed to know about this? I'm strictly against adding further "magic" to PW or to implement personal features.

Wed, May 3, 8:51 AM · KWin

Tue, May 2

graesslin committed R108:b221d529a297: [autotests] Fix touch screen edge test after setting a default (authored by graesslin).
[autotests] Fix touch screen edge test after setting a default
Tue, May 2, 7:19 PM
graesslin committed R108:c453eb696cc9: Make WindowSwitching (Alt+Tab) the default left touch screen edge (authored by graesslin).
Make WindowSwitching (Alt+Tab) the default left touch screen edge
Tue, May 2, 6:33 PM
graesslin closed D5551: Make WindowSwitching (Alt+Tab) the default left touch screen edge by committing R108:c453eb696cc9: Make WindowSwitching (Alt+Tab) the default left touch screen edge.
Tue, May 2, 6:33 PM · KWin
graesslin committed R108:014afe1c0559: [platformx/x11] Fix touch events for internal Qt windows (authored by graesslin).
[platformx/x11] Fix touch events for internal Qt windows
Tue, May 2, 6:33 PM