graesslin (Martin Flöser)
KWin developer

Projects (8)

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Tuesday

  • Clear sailing ahead.

User Details

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

Recent Activity

Yesterday

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

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

Sat, Feb 16, 7:57 PM · KWin
graesslin requested review of D19084: Restrict available supported compositors based on first initialized one.
Sat, Feb 16, 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?

Sat, Feb 16, 6:15 PM · KWin
graesslin added inline comments to D18569: Split out a dedicated InternalClient class.
Sat, Feb 16, 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.

Sat, Feb 16, 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.

Sat, Feb 16, 1:13 PM · KWin

Thu, Feb 14

graesslin requested review of D19012: [qpa] Drop PlatformContextWayland which uses wayland egl for OpenGL.
Thu, Feb 14, 4:48 PM · KWin
graesslin requested review of D19010: [qpa] Set binary output path for QPA plugin.
Thu, Feb 14, 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?

Thu, Feb 14, 3:14 PM

Mon, Feb 11

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

Remove rect.isValid check

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

Sun, Feb 10

graesslin accepted D18863: [platforms/drm] Use more ScopedDrmPointer.
Sun, Feb 10, 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.

Sun, Feb 10, 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.

Sun, Feb 10, 4:14 PM · KWin
graesslin accepted D18786: Copy layer repaints to Deleted.
Sun, Feb 10, 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.

Sun, Feb 10, 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.

Sun, Feb 10, 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.

Sun, Feb 10, 3:53 PM · KWin

Fri, Feb 8

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

Setting the named symlink.

Fri, Feb 8, 4:46 PM

Wed, Feb 6

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.

Wed, Feb 6, 4:08 PM

Tue, Feb 5

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

Tue, Jan 29

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.

Tue, Jan 29, 4:00 PM · KWin

Mon, Jan 28

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.

Mon, Jan 28, 5:35 AM · KWin

Sun, Jan 27

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

Now really update (git user error)

Sun, Jan 27, 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

Sun, Jan 27, 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

Sun, Jan 27, 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.

Sun, Jan 27, 12:34 PM · KWin
graesslin requested review of D18564: Remove support for KWin's QPA plugin for KWindowSystem.
Sun, Jan 27, 12:30 PM · Plasma
graesslin committed R108:cfecb1e0770c: Fix reorder warning in AbstractScript (authored by graesslin).
Fix reorder warning in AbstractScript
Sun, Jan 27, 12:26 PM
graesslin committed R108:2608026b8835: Silence warnings in TabBoxHandler (authored by graesslin).
Silence warnings in TabBoxHandler
Sun, Jan 27, 12:26 PM
graesslin closed D18560: Fix reorder warning in AbstractScript.
Sun, Jan 27, 12:26 PM · KWin
graesslin closed D18406: Silence warnings in TabBoxHandler.
Sun, Jan 27, 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.

Sun, Jan 27, 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
Sun, Jan 27, 9:06 AM
graesslin closed D18405: Switch ThumbnailItem to internal uuid instead of WId.
Sun, Jan 27, 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
Sun, Jan 27, 9:06 AM
graesslin closed D18228: Add windowsystem plugin for KWin's qpa.
Sun, Jan 27, 9:06 AM · KWin
graesslin requested review of D18560: Fix reorder warning in AbstractScript.
Sun, Jan 27, 7:55 AM · KWin
graesslin added a comment to D18406: Silence warnings in TabBoxHandler.

Now I have the warnings again:

Sun, Jan 27, 7:45 AM · KWin

Sat, Jan 26

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

sure!

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

Fri, Jan 25

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.

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

Thu, Jan 24

graesslin added a comment to D18494: 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.

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

Could you please add a test case

Thu, Jan 24, 2:09 PM · KWin
graesslin added a comment to D18494: 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.

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

Wed, Jan 23

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.

Wed, Jan 23, 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.

Wed, Jan 23, 4:52 PM · KWin

Tue, Jan 22

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

Could this be our firefox issue?

Tue, Jan 22, 5:34 PM · KWin
graesslin accepted D18453: Reload Shm texture when buffer size changes.
Tue, Jan 22, 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?

Tue, Jan 22, 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?

Tue, Jan 22, 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 can cover?

Tue, Jan 22, 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.

Tue, Jan 22, 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.

Tue, Jan 22, 5:09 AM · KWin

Mon, Jan 21

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.

Mon, Jan 21, 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.

Mon, Jan 21, 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.

Mon, Jan 21, 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.

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

Sun, Jan 20

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.

Sun, Jan 20, 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?

Sun, Jan 20, 4:38 PM · KWin
Restricted Application added a project to D18405: Switch ThumbnailItem to internal uuid instead of WId: KWin.
Sun, Jan 20, 1:18 PM · KWin
graesslin requested review of D18406: Silence warnings in TabBoxHandler.
Sun, Jan 20, 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.
Sun, Jan 20, 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.
Sun, Jan 20, 1:11 PM · KWin
graesslin requested review of D18405: Switch ThumbnailItem to internal uuid instead of WId.
Sun, Jan 20, 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.

