-
-
Notifications
You must be signed in to change notification settings - Fork 898
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: add tag dispacther and window rule #6211
Conversation
I'm using clangd v18.1.3, while the archlinux default clang is v17.0.6, looks like the new clang-format does not agree with the old one, which cause the failure of code style check |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
one thing stands out to me: you apply a tag in dynamic but dont clear them before. This means a window won't lose a tag when it stops matching a dynamic prop (e.g. windowrulev2 = tag:cock, floating:1 -> toggling float will permanently add the tag cock)
I think a reasonable approach is to just make a struct SWindowTag which has a bool dynamic
, and clear dynamic tags before reloading dynamic rules
tags added via a dispatcher should be permanent though so those would not be tagged as dynamic I guess |
Well, I'll check later, I need to have a late-night snack. 😂 |
Dynamic tag is implemented with a Tag rule will queue another rescan for window rules, while tag from tag will not be queued for another rescan to avoid infinite recursion like this:
though, it would be ok with this if allow tag from tag recursion:
With current implementation, fixed, no rescan with latest implementation |
deef8ad
to
c7a5828
Compare
|
Now tags works perfect, seems to be ready |
Doc for tag is updated here: hyprwm/hyprland-wiki#660 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sum style nits, rest ok
class CTagKeeper but file TagKeeper (just like everything else) and then gtg |
Well, mistake. By the way, would you like to try the bleeding-edge cpp modules? |
nope, time will come for them in the future thugh prolly |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Describe your PR, what does it fix/add?
this resolves: #6079
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
the tag rule will update tags which affect the rule matched by tag, may be a rule rescan after tag applieddynamic tag shouldn't be permernanttag matched rule not get executed right after tag is applied by dispatcherIs it ready for merging, or does it need work?
Likely to be ready except for the above note