Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEAT] Exclude to ignore scratchpads that are not floating #124

Closed
punk-dev-robot opened this issue Jul 12, 2024 · 6 comments
Closed

[FEAT] Exclude to ignore scratchpads that are not floating #124

punk-dev-robot opened this issue Jul 12, 2024 · 6 comments
Assignees
Labels
enhancement New feature or request

Comments

@punk-dev-robot
Copy link

Is your feature request related to a problem? Please describe.
I have many scratchpads that I use in my workflow. Most of them occupy the same spot - a big window in the middle of the screen. So it makes sense to me to use excludes=* for many of them. This works well most of the time, but sometimes I need to have one of my scratchpads as a reference, e.g. I want to have obsidian side to side to the browser to reference notes when writing tickets. Normally I would just change the floating status of the scratchpad and work as long as I need, then toggle it back to floating status. The problem is that when it is not floating and I want to show another scratchpad (like terminal or audio settings) it still moves my window that is not floating away, shuffling my windows and leading to unpredicted behaviours.

Describe the solution you'd like
I would like for pyprland to ignore scratchpads windows that are not floating. Ideally not only for excludes, but for all actions like normal scratchpad toggle.

Describe alternatives you've considered
Unfortunately, I took some apps out of pyprland and manage them manually as I could not come up with a good solution within pyprland

@punk-dev-robot punk-dev-robot added the enhancement New feature or request label Jul 12, 2024
@fdev31
Copy link
Collaborator

fdev31 commented Jul 12, 2024

Ok, at first it didn't sound great to implement, but now I see there is a changefloatingmode event emitted by hyprland, meaning I can track the floating statuses without querying all the clients each time.

It sounds like a good idea to not hide those windows, I can just keep a memory of all the floating statuses of the scratchpads, this event may even allow a couple of improvements.

@fdev31
Copy link
Collaborator

fdev31 commented Jul 15, 2024

Will not work on that until #126 is closed.

fdev31 added a commit that referenced this issue Jul 17, 2024
@fdev31
Copy link
Collaborator

fdev31 commented Jul 17, 2024

@kuba-gaj do you have an option to test the git version?
I did some small refactor that should allow that, but don't have much time to run tests etc at the moment...

@punk-dev-robot
Copy link
Author

Hey, thank you for looking into it.
I tried and it is much much better now.

  • if I change scratchpad to tiled I can toggle other scratchpads without any issues
  • if I try to toggle the tiled scratchpad it toggles it out and back, keeping the tiled state and even the same position - this is ok, but I would prefer to just have noop if scratchpad isn't floating.

But this is a huge improvement to my workflow, thank you very much for that!

@fdev31
Copy link
Collaborator

fdev31 commented Jul 18, 2024

hm, why would it not do anything if you ask to toggle a specific scratchpad ?
I'm not sure I would like to change that, so if it's good enough for you you can close the bug :)

@punk-dev-robot
Copy link
Author

Very good for me, thank you. This is big improvement for me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants