graesslin (Martin Flöser)
KWin developer

Projects (8)

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Saturday

  • Clear sailing ahead.

User Details

User Since
Apr 18 2015, 8:19 AM (209 w, 5 d)
Availability
Available

Recent Activity

Fri, Apr 5

graesslin added a comment to D20066: Use Meta+D to Show Desktop by default.

You are aware that kglobalaccel doesn't support removing global shortcuts? If yes your reply doesn't make any sense, if no it means you need to consider now - a revert later on based on feedback is not an available option.

Fri, Apr 5, 9:56 AM · KWin

Tue, Apr 2

graesslin accepted D20153: Move keep-above clients to the Normal layer when showing desktop.
Tue, Apr 2, 12:06 PM · KWin
graesslin added a comment to D20066: Use Meta+D to Show Desktop by default.

On the other hand you are stealing the shortcut even for users not using this feature at all. What about the following idea: if a user adds the show desktop widget the shortcut gets added?

Tue, Apr 2, 12:06 PM · KWin
graesslin added a comment to D20192: Implement the keystate protocol.

Sorry, but I don't see the need for this protocol as that is already part of wl_keyboard.

Tue, Apr 2, 12:00 PM · KWin

Mon, Apr 1

graesslin added a comment to D20066: Use Meta+D to Show Desktop by default.

For what is worth to mention: we have for years refused to add further global shortcuts as they very easily conflict with application shortcuts. Yes, we were aware that people complained about the lack of default shortcuts. But on the other hand we get the bug reports about applications being broken. And I keep it with Linus: don't break user space. There's a reason why that shortcut didn't have a default and the windows shortcut existed back then.

Mon, Apr 1, 8:00 PM · KWin
graesslin requested changes to D20154: Raise notifications with KeepAbove flag to OnScreenDisplay layer.

Please don't introduce such magic. If you need a special window type please add one or use osd directly. Please keep in mind that there's no way to set keep above for Wayland windows.

Mon, Apr 1, 7:47 PM · KWin
graesslin added a comment to D20153: Move keep-above clients to the Normal layer when showing desktop.

When I read the bug report I was wondering whether that's actually intended? Does keep above implies it's kept above other windows in all cases?

Mon, Apr 1, 7:45 PM · KWin

Mar 26 2019

graesslin accepted D20044: Expose AbstractClient::setMaximize to scripting.
Mar 26 2019, 7:22 AM · KWin

Mar 25 2019

graesslin added a comment to D19867: [X11] Force glXSwapBuffers to block with NVIDIA driver.

Thanks a lot! I suggest to backport it to all supported versions.

Mar 25 2019, 8:27 PM · KWin
graesslin requested changes to D20044: Expose AbstractClient::setMaximize to scripting.

Please don't randomly turn methods into slots. There's a fair chance of future breaking if somebody checks for the usage of the slot and notices it's unused.

Mar 25 2019, 4:18 PM · KWin

Mar 12 2019

graesslin added a comment to D19663: [platforms/fbdev] Use a better way to correct activating framebuffer devices.

I think there's no problem with anonymous contributions. We have no means to check anyway if the provided name is correct.

Mar 12 2019, 8:07 PM · KWin
graesslin added a comment to D19613: Support NET_WM_STATE_FOCUSED.

From my side a -1 as we are feature frozen. Gtk can easily check whether the window manager supports this property and if not do the same as this patch does. This is clearly a gtk bug and if gtk fixed it, it works for everyone and there is no need to incorrectly claim support for the property. Has this issue been reported to Gtk devs?

Mar 12 2019, 8:04 PM · KWin
graesslin accepted D19710: Rotate cursors also on portrait mode.
Mar 12 2019, 7:59 PM · KWin
graesslin added a comment to D19613: Support NET_WM_STATE_FOCUSED.

I still don't see a need for this property. All we do is something gtk can easily do itself. We are working around a gtk bug in all window managers. I think that's wrong.

Mar 12 2019, 5:32 AM · KWin

Feb 27 2019

graesslin added a comment to T10530: [BRAINSTORM] Redesign Scene.

The main problem with subsurface and WindowPixmap is that the subsurface a are evaluated too late in the rendering process which makes it impossible to have quads.

Feb 27 2019, 5:23 PM · KWin

Feb 25 2019

graesslin requested changes to D19296: Allow to set quarter tiling separately.
Feb 25 2019, 3:51 PM · KWin
graesslin added a comment to D19296: Allow to set quarter tiling separately.

I already expressed my concerns in the bug report: I consider this as featureitis and catering for a specific use case. I fear that the negative aspects of yet another checkbox (c.f. kde is too complicated). Also it creates yet another code path which nobody tests and those special use cases are the ones which tend to break.

Feb 25 2019, 3:49 PM · KWin

Feb 22 2019

graesslin committed R108:cbbe94d76920: Restrict available supported compositors based on first initialized one (authored by graesslin).
Restrict available supported compositors based on first initialized one
Feb 22 2019, 3:59 PM
graesslin closed D19084: Restrict available supported compositors based on first initialized one.
Feb 22 2019, 3:59 PM · KWin
graesslin committed R108:e48d9df14f30: [qpa] Drop PlatformContextWayland which uses wayland egl for OpenGL (authored by graesslin).
[qpa] Drop PlatformContextWayland which uses wayland egl for OpenGL
Feb 22 2019, 3:59 PM
graesslin closed D19012: [qpa] Drop PlatformContextWayland which uses wayland egl for OpenGL.
Feb 22 2019, 3:59 PM · KWin
graesslin added a comment to R108:e96da56f8ced: Fix tests.

Yes the code had a merge conflict. Sorry about that.

Feb 22 2019, 5:27 AM

Feb 21 2019

graesslin committed R108:9b922f88332f: Split out a dedicated InternalClient class (authored by graesslin).
Split out a dedicated InternalClient class
Feb 21 2019, 6:53 PM
graesslin closed D18569: Split out a dedicated InternalClient class.
Feb 21 2019, 6:53 PM · KWin

Feb 17 2019

graesslin committed R108:1d8d7bd9f7ad: [qpa] Set binary output path for QPA plugin (authored by graesslin).
[qpa] Set binary output path for QPA plugin
Feb 17 2019, 7:48 PM
graesslin closed D19010: [qpa] Set binary output path for QPA plugin.
Feb 17 2019, 7:48 PM · KWin

Feb 16 2019

graesslin added a comment to D19012: [qpa] Drop PlatformContextWayland which uses wayland egl for OpenGL.

See https://phabricator.kde.org/D19084

Feb 16 2019, 7:57 PM · KWin
graesslin requested review of D19084: Restrict available supported compositors based on first initialized one.
Feb 16 2019, 7:56 PM · KWin
graesslin added a comment to D19052: Fix captions with non-BMP characters.

I would need guidance to write such a test. If I understand it, I would need to create a dummy Client subclass, call setCaption() with different strings, and check what actually lands in the cap_normal variable.

The question is, how can I create a such a dummy Client when it actually requires a workspace? Any tests that do similar things with a different property?

Feb 16 2019, 6:15 PM · KWin
graesslin added inline comments to D18569: Split out a dedicated InternalClient class.
Feb 16 2019, 1:25 PM · KWin
graesslin added a comment to D19012: [qpa] Drop PlatformContextWayland which uses wayland egl for OpenGL.

or we have the QPainter compositor which also turns QtQuick to use software renderer.

Unfortunately that's not true if we still want to switch at runtime.
QQuickWindow::setSceneGraphBackend is only followed if set before the first QQuickWindow is created.

Feb 16 2019, 1:18 PM · KWin
graesslin added a comment to D19052: Fix captions with non-BMP characters.

I think we have a unit test for it which should now expect pass. If I'm wrong and we don't have a test case: could you please add one.

Feb 16 2019, 1:13 PM · KWin

Feb 14 2019

graesslin requested review of D19012: [qpa] Drop PlatformContextWayland which uses wayland egl for OpenGL.
Feb 14 2019, 4:48 PM · KWin
graesslin requested review of D19010: [qpa] Set binary output path for QPA plugin.
Feb 14 2019, 4:41 PM · KWin
graesslin added a comment to R108:01ee957c494a: Call setupCompositing on internal clients on startup of Compositor.

We cannot just call setupCompositing because there is a phase during startup where setupCompositing already passes but the Compositor is not yet fully initialized. Thus it could happen that it's called twice which makes the Scene assert.

When could this happen? Are there prominent functions or methods that one could look into in order to understand why setupCompositing is called twice?

Feb 14 2019, 3:14 PM

Feb 11 2019

graesslin added inline comments to D18914: Discard Deleted before Scene is destroyed.
Feb 11 2019, 4:13 PM · KWin
graesslin updated the diff for D18569: Split out a dedicated InternalClient class.

Remove rect.isValid check

Feb 11 2019, 4:10 PM · KWin
graesslin added inline comments to D18569: Split out a dedicated InternalClient class.
Feb 11 2019, 4:09 PM · KWin

Feb 10 2019

graesslin accepted D18863: [platforms/drm] Use more ScopedDrmPointer.
Feb 10 2019, 4:23 PM · KWin
graesslin added a comment to D18818: virtualkeyboard: resize the focused window to make room for the keyboard.

Please don't take it negative that I once again request changes here. I once run into this issue myself when I added quick tiling - oh that was a mess, because I didn't track in Client the state changes. Back then Thomas fixed all of it :-) It's just a lesson learned and this geometry handling is really complex. It's too many states and we need to ensure here that we don't jump out of maximized or fullscreen due to keyboard open. Now to make it even more complex one could think about the display getting rotated which would again change the geometries and all the windows changes.

Feb 10 2019, 4:21 PM · KWin
graesslin requested changes to D18818: virtualkeyboard: resize the focused window to make room for the keyboard.

I'm not sure whether it's a good idea to resize windows for virtual keyboard. This can easily result in a feedback loop - the window resizes, the element with focus loses focus, keyboard closes, window resizes, element gets focus again and so on.

Feb 10 2019, 4:14 PM · KWin
graesslin accepted D18786: Copy layer repaints to Deleted.
Feb 10 2019, 4:07 PM · KWin
graesslin added a comment to D18795: Kill KillWindow.

One of the long time problem of KWin was that we had too many things in Workspace. Workspace just does too much - it's a god object.

Feb 10 2019, 4:04 PM · KWin
graesslin added a comment to D18569: Split out a dedicated InternalClient class.

I don't see how this patch could cause Plasma windows to have problems. All changed code is internal windows.

Feb 10 2019, 3:58 PM · KWin
graesslin accepted D18236: Use correct flag when checking whether a scene window is opaque.

go for it, we have now enough time to notice any regressions till the next release.

Feb 10 2019, 3:53 PM · KWin

Feb 8 2019

graesslin added a comment to R108:58fa92e40bd3: Pass EGL_PLATFORM=DRM to XWayland.

Setting the named symlink.

Feb 8 2019, 4:46 PM

Feb 6 2019

graesslin added a comment to R108:58fa92e40bd3: Pass EGL_PLATFORM=DRM to XWayland.

This commit breaks KWin on Plasma Mobile when HWComposer backend is used: https://invent.kde.org/snippets/5
I'm not sure what XWayland supports, but when I workaround this line by creating a link from /usr/lib/i386-linux-gnu/libhybris/eglplatform_DRM.so to /usr/lib/i386-linux-gnu/libhybris/eglplatform_wayland.so, XWayland applications start and work fine.

Feb 6 2019, 4:08 PM

Feb 5 2019

graesslin accepted D18657: Drop COPYING.DOC.
Feb 5 2019, 5:13 PM · KWin

Jan 29 2019

graesslin accepted D18594: [wayland] Drop Qt extended surface.

Ah I also had it on my to-do list as I noticed it in the internalclient branch.

Jan 29 2019, 4:00 PM · KWin

Jan 28 2019

graesslin added a comment to D18570: EGLStream DRM Backend Initial Implementation.

I really like that this is much more self contained than I expected. I haven't done an in depth review yet.

Jan 28 2019, 5:35 AM · KWin

Jan 27 2019

graesslin requested review of D18569: Split out a dedicated InternalClient class.
Jan 27 2019, 7:52 PM · KWin
graesslin committed R108:07e394fbb7e6: Fix unused param warning (authored by graesslin).
Fix unused param warning
Jan 27 2019, 1:04 PM
graesslin updated the diff for D17900: Introduce a dynamic enabled mode in virtual keyboard.

Now really update (git user error)

Jan 27 2019, 1:02 PM · KWin
graesslin updated the diff for D17900: Introduce a dynamic enabled mode in virtual keyboard.

Fix style - sorry that's $work coding style sneaking in

Jan 27 2019, 12:59 PM · KWin
graesslin added a comment to D17900: Introduce a dynamic enabled mode in virtual keyboard.

If there are no objections I'm going to push this

Jan 27 2019, 12:46 PM · KWin
graesslin added a comment to D18406: Silence warnings in TabBoxHandler.

gcc --version
gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Jan 27 2019, 12:34 PM · KWin
graesslin requested review of D18564: Remove support for KWin's QPA plugin for KWindowSystem.
Jan 27 2019, 12:30 PM · Plasma
graesslin committed R108:cfecb1e0770c: Fix reorder warning in AbstractScript (authored by graesslin).
Fix reorder warning in AbstractScript
Jan 27 2019, 12:26 PM
graesslin committed R108:2608026b8835: Silence warnings in TabBoxHandler (authored by graesslin).
Silence warnings in TabBoxHandler
Jan 27 2019, 12:26 PM
graesslin closed D18560: Fix reorder warning in AbstractScript.
Jan 27 2019, 12:26 PM · KWin
graesslin closed D18406: Silence warnings in TabBoxHandler.
Jan 27 2019, 12:26 PM · KWin
graesslin added a comment to D18406: Silence warnings in TabBoxHandler.
In D18406#400808, @zzag wrote:

Though I don't see -Wmaybe-uninitialized in my build logs.

Jan 27 2019, 11:37 AM · KWin
graesslin committed R108:932ccb2ac375: Switch ThumbnailItem to internal uuid instead of WId (authored by graesslin).
Switch ThumbnailItem to internal uuid instead of WId
Jan 27 2019, 9:06 AM
graesslin closed D18405: Switch ThumbnailItem to internal uuid instead of WId.
Jan 27 2019, 9:06 AM · KWin
graesslin committed R108:02a0561016c2: Add windowsystem plugin for KWin's qpa (authored by graesslin).
Add windowsystem plugin for KWin's qpa
Jan 27 2019, 9:06 AM
graesslin closed D18228: Add windowsystem plugin for KWin's qpa.
Jan 27 2019, 9:06 AM · KWin
graesslin requested review of D18560: Fix reorder warning in AbstractScript.
Jan 27 2019, 7:55 AM · KWin
graesslin added a comment to D18406: Silence warnings in TabBoxHandler.

Now I have the warnings again:

Jan 27 2019, 7:45 AM · KWin

Jan 26 2019

graesslin accepted D18495: Check rules in AbstractClient::setSkipTaskbar.
Jan 26 2019, 6:57 AM · KWin
graesslin added a comment to D18494: [wayland] Discard Force Temporarily rules for shell clients.

sure!

Jan 26 2019, 6:56 AM · KWin
graesslin accepted D18515: Bump to Qt5.12 - Drop kwin's custom ServerSideDecorationManager interface.
Jan 26 2019, 6:25 AM · Plasma

Jan 25 2019

graesslin added a comment to T9996: Improve Thumbnail Aside effect.

I fully agree with Vlad and David: this is not a feature belonging into the compositor and we should not drive by trying to copy features (badly). KWin's mission statement discourages to do so. We had huge problems in the past trying to please too many and failing.

Jan 25 2019, 5:30 AM · KDE Promo, VDG, KWin

Jan 24 2019

graesslin added a comment to D18494: [wayland] Discard Force Temporarily rules for shell clients.

Hmm... I would say we need to figure out the intention behind force temporarily and whether this concept can be mapped to Wayland.

Jan 24 2019, 5:33 PM · KWin
graesslin added inline comments to D18464: [autotests] Rewrite testShellClientRules.
Jan 24 2019, 2:17 PM · KWin
graesslin added a comment to D18496: [wayland] Make clients with forced minimize state unminimizeable.

Could you please add a test case

Jan 24 2019, 2:09 PM · KWin
graesslin added a comment to D18494: [wayland] Discard Force Temporarily rules for shell clients.

Could you please add this to the test case. IIRC we have already a few tests for force temporary.

Jan 24 2019, 2:08 PM · KWin
graesslin accepted D18488: Apply -Wno-inconsistent-missing-override for all compilers.
Jan 24 2019, 7:26 AM · KWin

Jan 23 2019

graesslin added a comment to D18453: Reload Shm texture when buffer size changes.

Could this be our firefox issue?

That would be nice, but I'm afraid not. It's nothing in the rendering code, we can see they just stop sending us frames.

Jan 23 2019, 5:15 PM · KWin
graesslin added a comment to D18460: Make sure we check for any GL errors generated from glGetIntegerv.

Keep in mind that the Nvidia driver triggered endless loops in checkglerror.

Jan 23 2019, 4:52 PM · KWin

Jan 22 2019

graesslin accepted D18366: Fix flickering with Qt 5.12.
Jan 22 2019, 5:36 PM · KWin
graesslin added a comment to D18453: Reload Shm texture when buffer size changes.

