graesslin (Martin Flöser)
KWin maintainer

Projects (8)

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Monday

  • Clear sailing ahead.

User Details

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

Recent Activity

Today

graesslin requested changes to D14850: [effects] Turn off Translucency by default.

Someone was giving a presentation during the KDE e.V. meeting and resized a Dolphin window to make it bigger. The act of doing this made the window translucent and revealed the content of the window beneath it. This was a significant privacy violation, and could have had damaging consequences.

Sat, Aug 18, 6:49 AM · KWin

Yesterday

graesslin added a comment to D14910: Pass a dedicated fd to each keyboard for the xkb keymap.

Sorry for strange upload, arc decided to no longer like me.

Fri, Aug 17, 7:24 PM · Frameworks
graesslin requested review of D14910: Pass a dedicated fd to each keyboard for the xkb keymap.
Fri, Aug 17, 7:20 PM · Frameworks

Tue, Jul 31

graesslin added a comment to D14482: Unit test a bunch of scripted effects.

We need to start a thread on frameworks-devel defining KDE's coding standard use of auto. I've made the changes for now but it's rather frustrating to try and follow non-defined policies.

Personally, I fully support being explicit with type hints when there's overloads or when you want const references, but being explicit for the common T* case doesn't help anything.
Also I don't really buy that being explicit is needed for readability given we allow foo()->bar() without interim variables.

but I'm happy to follow whatever

Tue, Jul 31, 4:20 AM · KWin

Sat, Jul 21

graesslin added a comment to D14264: Disconnect decoration button requestHover tooltip on decoration destuction.

What's really strange is that requestShowTooltip comes from the event loop. But nothing in kdecoration or in KWin goes through a queued event to KWin::Decoration::DecoratedClientImpl::requestShowToolTip.

Sat, Jul 21, 7:04 PM · Plasma
graesslin added a comment to D14264: Disconnect decoration button requestHover tooltip on decoration destuction.

The hovered state cannot change if there is no decoration. Hover is from an event handler from Decoration. I doubt that this change here can fix the crash. Also that's the explanation for the update slot not checking: no hover change if there's no decoration.

Sat, Jul 21, 6:56 PM · Plasma

Fri, Jul 20

graesslin added inline comments to D14251: Flush Xwayland connection only when events were filtered.
Fri, Jul 20, 6:44 PM · KWin

Jul 18 2018

graesslin accepted D14210: Don't remove outputs during page flip.
Jul 18 2018, 3:29 PM · KWin

Jul 17 2018

graesslin added inline comments to D14176: Use locked cursor position hint.
Jul 17 2018, 7:55 PM · KWin
graesslin accepted D14176: Use locked cursor position hint.
Jul 17 2018, 2:52 PM · KWin
graesslin accepted D14188: [libkwineffects] Deprecate Outline feature.
Jul 17 2018, 2:47 PM · KWin

Jul 15 2018

graesslin accepted D14142: Explicitly disable pointer constraints on TabBox invocation.
Jul 15 2018, 7:49 PM · KWin
graesslin added a comment to D14036: [wayland] Confine pointer to screen geometry.
In D14036#292528, @zzag wrote:

@graesslin Where should it go? Plasma/5.13(and master) or just master?

Jul 15 2018, 7:48 PM · KWin
graesslin added a comment to D14117: [effects/magiclamp] Eliminate unnecessary reallocations.

just saying: I really like these changes. Good work, keep it going!

Jul 15 2018, 1:42 PM · KWin
graesslin accepted D14036: [wayland] Confine pointer to screen geometry.
Jul 15 2018, 1:40 PM · KWin
graesslin added a comment to D14027: [kwinrules] Added option to enable and disable blur.

I would turn it around: first think about how to pass the information to the effects. Without that it doesn't make much sense to define which rules exists. Especially have a look how KWin core uses the rules. The common pattern is: something changes, then check in rules the value and use that as the true new value. That pattern is btw. not used in the code of this patch. But for having the rules work correctly and in all circumstances this is extremely important.

