Saturday, June 20, 2026

KWin Window Tiling

I recently switched from GNOME desktop to KDE 6.7 (hands up hands down motion) and almost immediately ran into an issue with window tiling.

KDE's KWin has built in window tiling, where on GNOME I had to survive using the Gnome Tiling Assistant extension. Tiling Assistant was great, easy to setup and simple to configure, but I ran into some issues where the extension was not updated for new GNOME versions in time. Having native quarter tiling supported in KWin would have been a great benefit to me.

Except!

KWin's quadrant tiling was "real tiling" based, meaning windows snapped into corners and multiple windows were tiled as a "group" which meant they would resize together and always take up the full screen once you started tiling them. Many people enjoy this which is why it is the default. I do not.

I want my windows to size where I want them and be placed where I want them and then I want the window manager to leave them alone forever and never move or ask or mention them ever again.

Since I was unable to find a setting knob to "turn off the tiling but keep the tiling placement behavior", which I know, sounds so niche and yet this is exactly how my workflow has grown; I needed a way to have the behavior I was used to.

So, coming full circle, I wrote my own KWin script (extension) because of course I did. It's a single file, written in Typescript, sets hotkeys by default to the way I do things on my desktop, and does absolutely nothing else.

--

Android stuff soon, I hope.

Stay tuned!

========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?

Send me an email at: pyamsoftapps@gmail.com
Or find me online at: https://pyamsoft.blogspot.com

Follow my Facebook Page
Check out my code on GitHub
=========================

Friday, February 27, 2026

TetherFutureNet (dropping support for older Android N versions)

Future versions of TetherFuseNet will bring support for a brand new proxy engine backed by the powerful Netty library. The engine will be opt-in by default at first, only for the brave, but will eventually be made the default engine and then even later become the only engine.

The by-hand written proxy code is decent but struggling to adapt to the modern web with new clients and modern behaviors. Netty is a well supported, battle tested library that should better serve users.

The downside is that the latest versions of Netty ONLY supports Android API 26 and up (Oreo). There are <1% of pyamsoft users stuck on Android 7 and 7.1 (which are just about a decade old at this point), so while this change will largely not impact anyone, it will impact this sub-1-percent group. Sadly, the reality of technology is that the quick pace of the world around us requires the adoption of generally newer and newer technologies.

Going forward all pyamsoft Android applications will require a minimum Android version of Oreo (26), or higher if the required core functionality expects a newer API version. All existing users who are still on Android 7/7.1 can continue to use existing versions of applications, but they can not be supported moving forward.

========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?

Send me an email at: pyamsoftapps@gmail.com
Or find me online at: https://pyamsoft.blogspot.com

Follow my Facebook Page
Check out my code on GitHub
=========================