✨ feat(compositor/hyprland): runtime config injection#41
✨ feat(compositor/hyprland): runtime config injection#41retrozinndev wants to merge 33 commits intoryofrom
Conversation
…ory instead of data also moved socket to XDG_RUNTIME_DIR/colorshell/.sock
…ize` prop to `CompositorClient` colorshell screenshot is now independent of hyprshot, it uses grim and slurp directly instead; you can now also take a screenshot of the active(focused) window with ALT + PrintScrn
…sion to name also added docs for the `screenshot active` command
…opening a selection layer
|
I have been looking into the config injection part for a bit now (an hour). |
Here's how it works: |
sigh I feared that kinda 😭 Thanks for the response though ^-^ What I mean is, that how I use your colorshell personally is this: I never touch your .config files at all, instead supplying my own via stow symlinking it. |
|
Also, forgot to mention, it also checks if the This |
I'm sorry if I overcomplicated it... haha
Ahh, I see. I don't think it'll break your system that much, it'll take some tinkering tho. I removed them because Hyprland's default config already provides all of it, and I'm trying to make colorshell the more customizable/less restricting it can be(also less intrusive, allowing the creation of a package to be able to install it), so hence the changes... I recommend merging some of the I'll try doing a migration thing in the update script, so you won't have to do all that manually. |
I am chaos! MUHAHAH! Okay, so you moved the internal ones into it. |
That's crazy lmao, a lot of stuff for 2 hours 😆
Yep.
It's now stored in one of the config files that are sourced/imported at runtime.
Nahh, you can configure hyprland just how you would normally in a clean install, that's why I'm doing this, makes things a lot cleaner. You should just add an |
Nah. Nah nah nah! Also check. Okay, good, then ill wait patiently and excitedly |
I don't think so... The usage of the libraries are pretty straightforward, a lot of them have built-in documentation for each functions and classes.
I tried adding a cava display into the media widget... I couldn't lmao The thing is that I don't know much about Cairo(GTK's renderer), I should learn it a little bit more so I can actually try to do this properly.
Oh you did the implementation?! That's crazy work!! I'll surely take a look at it as soon as I can |
|
You can't seem to have uploaded the fork tho, did you change the name of the repo to something custom? Or is it private? |
https://github.com/HerXayah/mielladots/blob/main/UI%2Fwidget%2FBar.tsx This i mean. |
Thanks! I just took a look at it. You seem to have tinkered a lot with it already 😆
From what I could see, the style/css is not being updated, since you're not binding it to anything, so it'll get stuck to the first value it gets. Try binding it to the current bar's value and then transforming it to the stylesheet. Just a quick guess tho, not entirely sure.
I feel that... |
…de, disable compositor event debugging
a8f23f9 to
12547cb
Compare
…fig, unbind colorshell binds colorshell now unbinds shell-exclusive key combinations before adding them, so it avoids duplicate actions if the user had set to something else previously
…rocess to the shell, add process util functions
…nds not setting it
colorshell now beeps when the compositor sends a `bell` signal!
… search for icons
it now waits for a previous reading operation to end before starting a new one, avoiding the error message
…, other improvements
we wait a little bit to re-launch hyprsunset after killing the existing instance
… not found Hyprland and hyprpaper default configuration files will be installed if they're not found at their dirs. Also, colorshell now asks if the user want's to add an autostart/exec-once line to their Hyprland config file
This makes colorshell inject it's own Hyprland config into the running instance without modifying the user's config files, it also fixes the Nix issue with colorshell's Hyprland config(#34).
Other than Hyprland, it also packs other config files like hyprlock into the gresource, then unpacks it into memory for later use on
XDG_RUNTIME_DIR/colorshell/config.Why isn't this merged yet?
I was waiting for a Hyprland bug(hyprwm/Hyprland#12984 (comment)) to be fixed. Now that it got fixed in hyprwm/Hyprland#13080, we just have to wait for it to get merged in the next Hyprland version.
Extra new features
colorshell screenshot active.Breaking Changes
Bindings like SUPER + K(terminal) and SUPER + E(file manager) have been removed from the shell configuration, as it's more of a personal choice; the user should configure it beforehand(or just use the default Hyprland configuration).
The input method editor(IME) is now
fcitx5, which is less buggy1, faster and more integrated than the previous one,ibus.(internal) The socket path has moved from
XDG_RUNTIME_DIR/colorshell.socktoXDG_RUNTIME_DIR/colorshell/.sockfor organization purposes.Non-breaking changes
colorshell is now independent of the
hyprshotprogram and now implements its own grim and slurp abstraction, using the Compositor API2.Footnotes
ibushad some annoying text entry issues; it would entirely clear the focused text entry if the window was opened with the entry focused + also other text entry-related issues. ↩The Compositor API is an interface that makes it easier to implement support for different Wayland compositors, it's currently being worked on, and also, a small part of it is already being used internally. ↩