Jul 15 2018, 1:39 PM · KWin

Jul 10 2018

graesslin added a comment to D13456: [wayland] Make it possible to reach screen edges.

go for it :-)

Jul 10 2018, 5:47 PM · KWin
graesslin added inline comments to D13758: [tabbox] Deactivate client while switching windows on Wayland.
Jul 10 2018, 5:25 PM · KWin
graesslin added a comment to D13456: [wayland] Make it possible to reach screen edges.
In D13456#289923, @zzag wrote:
Jul 10 2018, 5:13 PM · KWin
graesslin added a comment to D14027: [kwinrules] Added option to enable and disable blur.

Adding support for rule in effects is not trivial. We have had this idea for years and never found a suitable and implementable solution. Hacking this in for one effect is not a solution. We need a general solution. And that is not trivial as many areas in KWin are lacking:

  • effects need to define sensible rules
  • rules ui must be able to load the rules for effects
  • a way to notify from rules to effects
Jul 10 2018, 5:11 PM · KWin

Jul 5 2018

graesslin added a comment to D13456: [wayland] Make it possible to reach screen edges.

What's the status of this?

I can help with anything if needed

Jul 5 2018, 5:15 PM · KWin
graesslin requested changes to D13887: use the new plasma virtual desktop protocol.

I think this change is way too invasive. When I drafted that my idea was to not change all in one go but make it backward compatible. Especially not touching anything related to X11 Windows.

Jul 5 2018, 5:15 PM · KWin

Jul 1 2018

graesslin accepted D13821: Use std::transform in libkwineffects implementation part.

Nice. To our defense: c++ wasn't that nice when that code was written.

Jul 1 2018, 2:20 PM · KWin
graesslin added a comment to D13084: Avoid invalid geometry of internal clients through plasma surface interface.

But if you think we should directly just in general disallow any geometry updates through the PlasmaShellSurface

IMHO yes. (through either this patch or in the QPA or in dialog) Having two providers of the same information is wrong, we should fix code paths to make sense, not just where we see bugs.
If it is brittle, we need to fix that regardless.

Jul 1 2018, 5:54 AM · KWin
graesslin added a comment to D13810: [effects] Rewrite the Dialog Parent effect.

I think it is a bad idea to go back to c++. From maintainability and hackability the switch to JavaScript was the most important change I ever did in KWin.

Jul 1 2018, 5:51 AM · KWin

Jun 30 2018

graesslin accepted D13616: Fractional scaling in DRM kscreen integration.
Jun 30 2018, 6:21 AM · KWin

Jun 28 2018

graesslin added a comment to D13758: [tabbox] Deactivate client while switching windows on Wayland.

also on Wayland we have X11 Windows with the negative side effects.

Jun 28 2018, 4:11 PM · KWin
graesslin accepted D13740: [libkwineffects] Add TimeLine helper.
Jun 28 2018, 4:04 PM · KWin
graesslin added a comment to D13758: [tabbox] Deactivate client while switching windows on Wayland.

-2 from my side. This has side effects which could in worst case trigger alt+tab to cancel.

In this case can you point out which side effects exactly and if possible propose a different solution?

Jun 28 2018, 4:27 AM · KWin

Jun 27 2018

graesslin accepted D13740: [libkwineffects] Add TimeLine helper.
Jun 27 2018, 7:10 PM · KWin
graesslin added a comment to D13758: [tabbox] Deactivate client while switching windows on Wayland.

-2 from my side. This has side effects which could in worst case trigger alt+tab to cancel.

Jun 27 2018, 7:06 PM · KWin
graesslin added inline comments to D13740: [libkwineffects] Add TimeLine helper.
Jun 27 2018, 4:31 AM · KWin
graesslin requested changes to D13740: [libkwineffects] Add TimeLine helper.
Jun 27 2018, 4:26 AM · KWin

Jun 26 2018

graesslin added a comment to D13740: [libkwineffects] Add TimeLine helper.

