Before opening a feature request
What is the user problem or growth opportunity you want to see solved?
Prominent DEs (GNOME, KDE) have launchers that use systemd's desktop environment integration to place launched applications/services into their own service/scope so that they get all of the benefits of cgroup management. Rofi should natively enable this functionality.
There is "support" for doing this integration with systemd-run in rofi, but it is very limited and has issues (#2048).
How do you know that this problem exists today? Why is this important?
This is extremely important for features like OOM (systemd-oomd) which work at the cgroup level, and will cull based on that alone, not processes. Cgroups are also advantageous for proper desktop resource allocation and preventing things such as DoS.
Who will benefit from it?
Anyone who uses rofi with systemd on linux (a plurality most likely?) will benefit from this.
Rofi version (rofi -v)
Version: 2.0.0-dirty (Installed from Arch's repository)
Configuration
I don't currently have any configuration, it is all the defaults of 2.0.0
Additional information
I have seen the other issues on this (#1751, #2048) and I want to clarify that I don't want to write a shell wrapper to do this, I want to do it natively (i.e., in C, using dbus calls). Rofi has all of the information it needs to make this work, trying to shoehorn it into shell/env parsing just makes a mess.
I would be willing to work on this since it is a rather large change. It is "simple" to do using gdbus, you just have to call the StartTransientUnit method on the user session bus. Using the guidelines given on this page you would simply launch a unit as app-rofi-$appid@$RANDOM.service and then systemd would take care of everything else. There's probably an argument to put things into app.slice as well, and expose some way for customizing launching. But I think that's a bit out of scope.
Before opening a feature request
What is the user problem or growth opportunity you want to see solved?
Prominent DEs (GNOME, KDE) have launchers that use systemd's desktop environment integration to place launched applications/services into their own service/scope so that they get all of the benefits of cgroup management. Rofi should natively enable this functionality.
There is "support" for doing this integration with systemd-run in rofi, but it is very limited and has issues (#2048).
How do you know that this problem exists today? Why is this important?
This is extremely important for features like OOM (systemd-oomd) which work at the cgroup level, and will cull based on that alone, not processes. Cgroups are also advantageous for proper desktop resource allocation and preventing things such as DoS.
Who will benefit from it?
Anyone who uses rofi with systemd on linux (a plurality most likely?) will benefit from this.
Rofi version (rofi -v)
Version: 2.0.0-dirty (Installed from Arch's repository)
Configuration
I don't currently have any configuration, it is all the defaults of 2.0.0
Additional information
I have seen the other issues on this (#1751, #2048) and I want to clarify that I don't want to write a shell wrapper to do this, I want to do it natively (i.e., in C, using dbus calls). Rofi has all of the information it needs to make this work, trying to shoehorn it into shell/env parsing just makes a mess.
I would be willing to work on this since it is a rather large change. It is "simple" to do using gdbus, you just have to call the
StartTransientUnitmethod on the user session bus. Using the guidelines given on this page you would simply launch a unit asapp-rofi-$appid@$RANDOM.serviceand then systemd would take care of everything else. There's probably an argument to put things intoapp.sliceas well, and expose some way for customizing launching. But I think that's a bit out of scope.