peterfajdiga / peterfajdiga/karousel
[Feature] Increase width at max width automatically maximize the window
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 1.1k
- Forks
- 45
- PR merge metrics
- No merged PRs in 30d
Description
The basic idea is to treat "maximized" state as "max+1" column width, i.e., "bigger than the biggest size", so the normal increase/decrease column width hotkeys can also serve as maximize/restore.
Personally, I think this is more intuitive than having column width and maximize as orthogonal states. I.e., if I increase the column size to max, and still want it bigger, then the next logical step seems to be maximizing.
Specifically:
- If the active column has only one window, and currently at max width, then pressing "Increase column width" or "Cycle through preset column widths" maximizes it.
- If the active window is maximized, then:
2.1. Pressing "Increase column width" or "Equalize visible column widths" has no effect.
2.2. Pressing "Decrease column width" or "Cycle in reverse through preset column widths" restores it.
2.3. Pressing "Cycle through preset column widths" restores it and sets it to the smallest preset column width.
2.4. Other hotkeys that would change column width, now restores the window first. Including: "Move window to *", "Squeeze left/right column onto the screen".
Questions:
- Whether this should be behind an option? Probably yes, since this is a pretty big change from the current behaviour.
- Shall we also consider "fullscreen" as "max+2", i.e., "Increase column width" on a maximized window would fullscreen it? If so, should this be behind another option?
I'd be glad to implement this if you like the idea.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the existing column-width, maximize, restore, and related hotkey handling in the KWin script. Resolve whether the behavior and fullscreen transitions should be configurable before implementation. Done means the specified increase, decrease, preset-cycle, equalize, move, and squeeze actions behave consistently for max-width and maximized windows.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100