+1 from my side. I don't think we would have used it if the QEasingCurve would have existed at that time.

Jun 26 2018, 5:11 PM · KWin
graesslin added a comment to D13481: Recommend window border size "None".

Nate, I cannot believe what I read here. Every week you do a blog post about usability. In other reviews you draw the usability card so often that it annoys me. And here you want to break user setups and break with "form follows function". This is absolutely unbelievable to me.

Jun 26 2018, 4:30 AM · Plasma

Jun 25 2018

graesslin accepted D13715: Avoid potential assert in SM saving.
Jun 25 2018, 3:33 PM · KWin
graesslin added a comment to D13481: Recommend window border size "None".
In D13481#282653, @mart wrote:

What I thought of as a solution back when it happened was to check if it's a single click on the dead zone without mouse movement, then activate the window below. Since if you want to use the virtual border, you would move the mouse after press to drag. Not sure if it's worth it since as said, never disturbed my work flow afterwards again.

how difficult is to implement? would just bring the window forward, or actually pass the click? (ie, if there is a button under that dead zone, it should be clicked)

Jun 25 2018, 3:32 PM · Plasma

Jun 24 2018

graesslin accepted D13690: [libkwineffects] Save value of the managed property during construction of EffectWindow.
Jun 24 2018, 1:10 PM · KWin
graesslin added a comment to D13614: Workaround crash in Aurorae destruction.

I've seen. Sorry. It depends on the QSGRenderContext used. One hooks in with the GL context which is now out of scope - and my machine was doing something different.
Might be best to just revert as I did a proper (safe!) fix in Qt 5.12 and the original bug was more rare.

Jun 24 2018, 12:46 PM · KWin
graesslin accepted D13701: [libkwineffects] Emit a signal when active fullscreen effect changed.
Jun 24 2018, 8:25 AM · KWin
graesslin added a comment to D13614: Workaround crash in Aurorae destruction.

We are getting regression crash reports on X11 (or older Qt) now: https://bugs.kde.org/show_bug.cgi?id=395732 and a bisect report in https://bugs.kde.org/show_bug.cgi?id=395807

Jun 24 2018, 6:59 AM · KWin
graesslin added inline comments to D13690: [libkwineffects] Save value of the managed property during construction of EffectWindow.
Jun 24 2018, 6:57 AM · KWin

Jun 23 2018

graesslin requested changes to D13690: [libkwineffects] Save value of the managed property during construction of EffectWindow.

Except for the virtual I like the change

Jun 23 2018, 8:25 PM · KWin
graesslin accepted D13608: Load Kwin's internal cursors for the highest resolution of attached monitors.
Jun 23 2018, 8:22 PM · KWin
graesslin accepted D13605: DRM cursor scaling.
Jun 23 2018, 7:55 AM · KWin
graesslin accepted D13616: Fractional scaling in DRM kscreen integration.
Jun 23 2018, 7:54 AM · KWin
graesslin accepted D13606: Set correct DPR on wayland cursors received from remote buffers.
Jun 23 2018, 7:52 AM · KWin
graesslin accepted D13492: Make keyboard focus a pointer constraints necessity.
Jun 23 2018, 7:27 AM · KWin
graesslin accepted D13566: [effects/slide] Disable "Slide docks".
Jun 23 2018, 7:26 AM · KWin
graesslin added inline comments to D13605: DRM cursor scaling.
Jun 23 2018, 7:25 AM · KWin
graesslin added a comment to D13481: Recommend window border size "None".

Please don't play with the users. I would have never pushed a change to test how things work. They are not our testbed. That it worked on other platforms doesn't mean a thing. Maybe that other platform cannot even run into the dead zone situation.

Jun 23 2018, 7:20 AM · Plasma
graesslin accepted D13607: Remove concept of resolution dependent cursors.
Jun 23 2018, 6:48 AM · KWin
graesslin added inline comments to D13608: Load Kwin's internal cursors for the highest resolution of attached monitors.
Jun 23 2018, 6:47 AM · KWin

Jun 22 2018

