Giter Club home page Giter Club logo

Comments (11)

lingtjien avatar lingtjien commented on August 12, 2024

The problem is that I don't have a system with Plasma 5 any more after I've upgraded to Plasma 6....

But I can give you some pointers of where you can look to perhaps solve this, but I believe that the underlying issue is that many applications in wayland do not properly set their window type and just mark everything as a normalWindow

What you could try is to use theWindow Operations Menu (there is a global shortcut for it) and when you open a specific window you open this menu and go to more actions > configure special window settings and then in the window types field you could then unmark them from normalWindow.

The code only tiles windows that are marked as normalWindow so that may work.

from grid-tiling-kwin.

diogogmatos avatar diogogmatos commented on August 12, 2024

That did not work :/ I added the correct property to "Force" the window property to be anything but a normalWindow. However for some reason even after rebooting, restarting firefox and re-applying the script it still tiles it. My guess is that the Window Rule only changes the window type once it opens, when the script already has identified it as a normalWindow.

Sad but it's not that big of a deal. Thanks for the help and quick response!

from grid-tiling-kwin.

lingtjien avatar lingtjien commented on August 12, 2024

There is a delay option in the script configuration that you can use to delay tiling the windows. Defaults to 10ms, you can try to increase it, but beware that if you make it too high your overall experience may feel a bit laggy. But maybe 100ms will work?

from grid-tiling-kwin.

diogogmatos avatar diogogmatos commented on August 12, 2024

I tried that and it still didn't work. I made more research and it appears that the problem is that the actual Window Rules do not work correctly in Wayland, in the sense that only a few properties can be modified. I'm guessing the Window Type isn't one of them, as I'm completely sure the Window Rule was correctly configured.

from grid-tiling-kwin.

lingtjien avatar lingtjien commented on August 12, 2024

Ah okay, if the window has other window types besides normalWindow you could try to modify the script to also ignore when one of those are present. For example if the window has the window type dialog then you could expand line 10 in https://github.com/lingtjien/Grid-Tiling-Kwin/blob/%3C6.0/contents/code/Manager.qml to additionally also check against that window type by adding client.dialog to the current list of checks like so

return client.transient || client.dialog || !client.normalWindow || (config.blacklist && config.blacklist.test(client.resourceName));

from grid-tiling-kwin.

diogogmatos avatar diogogmatos commented on August 12, 2024

Does the client variable have any information about the window title, description or other window properties? It seems the window type of any window (according to Window Management > Window Rules > Detect Window Properties) is marked as "All Types", as in all window types are selected. If there was a way for me to filter out windows based on other window parameters that would be great!

from grid-tiling-kwin.

lingtjien avatar lingtjien commented on August 12, 2024

you can use client.resourceName and client.resourceClass but I think those only contain the application name and those are already filtered by the blacklist and whitelist config parameters. I have not been able to find anything else in the KWin API (have also asked the developers) but in X11 we seemed to have more parameters to distinguish.

I did make a hack once that checked on pid so if an application started with a parent pid that was already tiled to then ignore it. The problem with that was that some applications use a managing process and then when you start multiple windows they all have the same parent pid. So only the first chrome window would get tiled and the rest after that would be ignored. So I got rid of that hack again.

from grid-tiling-kwin.

lingtjien avatar lingtjien commented on August 12, 2024

Did you manage to find a solution to your issue?

from grid-tiling-kwin.

diogogmatos avatar diogogmatos commented on August 12, 2024

Hey, I haven't found the time to explore this further. Maybe some day, but thank you so much for your help! Does this problem also occur on Plasma 6? If not, I will eventually have to update so problem fixed.

from grid-tiling-kwin.

lingtjien avatar lingtjien commented on August 12, 2024

A lot has changed in Plasma 6 so let's hope so 😄 If you do still encounter the issue or have more questions feel free to open a new ticket

from grid-tiling-kwin.

diogogmatos avatar diogogmatos commented on August 12, 2024

Hey there! Updated to Plasma 6 and this issue persists.

from grid-tiling-kwin.

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.