Git Product home page Git Product logo

Comments (3)

ssokolow avatar ssokolow commented on June 18, 2024

I'm not sure if this size restoration is a generic X property or an Xfwm4-internal feature.

To the best of my knowledge, it's an Xfwm4-internal feature, similar to how QuickTile can't un-set KWin's edge/corner tiling because, when a Window is tiled in KWin, it ignores attempts by random applications to un-tile it on the assumption that it's probably the application itself trying to veto the user's decision.

Would it be possible to support Xfwm4's size restoration feature in quicktile?

Unlikely. It's probably implemented as a variation on how maximization works, where the window manager leaves the old dimensions intact in its records and just adds some new "maximized to ___ tile" status field.

If that's how it works, there'd be fundamentally no way to extend the behaviour beyond the existing set of tiling positions without patching Xfwm4, because there would be no way to describe "maximized to... " tiles outside the hard-coded set.

Heck, if I can ever get around to it, I want to do a similar "define an internal grid and just specify which cell the window is in" rework for QuickTile because it enables stuff like hotkeys for grow/shrink colum/row and makes it easier to make "cycle window to next monitor" behave intuitively when monitors aren't the same shape.

from quicktile.

robozewa avatar robozewa commented on June 18, 2024

Hey, thanks for the answer. That's unfortunate, I found Xfwm4's size restoration to be quite useful.

Maybe Xfwm4's feature can't be extended, but Quicktile might be able to hack it. Remember window size before tiling, then listen for resize/move events on that window. When it's being modified outside of Quicktile, instantly restore the old size. That would be WM-agnostic too ^^

from quicktile.

ssokolow avatar ssokolow commented on June 18, 2024

Possibly, but it could also result in an unpleasant conflict with the WM as it and QuickTile fight over what should happen.

I'll leave this open for that but, given how much of a pit I have to climb out of on TODOs, I want to focus on things that are less of a gamble first.

from quicktile.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.