graesslin accepted D13642: Support cursor scaling in X windowed backend.
Jun 22 2018, 4:55 PM · KWin

Jun 21 2018

graesslin added a comment to D13481: Recommend window border size "None".

To everyone here: you are extremely experienced developers and software users, partially working in the window manager area. Of course you understand why the dead zone happens and of course you are able to adapt to it. But please think of your users. I fear they won't understand it. Also with click the dead zone might be obvious. With just mouse hover it might not. Please try not to argument for this strong behavior change with anecdotal evidence like "I use this for years".

Jun 21 2018, 3:24 PM · Plasma
graesslin added a comment to D13481: Recommend window border size "None".

Right. That's not a workflow I think I've ever seen anyone do with a windowed game.

Jun 21 2018, 3:20 PM · Plasma

Jun 20 2018

graesslin added a comment to D13481: Recommend window border size "None".

There are two visual hints when the mouse is inside the deadzone.

You would still get the different cursor
The client gets the mouse left event and would not show any hover effect on whatever control might be there.
Jun 20 2018, 6:12 PM · Plasma

Jun 18 2018

graesslin added a comment to D13481: Recommend window border size "None".

I realized that there's yet another problem with the approach: if two windows border and the window with pointer focus is lower in the stacking order this would create a dead zone in the window. With compositing disabled this would be worse as there's not even a visual hint.

Jun 18 2018, 3:28 PM · Plasma

Jun 17 2018

graesslin added a comment to D13567: Smaller steps for animation speed option.

We don't break users configuration. There is nothing which justifies that. For example: if the user configured a wallpaper the new wallpaper won't replace it. Only default values my be modified by updates. As soon as a user configured a setting it must not be changed. Users need to be able to trust their software.

Jun 17 2018, 6:55 AM · KWin

Jun 16 2018

graesslin added a comment to D13567: Smaller steps for animation speed option.

This would break configurations of users.

Also I don't think that such a change is needed as I already expressed in the bug report. It is possible to adjust the speed on a per effect level. I doubt that any user would benefit from a higher granularity.

If users' configuration is one of 0, 1, 2, 3, it won't change anything. If users' configuration is 4, 5 or 6. It only get slightly faster, nothing break.

Jun 16 2018, 4:28 PM · KWin
graesslin added a comment to D13566: [effects/slide] Disable "Slide docks".

An advice: don't change the default based on the random feedback you get. If you change this I can promise you you will get the same amount of complaints after the next release.

Jun 16 2018, 3:51 PM · KWin
graesslin requested changes to D13567: Smaller steps for animation speed option.

This would break configurations of users.

Jun 16 2018, 3:44 PM · KWin
graesslin added a comment to D13530: Add XDG WmBase support.
In D13530#278467, @zzag wrote:

I disagree. comma at end is just bad style which is accepted by compilers.

by C++ standard. draft ;-)

Could you please explain why trailing commas are bad?

Jun 16 2018, 5:51 AM · KWin

Jun 14 2018

graesslin requested review of D13541: Port solid from Qt5::Widgets to Qt5::Gui.
Jun 14 2018, 4:10 PM · Frameworks
graesslin added inline comments to D13530: Add XDG WmBase support.
Jun 14 2018, 3:14 PM · KWin
graesslin added a comment to D13535: Do not cancel old clipboard selection if it is same as the new one..

I would appreciate a unit test for the issue.

Jun 14 2018, 3:04 PM · Frameworks
graesslin added inline comments to D13492: Make keyboard focus a pointer constraints necessity.
Jun 14 2018, 4:28 AM · KWin

Jun 11 2018

graesslin added a comment to D13456: [wayland] Make it possible to reach screen edges.
In D13456#277137, @zzag wrote:

run "dbus-launch ./test-whatever"

I usually go to the build directory and run

bin/testWhateverIWantToTest
Jun 11 2018, 7:30 PM · KWin
graesslin added a comment to D13456: [wayland] Make it possible to reach screen edges.