Sun, Jan 20, 8:46 AM · KWin
graesslin accepted D18393: [libkwineffects] Port AnimationEffect to new connect syntax.
Sun, Jan 20, 8:45 AM · KWin
graesslin accepted D18292: [autotests] Update tests to use stable version of xdg-shell.
Sun, Jan 20, 8:43 AM · KWin
graesslin added a comment to D18368: [effects] Port to new connect syntax.

Given that it compiles, it looks fine to me

Sun, Jan 20, 8:40 AM · KWin
graesslin added a comment to D18366: Fix flickering with Qt 5.12.

Maybe we shouldn't rely on Qt doing that for us, but just do it ourselves.

Sun, Jan 20, 8:38 AM · KWin

Jan 17 2019

graesslin added a comment to D18307: Call frameRendered for undamaged Wayland surfaces.

This does not take into account: A server should avoid signaling the frame callbacks if the surface is not visible in any way, e.g. the surface is off-screen, or completely obscured by other opaque surfaces.

Jan 17 2019, 4:01 PM · KWin

Jan 16 2019

graesslin added a comment to D18293: Set rows in virtualdesktop protocol.

Can't we simplify by connecting once to rowsChanged signal?

Jan 16 2019, 5:02 PM · KWin
graesslin updated the diff for D18228: Add windowsystem plugin for KWin's qpa.

make findWindow(QWindow*) also work for X11 by looking through Unmanaged

Jan 16 2019, 4:44 PM · KWin

Jan 14 2019

graesslin added a comment to D18228: Add windowsystem plugin for KWin's qpa.
In D18228#393160, @zzag wrote:

Generally speaking, it would be great to have protocol-agnostic internal clients, but tbh I haven't thought too much about this.

Jan 14 2019, 7:36 PM · KWin
graesslin planned changes to D13459: [RFC] Implement new window tab API in DecoratedClientImpl.
Jan 14 2019, 5:50 PM · KWin
graesslin updated the diff for D18228: Add windowsystem plugin for KWin's qpa.
  • Add EffectsHandler::findWindow(QWindow*) -> EffectWindow*
  • Fix coding style
Jan 14 2019, 5:46 PM · KWin

Jan 13 2019

graesslin requested review of D18228: Add windowsystem plugin for KWin's qpa.
Jan 13 2019, 5:05 PM · KWin
graesslin added a comment to D18226: Port Scene away from foreach.

I wouldn't start porting away from foreach before Qt 6 has it removed. Quite simply I don't think it will be removed. foreach and extended for behave differently as the qAsConst things show. Using extended for on Qt container is extremely expensive (let's ignore the fact that we know that stuff, think of the average developer with hardly any Qt background).

Jan 13 2019, 4:20 PM · KWin

Jan 12 2019

graesslin committed R108:33c7edaaf479: Use reserve on QVector<Phase2Data> (authored by graesslin).
Use reserve on QVector<Phase2Data>
Jan 12 2019, 2:16 PM
graesslin closed D18208: Use reserve on QVector<Phase2Data>.
Jan 12 2019, 2:16 PM · KWin
graesslin committed R133:dfd02160746b: Fix fallback to built-in ui (authored by graesslin).
Fix fallback to built-in ui
Jan 12 2019, 2:14 PM
graesslin closed D16945: Fix fallback to built-in ui.
Jan 12 2019, 2:14 PM · Plasma
graesslin committed R133:552932c8baab: Disable kcrash in greeter in same way as in KWin (authored by graesslin).
Disable kcrash in greeter in same way as in KWin
Jan 12 2019, 2:14 PM
graesslin closed D16943: Disable kcrash in greeter in same way as in KWin.
Jan 12 2019, 2:14 PM · Plasma
graesslin added a comment to D17884: [effects] Enable touchpoints by default.

I used this for a week, and tried to poke my laptop screen more.

It didn't bother me, but I can't say I really gained anything as my finger was always in the way of the small circle.

Jan 12 2019, 2:09 PM · KWin
graesslin accepted D18207: Drop Phase2Data constructors.
Jan 12 2019, 2:06 PM · KWin
graesslin requested review of D18208: Use reserve on QVector<Phase2Data>.
Jan 12 2019, 1:40 PM · KWin
graesslin added a comment to D18198: Use QVector in paintGenericScreen.

That's due to change in Qt6.

Oh, I wasn't aware of that. Where do you have that information from? I'd love to read up about it.

Jan 12 2019, 10:02 AM · KWin
graesslin committed R108:825aa4ac3886: [platform/virtual] Drop support for vgem and rendernode (authored by graesslin).
[platform/virtual] Drop support for vgem and rendernode
Jan 12 2019, 7:39 AM
graesslin committed R108:c2c92fab518b: Ensure the Compositor does not start during termination (authored by graesslin).
Ensure the Compositor does not start during termination
Jan 12 2019, 7:39 AM
graesslin closed D18160: [platform/virtual] Drop support for vgem and rendernode.
Jan 12 2019, 7:39 AM · KWin
graesslin closed D18015: Ensure the Compositor does not start during termination.
Jan 12 2019, 7:39 AM · KWin
graesslin committed R108:99df3c82f363: [autotests] Don't check whether there is a /dev/dri/card0 (authored by graesslin).
[autotests] Don't check whether there is a /dev/dri/card0
Jan 12 2019, 7:39 AM