peterfajdiga / peterfajdiga/karousel

[Feature] Increase width at max width automatically maximize the window

Open
#157 1 comment 0 reactions 0 assignees View on GitHub

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:

  1. 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.
  2. 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:

  1. Whether this should be behind an option? Probably yes, since this is a pretty big change from the current behaviour.
  2. 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.