Great work. Could you please extend the unit test for this area. Did you run them? As this is a behavior change I could imagine that it breaks the existing tests.

Jun 11 2018, 4:29 AM · KWin
graesslin added inline comments to D13466: Remove pointer constraint on resource unbind.
Jun 11 2018, 4:25 AM · KWin

Jun 10 2018

graesslin added a dependency for D13459: [RFC] Implement new window tab API in DecoratedClientImpl: D12997: Add new api to support window tabs.
Jun 10 2018, 9:28 AM · KWin
graesslin added a dependent revision for D12997: Add new api to support window tabs: D13459: [RFC] Implement new window tab API in DecoratedClientImpl.
Jun 10 2018, 9:28 AM · Plasma
graesslin requested review of D13459: [RFC] Implement new window tab API in DecoratedClientImpl.
Jun 10 2018, 9:27 AM · KWin
graesslin committed R108:c86fdf4c5426: Merge branch 'Plasma/5.13' (authored by graesslin).
Merge branch 'Plasma/5.13'
Jun 10 2018, 7:20 AM
graesslin committed R108:c44adda40f47: Hide decoration tooltip when the decoration gets destroyed (authored by graesslin).
Hide decoration tooltip when the decoration gets destroyed
Jun 10 2018, 7:20 AM
graesslin closed D13299: Hide decoration tooltip when the decoration gets destroyed.
Jun 10 2018, 7:20 AM · KWin

Jun 7 2018

graesslin added a comment to D13284: [decorations] Let KDecoration plugins recommend a border size per default.

Thanks David. I must be getting confused by the fact that right now, if a user switches to No Borders, there is indeed an extended resize area outside of the window's bounds (at least for me; do you not see this?). If this patch preserves it, than that's good.

Jun 7 2018, 4:27 AM · KWin
graesslin accepted D13396: Set specific edge cursor shape when resizing.
Jun 7 2018, 4:24 AM · KWin

Jun 6 2018

graesslin added a comment to D13284: [decorations] Let KDecoration plugins recommend a border size per default.

For breeze: yes, for Oxygen: no.

Jun 6 2018, 4:48 PM · KWin
graesslin added a comment to D13284: [decorations] Let KDecoration plugins recommend a border size per default.

That's a non-standard definition of the word accessibility.

Jun 6 2018, 4:36 PM · KWin
graesslin added a comment to D13284: [decorations] Let KDecoration plugins recommend a border size per default.

There's one more case where the no-border resize is problematic: when compositing is disabled. Then we don't have shadows so the resize handles would really indicate it's the other window.

Jun 6 2018, 3:56 PM · KWin
graesslin added a comment to D13284: [decorations] Let KDecoration plugins recommend a border size per default.

What I'm concerned about is accessibility. Accessibility in the case of users who learned that they need to hover over the border of a window. In case of an adjacent window they get the resize handle of the window, but it resizes the other window. This is totally unexpected and I wouldn't know how to explain this to my mother.

Jun 6 2018, 4:33 AM · KWin

Jun 5 2018

graesslin added a comment to D13284: [decorations] Let KDecoration plugins recommend a border size per default.