Could this be our firefox issue?

Jan 22 2019, 5:34 PM · KWin
graesslin accepted D18453: Reload Shm texture when buffer size changes.
Jan 22 2019, 5:33 PM · KWin
graesslin added a comment to D18452: [autotests] Sub-surface resize test.

Cool stuff! I assume you want to push together with a patch fixing this?

Jan 22 2019, 5:31 PM · KWin
graesslin added a comment to D18436: [platform/virtual] Swap buffers in EGL GBM backend.

Do the tests pass without the change?

Jan 22 2019, 5:28 PM · KWin
graesslin added a comment to D18410: Implement PlasmaShellSurface::popupBehavior in kwin.

That's an evil twist. Idea: make the windows panels with windows go below?

Jan 22 2019, 5:25 PM · KWin
graesslin added a comment to D18167: Move -Wsuggest-override -Wlogical-op to regular compiler settings.

The human error exists as long as clang-tidy is not used. What I fear is that someone does a hand porting - we have seen several attempts to do that in KWin from various developers. If devs don't know and now fix the warnings, they can bring in human error.

Jan 22 2019, 4:13 PM · Build System, Frameworks
graesslin added a comment to D18410: Implement PlasmaShellSurface::popupBehavior in kwin.

Stays on top is wrong. The window needs to be in the dock layer, not in the above layer. With keep above other keep above windows can still go on top of it.

Jan 22 2019, 5:09 AM · KWin

Jan 21 2019

graesslin added a comment to D18410: Implement PlasmaShellSurface::popupBehavior in kwin.

Stupid question: the popups are transient to the panel? If yes we can fix in layer. A panel transient should be in panel layer and thus above the windows without any client side tricks.

Jan 21 2019, 4:49 PM · KWin
graesslin added a comment to D18366: Fix flickering with Qt 5.12.

Suggestion: we take this for stable branches and switch to doing it ourselves in master.

Jan 21 2019, 4:45 PM · KWin
graesslin added a comment to D18410: Implement PlasmaShellSurface::popupBehavior in kwin.

I'm not totally happy with calling it popup behavior. In X speak this is not a popup.

Jan 21 2019, 5:30 AM · KWin
graesslin added a comment to D18167: Move -Wsuggest-override -Wlogical-op to regular compiler settings.

For done code this warning is pointless and negative. I invite you to work with a code base like KWin where it is more important to have a working git blame than protection for theoretical problems. Nobody will be able to guarantee that a 500+ change to add override won't break. Human errors happen, nobody will be able to review something like that. Addressing this warning by adding override all over our legacy code base has a serious risk.

Jan 21 2019, 5:28 AM · Build System, Frameworks

Jan 20 2019

graesslin added a comment to D18167: Move -Wsuggest-override -Wlogical-op to regular compiler settings.

This causes in KWin 500+ new warnings. Do you really think it's a good idea to spam all of KDE with new compiler warnings. KDE has an old code base. We cannot enable warnings for the way you developed C++ for 20 years.

Jan 20 2019, 5:09 PM · Build System, Frameworks
graesslin added a comment to D18406: Silence warnings in TabBoxHandler.
In D18406#396909, @zzag wrote:

I don't see any warnings. Could you please provide the warning message?

Jan 20 2019, 4:38 PM · KWin
Restricted Application added a project to D18405: Switch ThumbnailItem to internal uuid instead of WId: KWin.
Jan 20 2019, 1:18 PM · KWin
graesslin requested review of D18406: Silence warnings in TabBoxHandler.
Jan 20 2019, 1:12 PM · KWin
graesslin added a dependency for D18405: Switch ThumbnailItem to internal uuid instead of WId: D18228: Add windowsystem plugin for KWin's qpa.
Jan 20 2019, 1:11 PM · KWin
graesslin added a dependent revision for D18228: Add windowsystem plugin for KWin's qpa: D18405: Switch ThumbnailItem to internal uuid instead of WId.
Jan 20 2019, 1:11 PM · KWin
graesslin requested review of D18405: Switch ThumbnailItem to internal uuid instead of WId.
Jan 20 2019, 1:11 PM · KWin
graesslin accepted D18383: [autotests] Use unloadAllEffects.

I guess the idea of the old code was to get a possibility to see which one fails to unload.

Jan 20 2019, 8:46 AM · KWin
graesslin accepted D18393: [libkwineffects] Port AnimationEffect to new connect syntax.
Jan 20 2019, 8:45 AM · KWin