Bug 404582 - Make an option to disable quarter tiling
Summary: Make an option to disable quarter tiling
Status: RESOLVED NOT A BUG
Alias: None
Product: kwin
Classification: Plasma
Component: core (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR wishlist
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-02-20 01:50 UTC by Andrey Kozlovskiy
Modified: 2019-02-24 20:09 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Quarter tiling enable/disable (17.73 KB, image/png)
2019-02-20 01:50 UTC, Andrey Kozlovskiy
Details
Independent half and quarter tiling (615 bytes, patch)
2019-02-22 19:51 UTC, Andrey Kozlovskiy
Details
Separate half and quarter tiling v2 (1.13 KB, patch)
2019-02-23 20:17 UTC, Andrey Kozlovskiy
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrey Kozlovskiy 2019-02-20 01:50:56 UTC
Created attachment 118208 [details]
Quarter tiling enable/disable

There is no way to completely disable quarter tiling in system settings.

GUI allows minimum value of 1%, ElectricBorderCornerRatio=0.0 in .kwinrc doesn't actually disables it (leaves corner pixels) and is not obvious for users at all.

There must be an appropriate checkbox in Desktop Behavior -> Screen Edges (see attachment).
Comment 1 Nate Graham 2019-02-20 04:04:35 UTC
So you want to disable just quarter-tiling but not side-tiling? May I ask why?
Comment 2 Martin Flöser 2019-02-20 05:27:37 UTC
We don't need to be able to configure everything. I'm sorry. This would result in spaceship controls. One option for disable quarter, the next want to disable side, we already have disable maximize. I'm sorry but that won't be added.
Comment 3 Andrey Kozlovskiy 2019-02-20 12:38:02 UTC
> May I ask why?

I thought that quarter tiling might be too much for smaller screens. Plus there is always a chance to hit quarter tile zone when quickly dragging windows to the edges (even with 1%). It just annoys me to much, but I think that's just me.

> One option for disable quarter,
> the next want to disable side, we already have disable maximize.

I think I made the wrong picture. They all must be separated from each other. We already have disable tiling option, it just should be for half tiling only. + one for quarter.

I understand you when you say about spaceship controls. But I doubt there would be something more than quarter tiling in the near future.

Anyway, thank you for your replies.
Comment 4 Martin Flöser 2019-02-20 18:58:47 UTC
And the next user will say "I only use quarter tiling, please give me an option to disable half tiling".
Comment 5 Andrey Kozlovskiy 2019-02-20 19:08:00 UTC
Well, that's just what I said in the previous message. Allow users to set them independently. Why not?
Comment 6 Martin Flöser 2019-02-21 05:06:03 UTC
It's two additional chech boxes. It needs additional code path. The complexity of KWin increases by factor 4.
Comment 7 Andrey Kozlovskiy 2019-02-22 19:50:49 UTC
You mean 4 in total? With master option to control both of them?

Looks like only 6 lines of code should be changed in KWin's abstract_client.cpp to make options independent, if I understood correctly (see attached diff), where electricBorderCornerTiling is the new option to controls quarters.
Comment 8 Andrey Kozlovskiy 2019-02-22 19:51:23 UTC
Created attachment 118298 [details]
Independent half and quarter tiling
Comment 9 Nate Graham 2019-02-22 19:52:57 UTC
Feel free to submit a patch if you think your approach is simple and maintainable :)

Here are the submission instructions: https://community.kde.org/Infrastructure/Phabricator
Comment 10 Andrey Kozlovskiy 2019-02-23 20:17:00 UTC
Created attachment 118325 [details]
Separate half and quarter tiling v2

Corrected patch for the record, please ignore.
Comment 11 Nate Graham 2019-02-24 20:09:06 UTC
Thanks, please submit it using http://phabricator.kde.org/.

If you already have a patch file, the simplest way is to just submit it directly at https://phabricator.kde.org/differential/diff/create/