Krohnkite Versions Save

A dynamic tiling extension for KWin

v0.8.1

2 years ago

This release includes a quick fix for a configuration related issue. (#198)

v0.7

4 years ago

Hello, again!

This is the seventh release of Krohnkite.

As always, thanks for your interest. Hope you enjoy using the script.

As noted before, I tried to make workflow smoother rather than adding more bangs. I made a few changes that can scratch some itches. There are still many improvements that can be made, but not without major changes and possible breakages. I'll gradually move into those parts.

The top priority for March will be layout. I'll probably add a rotatable layout, something like xtile from dwm, and will make layouts more modular than now.

Also, I'll keep working on the new documentation. The hardest part turned out to be to keep myself motivated. You know, programmers hate documenting. I'll keep trying there.

It's possible that the development pace might drop for a while, until mid-April. I have another business to tend to, but will keep working on this project.

Changelog

  • Improved "No Border" state management
  • Deprecating "Cycle Layout" shortcut, in favor of "Next/Previous Layout"
  • Directional swap - move window to left/right/up/down
  • Toggling Monocle layout - press shortcut once to activate Monocle layout, once more to return to the previous layout.
  • Optional window width limit, relative to the height of screen.

v0.6.1

4 years ago

This is a bugfix release.

"Keep floating windows above" option was added to v0.6 at the very last moment, but it had a major problem that impacts usability.

Bugfix

  • set "Keep Above" for new floating windows
  • fix adjustment of Three-Column layout when master > 1

Minor Changes

  • improve Three-Column layout master ratio handling

v0.6

4 years ago

Hello!

This is the sixth release of Krohnkite.

As always, thanks for your interest. You having good time with Krohnkite makes my effort worthwhile.

I'm sorry for taking so much time to release v0.6. It took almost an year. v0.5 was so satisfying in terms of quality, so I started integrating too many ideas at once. It eventually burnt me out, further slowing down development. I realized this only recently, and decided to stop trying to achieve too much, thus v0.6.

Unfortunately, software is not the only problem. I heard lots of people having trouble w/ figuring out how to use Krohnkite. The gigantic README is clearly not enough, and isn't maintained well at this point. There are more novice users than I initially assumed, so there gotta be a better documentation. I'm planning to put it on Github wiki first.

The next release will be at the end of February, and will prioritize workflow streamlining over feature expansion.

Changelog

New features

  • Grow/Shrink Window shortcut: resizes window (tiled only, for now)
  • Float All shortcut: toggles float on all visible windows
  • Floating Layout: floats all window, practically disables tiling logic
  • Three-Column Layout: a layout for wider monitors (e.g. 21:9)

Major changes

  • Individually resizable windows (if layout supports it)
  • Quarter layout kicks new windows to next desktop if the current desktop is full
  • Swap windows by dragging w/ mouse
    • (optional hack) Improve swapping by using actual mouse coordinate (disabled by default)
  • Configurable HJKL behavior: either dwm-like(default) or i3-like(WIP)
  • Popup notification when switching layout

Minor changes

  • More precise geometry calculation to prevent minor wobblying
  • Prevent windows from protruding from its screen.
  • No more "Keep Below". Instead, floating windows are kept above.
  • Windows can be ignored based on its role (WM_WINDOW_ROLE).
  • Tons of internal refactoring...

v0.5

5 years ago

Hello!

This is the fifth release of Krohnkite.

As always, thanks for your interest.

The development has been slowed down because of my personal business, but I've already made enough changes since the last release (50 commits), so I'm releasing a new version before working on any other new features.

The changes are mostly internal refactoring. I decoupled KWin-specific code from general tiling logic, and this allowed me to fix some bugs including unreported ones. I think the code is so clean that it's very easy to trace and fix bugs. It might be disappointing that there's only one new feature, but I believe I can pull out more changes thanks to this well-defined architecture.

I mentioned about adding testing in the last release note, but it turned out to be not simple to integrate existing testing frameworks to the current code base. Krohnkite doesn't use any standard Javascript module interface, so I should start from how to interface testing framework. I'll keep working on this, so that no one should worry about stupid regressions pop up here and there after every release.

I'm also thinking of changing the key-bindings, as suggested in #36. As clarified in README, Krohnkite is inspired by dwm, which means its behaviours are mostly copied from dwm. However, i3-like behaviour is clearly more general thus works well with most layouts. I'll try to minimize the impact of the change by providing shortcut slots for dwm-like behaviour.

Changelog

  • feature: live-adjust layout while resizing window
  • bugfix: fix Tile layout gap (#34)
  • bugfix: consider screen gaps during layout adjustment calculation
  • bugfix: layout adjustment freezes the window being resized
  • internal: windows now have explicit state, and actions during state transition are explicitly defined.
  • internal: window can be in "free tile" state, which allows layouts to float tiles without affecting other layouts.
  • refactoring: split KWin-specific code from main logic

Installation

You can install Krohnkite through KWin Script dialog in System Settings.

  1. Download the kwinscript file
  2. Open System Settings > Window Management > KWin Scripts
  3. Press Import KWin script... on the top-right corner
  4. Select the downloaded file

Alternatively, through shell:

plasmapkg2 -t kwinscript -i krohnkite-0.5.kwinscript

or, if Krohnkite is already installed:

plasmapkg2 -t kwinscript -u krohnkite-0.5.kwinscript

v0.4

5 years ago

Hello, all!

This is the fourth release of Krohnkite.

Always thanks for your interest. That really helps me a lot to drive this little thing.

This release comes with a few additions. The first thing is "always maximize window" option for Monocle layout. If enabled, all windows will be "maximized" to fit the working area w/ borders removed. This is really good for concentrating on one thing at a time.

Another addition is window title matching. Krohnkite can be configured to ignore/float any windows w/ title containing user specified words. The script can also skip tiling on certain activities/screens depending on user configuration.

I also implemented Quarter layout. The layout itself tiles windows in quarter, and floats any excessive windows. I'm planning to implement something like "kicking" windows to new virtual desktop, which can be useful in some workflow.

While working on this release, I realized that there still are many internal changes required. I've had so many regressions while working on the past two releases, so I must tighten up the architecture of the script to enhance maintainability. So the next release will be mostly refactoring.

I'm also considering adding tests to Krohnkite. It's nothing simple at the current stage, but once KWin backend is clearly decoupled from the main logic, I'll be able to add a fake backend for testing. This will prevent causing lots of stupid regression, and reduce the amount of effort to maintain this script.

Changelog

  • updated user configuration dialog.
  • added "always maximize" option for Monocle layout
  • ignore/float windows based on title (substring match)
  • added option for skipping tiling in user-specified activity/screen
  • implemented basic Quarter layout.
    • Currently, only the layout works, and no automatic desktop management.
  • regression: fixed the calculation of gaps b/w tiles
  • bugfix: fixed weird gap in Tile layout
  • bugfix: fixed resize increment calculation
  • added timestamp to debug output

Installation

You can install Krohnkite through KWin Script dialog in System Settings.

  1. Download the kwinscript file
  2. Open System Settings > Window Management > KWin Scripts
  3. Press Import KWin script... on the top-right corner
  4. Select the downloaded file

Alternatively, through shell:

plasmapkg2 -t kwinscript -i krohnkite-0.4.kwinscript

or, if Krohnkite is already installed:

plasmapkg2 -t kwinscript -u krohnkite-0.4.kwinscript

v0.3

5 years ago

Dear users,

This is the third release of Krohnkite, a tiling script for KWin. Always thanks for your interest.

In this release, I mainly worked on refactoring the script. The overall architecture is mostly the same, but I had to adjust roles of each class to give them more clear goals. Now it's pretty straighten up.

There are also some new features and bugfixes, which can be found in Changelog.

Changelog

  • new feature: adjust Tile layout by resizing windows w/ mouse
  • new feature: maximize the sole tileable window by removing screen gap and window titlebar/border
  • feature removal: window jiggling hack - it does nothing
  • bugfix: unnecessary gap b/w master and stack in Tile layout
  • bugfix: moving focus out of ignored windows (e.g. yakuake)
  • regression: fullscreen window is not occupying the whole screen

Installation

You can install Krohnkite through KWin Script dialog in System Settings.

  1. Download the kwinscript file
  2. Open System Settings > Window Management > KWin Scripts
  3. Press Import KWin script... on the top-right corner
  4. Select the downloaded file

Alternatively, through shell:

plasmapkg2 -t kwinscript -i krohnkite-0.3.kwinscript

or, if the script is already installed:

plasmapkg2 -t kwinscript -u krohnkite-0.3.kwinscript

v0.2

5 years ago

Merry Christmas!

This is the second release of Krohnkite. Thanks for using this script.

I've tried hard to improve the script, but testing isn't easy due to the nature of the script. Also, some people did have some issues that I couldn't reproduce successfully, so please expect to have few issues.

Freezing is the most common bug you'll face. It can be temporarily fixed by forcing window size changes, like floating a window, resizing master, or changing desktops (if you enabled jiggling in config). This is a notorious issue even for other scripts, and that's one of the reasons I jumped into developing a new script. I'm aiming to solve this problem by (1) making the script simple so that (2) I can neatly cram as many hacks as possible into the script.

Again, I hope this works well for you, and please don't hesitate sharing any issues you face.

Changelog

  • Screen gaps can be configure per side
  • Automatically float utility, dialog, splash windows
  • An option for removing borders from tiled windows
  • Direct shortcuts fro layouts
  • Supports moving windows b/w screens with KWin shortcuts.
  • Optional tile jiggling for forcefully unfreezing tiles
  • Optional separate layouts for each desktop/activity
  • Optional debug message printing
  • Respect window resizing increment hint (e.g. terminals, emacs)
  • Many fixes against window freezing issue

Installation

You can install Krohnkite through System Settings.

  1. Download the kwinscript file
  2. Open System Settings, navigate to Window Management > KWin Scripts
  3. On the top-right corner, press Import KWin script...
  4. Select the downloaded file

Alternatively, through shell:

plasmapkg2 -t kwinscript -i krohnkite-0.2.kwinscript

You can also force reinstall/upgrade the package with:

plasmapkg2 -t kwinscript -u krohnkite-0.2.kwinscript

v0.1

5 years ago

This is the first release of Krohnkite, a tiling script for KWin.

This might not be perfect, but I've ~tested~ used this for over two weeks w/o any major problems. (That sounds pretty professional, I know.)

I hope this also works well for you, and feel free to tell me about any problems and ideas.

Installation

You can install Krohnkite through System Settings.

  1. Download the kwinscript file
  2. Open System Settings, navigate to Window Management > KWin Scripts
  3. On the top-right corner, press Import KWin script...
  4. Select the downloaded file

Alternatively, through shell:

plasmapkg2 -t kwinscript -i krohnkite-0.1.kwinscript

You can also force reinstall/upgrade the package with:

plasmapkg2 -t kwinscript -u krohnkite-0.1.kwinscript