Explaining why I prefer this approach over changing the default in KWin. It mostly comes from a rule for code changes: "it works together with all existing features" (see https://community.kde.org/KWin/Mission_Statement ). KWin ships one window decoration (Plastik as a QML Aurorae theme). As explained Aurorae does not support no (side) border as that doesn't match what Aurorae was designed for and is not possible to add without breaking the existing themes. Thus the change of the default conflicts with an existing feature in KWin and is thus not possible from the rules KWin has.

Jun 5 2018, 7:02 PM · KWin
graesslin added a comment to D13353: [effects/minimizeanimation] Add more descriptive namespace comments.

Personal opinion: I think such comments like namespace or if after a closing braces don't add any useful information. If I need to know the scope the brace ends I use the editors functionality to highlight it.

Jun 5 2018, 6:37 PM · KWin
graesslin accepted D13359: Remove Qt module declarations in includes.

Looks like there were quite a few surviving the script during qt5 porting.

Jun 5 2018, 4:37 PM · KWin

Jun 4 2018

graesslin added a comment to D13299: Hide decoration tooltip when the decoration gets destroyed.

Do you need the m_toolTipShowing variable at all? On destruct just always calling requestHideToolTip should be possible, not?

Jun 4 2018, 3:04 PM · KWin

Jun 3 2018

graesslin updated the diff for D13299: Hide decoration tooltip when the decoration gets destroyed.

Figured out why everything is crashing and could test now.

Jun 3 2018, 5:28 PM · KWin
graesslin requested review of D13299: Hide decoration tooltip when the decoration gets destroyed.
Jun 3 2018, 11:31 AM · KWin
graesslin added a comment to D13284: [decorations] Let KDecoration plugins recommend a border size per default.

> To Martin, on the window rule: I know this is not the right place to discuss it, but still:

It would be really nice to have ! Right now both oxygen and breeze decorations implement "exceptions" which are essentially a crippled version of window rules. Moving the window border size out of this crippled version to the upstream and more feature complete version provided by window rules would be quite awesome.

Jun 3 2018, 9:20 AM · KWin
graesslin added a comment to D13284: [decorations] Let KDecoration plugins recommend a border size per default.

I like this approach. What I had as idea was to make border size a property of DecoratedClient and introduce a window specific rule. I haven't followed up on it as the vdg did not show any interest in me improving the code side of things.

Jun 3 2018, 8:48 AM · KWin

Jun 2 2018

graesslin requested changes to D13276: Display "No Borders" by default.

As indicated in the discussion on the task I'm against this change.

Jun 2 2018, 6:08 AM · KWin

Jun 1 2018

graesslin added a comment to T8707: Window borders.

Assuming we can live without rounded bottom corners, all we want to do here is change a user-facing default. That isn't a technical solution. It's a visual tweak that is absolutely under the purview of the VDG.

Jun 1 2018, 7:42 PM · VDG
graesslin added a comment to D11781: Introduce generic Output class.

As you can see from the review comments I'm not too happy with the constant need of static_cast. To me that always looks wrong. If one needs to cast something is wrong in the design. I think this can be changed so that in the subclasses there is no need to static_cast or at least have the static_cast in a save way combined with static_asserts to make sure that it is save. The problem with static_cast is that further refactoring could break it really bad. It might still compile but fail at runtime. Just like a c-cast it kind of has a smell.

Jun 1 2018, 7:15 PM · KWin
graesslin added a comment to T8707: Window borders.

We are not going to clip anything away from the windows. Sorry, but we cannot do that. It's in IMHO absolutely evil to clip away window content. If you want round borders follow the approach I outlined.

Jun 1 2018, 3:42 PM · VDG

May 31 2018

graesslin added a comment to D13155: [effects] Add Scale Out effect.

My comment was not a veto, it was meant as a different thought perspective.

May 31 2018, 6:45 PM · KWin
graesslin requested review of D13235: [opengl] Drop functionality to start kcmshell compositing.
May 31 2018, 12:05 PM · KWin
graesslin added a comment to D13155: [effects] Add Scale Out effect.

In general I'm against adding new effects to KWin and would rather prefer to remove effects such as scale in. I think everything which is not default should be on store.kde.org and not added to KWin directly.

May 31 2018, 7:32 AM · KWin

May 29 2018

graesslin accepted D13163: Honor BUILD_TESTING.
May 29 2018, 4:50 PM · KWin

May 27 2018

graesslin added a comment to D13153: WIP: [libkwineffects] Allow effects to grab windows.

What about moving this directly to Effect or AnimationEffect?

May 27 2018, 4:42 PM · KWin

May 24 2018

graesslin added a comment to D13084: Avoid invalid geometry of internal clients through plasma surface interface.

what does the test suite say about it? Are all tests still passing? Also do you think it's possible to create a test case for it? I think I tried in the past and didn't succeed.

May 24 2018, 3:48 PM · KWin