regolith-linux / regolith-desktop

Meta package for the Regolith Desktop Environment
1.5k stars 31 forks source link

AUR Package Creator Here, FYI Rofi Has Moved Away From .Xresources-based config, breaking regolith-look (the new config options also break the Midnight rofi theme) #615

Closed gardotd426 closed 2 years ago

gardotd426 commented 3 years ago

Describe the bug Rofi has released update 1.7.0, and with that, there is no more ~/.Xresources-based configuration for rofi:

Rofi 1.7.0 is another bug-fix release that also removes a lot of deprecated features. One of the biggest changes is the removal of the (deprecated) xresources based configuration setup. With this removal, also a lot of hack-ish code has been removed that tried to patch old config setups. While the deprecation might be frustrating for people who have not yet converted to the new format, I hope for some understanding. Even though this move might not be popular, the deprecation in previous releases and consequential removal of these options is needed for two reasons. The most important one is to keep rofi maintainable and secondary to open possibility to overhaul the config system in the future and with that fixing some long standing bugs and add new options that where hindered by the almost 10 year old system, the new system has been around for more than 4 years.

Beside mostly bug-fixes and removal of deprecated options, we also improved the theming and added features to help in some of the more 'off-script' use of rofi.

This obviously breaks regolith-look. Luckily it doesn't cause it to fail to launch, but you cannot set the rofi theme using regolith-look, it just stays with the default.

Because this is Arch we're talking about, I've decided to make an easy patch to fix the issue until you (or we) can figure out how this will be handled upstream when Ubuntu 22.04 comes out.

What I've done is patch /etc/regolith/i3/config:

--- a/etc/regolith/i3/config    2021-10-22 17:36:51.692535888 -0400
+++ b/etc/regolith/i3/config    2021-10-22 17:38:12.274538822 -0400
@@ -101,17 +101,19 @@

 ## Launch // Application // <> Space ##
 set_from_resource $i3-wm.binding.launcher.app i3-wm.binding.launcher.app space
-set_from_resource $i3-wm.program.launcher.app i3-wm.program.launcher.app rofi -show drun -theme $rofiTheme
+set_from_resource $i3-wm.program.launcher.app i3-wm.program.launcher.app rofi -show drun -theme $(xrescat rofi.theme)
 bindsym $mod+$i3-wm.binding.launcher.app exec $i3-wm.program.launcher.app

 ## Launch // Command // <><Shift> Space ##
 set_from_resource $i3-wm.binding.launcher.cmd i3-wm.binding.launcher.cmd Shift+space
-set_from_resource $i3-wm.program.launcher.cmd i3-wm.program.launcher.cmd rofi -show run -theme $rofiTheme
+set_from_resource $i3-wm.program.launcher.cmd i3-wm.program.launcher.cmd rofi -show run -theme $(xrescat rofi.theme)
+
 bindsym $mod+$i3-wm.binding.launcher.cmd exec $i3-wm.program.launcher.cmd

 ## Navigate // Window by Name // <><Ctrl> Space ##
 set_from_resource $i3-wm.binding.launcher.window i3-wm.binding.launcher.window Ctrl+space
-set_from_resource $i3-wm.program.launcher.window i3-wm.program.launcher.window rofi -show window -theme $rofiTheme
+set_from_resource $i3-wm.program.launcher.window i3-wm.program.launcher.window rofi -show window -theme $(xrescat rofi.theme)
+
 bindsym $mod+$i3-wm.binding.launcher.window exec $i3-wm.program.launcher.window

 ## Launch // This Dialog // <><Shift> ? ##
@@ -121,12 +123,12 @@

 ## Launch // File Search // <><Alt> Space ##
 set_from_resource $i3-wm.binding.file_search i3-wm.binding.file_search Mod1+space
-set_from_resource $i3-wm.program.file_search i3-wm.program.file_search rofi -show find -modi find:/usr/share/rofi/modi/finder.sh
+set_from_resource $i3-wm.program.file_search i3-wm.program.file_search rofi -show find -modi find:/usr/share/rofi/modi/finder.sh -theme $(xrescat rofi.theme)
 bindsym $mod+$i3-wm.binding.file_search exec $i3-wm.program.file_search

 ## Launch // Look Selector // <><Alt> l ##
 set_from_resource $i3-wm.binding.look_selector i3-wm.binding.look_selector Mod1+l
-set_from_resource $i3-wm.program.look_selector i3-wm.program.look_selector rofi -show look -modi look:/usr/share/rofi/modi/look-selector.sh
+set_from_resource $i3-wm.program.look_selector i3-wm.program.look_selector rofi -show look -modi look:/usr/share/rofi/modi/look-selector.sh -theme $(xrescat rofi.theme)
 bindsym $mod+$i3-wm.binding.look_selector exec $i3-wm.program.look_selector

 ###############################################################################

changing lines that use -theme $rofiTheme to -theme $(xrescat rofi.theme) was the best idea I had for fixing the issue, and it has been confirmed to work by all users of the AUR package (apparently there was a ton of demand for this, there's a lot of people using it!) But let me know if you think it could be handled better, this is first and foremost an as-close-to-upstream-as-possible-while-being-compatible-with-the-way-arch-does-things port, not a fork, so I will defer to your judgment.

The Midnight rofi theme is also broken by the change. As it doesn't set background-color: in the color configuration section, the background of every app entry is white, and the text is black (when the background should be grey and the text white):

Screenshot_20211029_025527

This is because text-color: and background-color are now seemingly set in the global color settings as well, because adding:

   background-color: @al;
   text-color: @fg;

to the top colors field fixes it and it appears as it should:

Screenshot_20211029_025931

The Dracula and other themes still work as always with 1.7.0, and this is because they set these values in the global color variables:

   background-color: @dark1;
   border-color:     @dark2;
   text-color:       @dark3;
   dark-text-color:  @dark4;
   main-color:       @blue;
   highlight:        @light1;
   urgent-color:     @red;
   selected-color:   @lightcyan;

That's an easy enough fix though (I've already patched it for the AUR build).

To Reproduce Steps to reproduce the behavior:

  1. Install rofi 1.7.0
  2. Use regolith-look to set the theme
  3. Use any of the rofi-related keybinds in the regolith config

Expected behavior Rofi is themed with the correct theme.

Screenshots See above for Midnight-related screenshots.

Here's what you get with regolith-look set to any theme on rofi 1.7.0

Screenshot_20211029_031123

Installation Details

Additional context Obviously, this isn't an immediate issue for Regolith, since even Ubuntu 21.10 is shipping like 1.5.4 or something of Rofi, but surely it will be on 1.7.0 by 22.04, and more importantly I know you were trying to make Regolith less tied to Ubuntu and have it be more distro-agnostic.

I haven't had time to really dive into the new Rofi docs (they've done a complete overhaul to the config system) but maybe we can figure out a new way to get it to work with regolith-look. But for now my solution works.

gardotd426 commented 3 years ago

Obviously we'll have to come up with a replacement to implement /etc/regolith/styles/rofi since it's also irrelevant now. Maybe just ship a rofi config.rasi file with the same values? You can put it in the same place and just change the rofi commands in the i3 config to rofi -config-file /etc/regolith/styles/rofi.rasi -show drun -theme $rofiTheme (obviously replacing $rofiTheme but this is just for illustration). Either that or those config options like font, show-icons, icon theme, etc. will have to be moved from /etc/regolith/styles/<themename>/theme to the actual /etc/regolith/styles/<themename>/rofi.rasi file

kgilmer commented 3 years ago

Hi @gardotd426 , first thanks for the detailed bug report. I see that you found the source of the configuration problem you were dealing with, nice! I see that the Rofi project finally made good on their promise to remove Xresources from it. It was never really complete anyway. I hope the new setup is better for users. Regarding Regolith, I plan to replace rofi with an in-house alternative I've calling "ilia". It is written in Vala and is about, maybe half way to an alpha release. This program will replace all functionality that rofi was providing in Regolith, as well as take the job of keybindings viewer as well. It's already available for pre-alpha testing in the Regolith 2.0 repos.

Due to having such little time, I'm focused entirely in the new 2.0 release and will not be working on any 1.x refactoring at this time. I may provide a look that uses rofi over ilia, but will do that using the new Regolith 2.0 styles refactor. In any case, if you're interested in making fixes in Regolith to support rofi 1.7 I would love to have you join as a contributor!

gardotd426 commented 3 years ago

Oh that's awesome, yeah as soon as you have 2.0 ready I'll be moving the AUR package over to that (this is Arch Linux we're talking about lol). I'll probably start checking it out to work out any bugs ahead of time to have a smooth transition. Could you point me to where to find it? I looked on Launchpad and didn't see any 2.0 alpha stuff. The pages on https://github.com/regolith-linux/package-repo give 404 errors. Since package-repo was set up like 10 minutes ago maybe you don't have the site up yet? Idk but yeah every single one give 404 errors.

Screenshot_20211101_010631

In any case, if you're interested in making fixes in Regolith to support rofi 1.7 I would love to have you join as a contributor!

Yeah for sure, when I get some time I'll see what I might can work up that would be acceptable for the 1.X releases.

I'm super pumped to check out ilia (less pumped about moving over the PKGBUILD to 2.0 when it comes out).

gardotd426 commented 3 years ago

hmm, regolith-linux.github.io is still 404-ing. Any idea what's going on?

kgilmer commented 3 years ago

yeah as soon as you have 2.0 ready I'll be moving the AUR package over to that

Sounds good. FWIW I expect to have an alpha-quality pre-release available for users to try out before the end of the year.

Could you point me to where to find it?

Actually the ghpages is the repo itself, so there is no HTML. You will find the details necessary to install from the repo on the readme. Note that currently both Ubuntu and Debian are supported. This is using the new build automation in 2.0 and so I'm able to go from a change to a package to a repository update to a generated ISO without any manual work. Perhaps the arch package work could be integrated into a github job in package-repo such that it could be more easily tested against development changes..?

Yeah for sure, when I get some time I'll see what I might can work up that would be acceptable for the 1.X releases.

Sounds good, I've sent you an invite to join the org. :taco:

I'm super pumped to check out ilia (less pumped about moving over the PKGBUILD to 2.0 when it comes out).

You should be able to build and run ilia directly without any packages for now, but a debian package is available in the 2.0 package repo for both debian and ubuntu.

less pumped about moving over the PKGBUILD to 2.0 when it comes out

A design goal of 2.x is that it should be simpler and more easy to port than 1.x. If there is something that is a regression in this regard we would want to fix it. Also, as 2.0 is still in development, if there are changes that can be made to make the Arch port/version simpler or better now would be a good time to talk about those changes.

gardotd426 commented 3 years ago

Actually the ghpages is the repo itself, so there is no HTML. You will find the details necessary to install from the repo on the readme.

Well that's what I mean. The README gives instructions for each supported distro, and none of the urls in those instructions resolve, they all have 404 errors.

Like, this is from the README:

echo deb [arch=amd64] https://regolith-linux.github.io/package-repo/ubuntu/focal/amd64 focal main | sudo tee /etc/apt/sources.list.d/regolith.list

But https://regolith-linux.github.io/package-repo/ubuntu/focal/amd64 404s. And so do every other link for the other supported distros.

You get what I'm saying? I should have been more clear with what I was talking about.

gardotd426 commented 3 years ago

Like, I need to be able to have a url to grab the .deb packages from. These don't seem to exist, they all 404 out.

I can go into Ubuntu and use apt to download the debs, but it doesn't tell me the url it's coming from. I can't do an Arch port without having a link to download the .debs with wget.

gardotd426 commented 3 years ago

Like on Arch I can't use apt download to get the .debs. In my PKGBUILD for 1.6, just so you have a better idea of what I need, I list the source array with all the sources, here's an example:

http://ppa.launchpad.net/regolith-linux/release/ubuntu/pool/main/r/regolith-styles/regolith-look-ayu_2.9.7-1_amd64.deb

So, when the PKGBUILD is being run, it uses wget to get that file. So just wget http://ppa.launchpad.net/regolith-linux/release/ubuntu/pool/main/r/regolith-styles/regolith-look-ayu_2.9.7-1_amd64.deb.

So having regolith-linux.github.io/package-repo doesn't help me because I can't surf to the correct directory that hosts the debs. https://regolith-linux.github.io/package-repo/ubuntu/impish/amd64/main/impish/pool/main

gardotd426 commented 3 years ago

Shit I'm sorry, I figured it out. I downloaded packages.db, and sure enough it gives the locations of each file. So now I can create an alpha 2.0 PKGBUILD for testing. Fantastic.

kgilmer commented 3 years ago

Glad you got it figured out. FWIW here's how the packages get built: in this github action git repos are pulled from a package model, verified against a manifest and actions are invoked via custom actions to generate the target packages and do any publishing. Whatever work you've got could be pulled up and executed via a custom action, and then the builds would happen directly as packages are changing. No polling or messing with debian package metadata.

gardotd426 commented 3 years ago

Oh man that github action looks awesome. I'll have to look into actions and see what could be done with the AUR package. Automated updates to it would definitely be awesome.

gardotd426 commented 3 years ago

Unfortunately I'm kind of stuck on rofication. My fix works for everything except rofication, because rofication accepts no arguments. I tried monkeying with the source code to force a theme:

rofication/_gui.py:

ROFI_COMMAND = ('rofi',
                '-dmenu',
                '-theme /etc/regolith/styles/dracula/rofi.rasi',
                '-p', 'Notifications',
                '-markup',
                '-kb-accept-entry', 'Control+j,Control+m,KP_Enter',
                '-kb-remove-char-forward', 'Control+d',
                '-kb-delete-entry', '',
                '-kb-custom-1', 'Delete',
                '-kb-custom-2', 'Return',
                '-kb-custom-3', 'Alt+r',
                '-kb-custom-4', 'Shift+Delete',
                '-markup-rows',
                '-sep', '\\0',
                '-format', 'i',
                '-eh', '2',
                '-lines', '10')

and then building, but it doesn't work. Do you have any ideas of how I could move rofication away from xsettings or even add an argument to it so I could do something like rofication-gui -theme /path/to/theme? I know you're not doing any wholesale refactoring but if you have any ideas or pointers that'd be great.

Also, you said ilia is replacing rofi for the applauncher, but what about for notifications/window-switcher/theme selector? I've got ilia compiled and running, I'm thinking of going ahead and moving the AUR package over to ilia if I can replace rofi completely.

kgilmer commented 3 years ago

I think you may need to seperate the items due to the space:

'-theme /etc/regolith/styles/dracula/rofi.rasi', -> '-theme', '/etc/regolith/styles/dracula/rofi.rasi',

Also, you said ilia is replacing rofi for the applauncher, but what about for notifications/window-switcher/theme selector?

Yes, it's going to do all of that too. :sweat_smile: There is some preliminary work on the notification manager but I need to make some server side changes. I appreciate your enthusiasm but just keep in mind it's early days for the app, and I bet there are a lot of bugs that I haven't found yet. :smile:

gardotd426 commented 3 years ago

I think you may need to seperate the items due to the space:

Unfortunately it still will only display the default all-white theme for rofication

cfsmp3 commented 3 years ago

I think you may need to seperate the items due to the space:

Unfortunately it still will only display the default all-white theme for rofication

Run rofi with debugging to figure out what's going on:

G_MESSAGES_DEBUG=all 'rofi' '-dmenu' '-theme' '/etc/regolith/styles/dracula/rofi.rasi' '-p' 'Notifications' '-markup' '-kb-accept-entry' 'Control+j,Control+m,KP_Enter' '-kb-remove-char-forward' 'Control+d' '-kb-delete-entry' '' '-kb-custom-1' 'Delete' '-kb-custom-2' 'Return' '-kb-custom-3' 'Alt+r' '-kb-custom-4' 'Shift+Delete' '-markup-rows' '-sep' '\\0' '-format' 'i' '-eh' '2' '-lines' '10'
gardotd426 commented 3 years ago

@cfsmp3 running rofi from the command line wouldn't do anything, because rofication is a compiled python program that uses rofi but does a bunch of other stuff, rofi itself standalone is already fixed. But anyway I fixed it, go ahead and update and you'll see (if you're running regolith-de on Arch that is).

Since rofi can no longer call from xresources, and rofication is written in python and takes no arguments, I just hacked my way through the source code for rofication (knowing zero python), and I stumbled across an idea -

In rofication/_gui.py, there is the following:

 ROFI_COMMAND = ('rofi',
                '-dmenu',
                '-p', 'Notifications',
                '-markup',
                '-kb-accept-entry', 'Control+j,Control+m,KP_Enter',
                '-kb-remove-char-forward', 'Control+d',
                '-kb-delete-entry', '',
                '-kb-custom-1', 'Delete',
                '-kb-custom-2', 'Return',
                '-kb-custom-3', 'Alt+r',
                '-kb-custom-4', 'Shift+Delete',
                '-markup-rows',
                '-sep', '\\0',
                '-format', 'i',
                '-eh', '2',
                '-lines', '10')

Well, I could add the line that says 'theme', '/etc/regolith/styles/midnight/rofi.rasi', and it would actually work, but the rofication theme would always be stuck on midnight. So I thought "how about I set a file that's a symlink to whichever theme is active?" That took patching regolith-look, but it wasn't hard. All I did was in the set_look function, I added a bit that looks for ~/.config/regolith, if it doesn't exist it creates it, then looks for ~/.config/regolith/rofication.rasi`. It then deletes it, and creates a symlink there to the set look:

    if [ ! -d "$HOME/.config/regolith" ]; then
        mkdir -p $HOME/.config/regolith
    fi
    if [ -f "$HOME/.config/regolith/rofication.rasi" ]; then
        rm "$HOME/.config/regolith/rofication.rasi"
        ln -s /etc/regolith/styles/$LOOK/rofi.rasi $HOME/.config/regolith/rofication.rasi
    else
        ln -s /etc/regolith/styles/$LOOK/rofi.rasi $HOME/.config/regolith/rofication.rasi
    fi
        exit 0

This way ~/.config/regolith/rofication.rasi will always be the appropriate theme for the current look.

Then the only matter was to have rofication actually look there. So I had to edit rofication/_gui.py and rofication/_metadata.py:

Relevant sections from:

_metadata.py:

from appdirs import *
import os
appname = "regolith/rofication.rasi"
ROFICATION_THEME = user_config_dir(appname)

ROFICATION_NAME = 'rofication'
ROFICATION_URL = 'https://github.com/regolith-linux/regolith-rofication'
ROFICATION_VERSION = '1.2.2'
ROFICATION_THEME = user_config_dir(appname)

_gui.py:

from ._metadata import ROFICATION_THEME

from gi.repository import GLib

from ._client import RoficationClient
from ._notification import Urgency, Notification

HTML_TAGS_PATTERN = re.compile(r'<[^>]*?>')

ROFI_COMMAND = ('rofi',
                '-dmenu',
                '-theme', ROFICATION_THEME,
                '-p', 'Notifications',
                '-markup',
                '-kb-accept-entry', 'Control+j,Control+m,KP_Enter',
                '-kb-remove-char-forward', 'Control+d',
                '-kb-delete-entry', '',
                '-kb-custom-1', 'Delete',
                '-kb-custom-2', 'Return',
                '-kb-custom-3', 'Alt+r',
                '-kb-custom-4', 'Shift+Delete',
                '-markup-rows',
                '-sep', '\\0',
                '-format', 'i',
                '-eh', '2',
                '-lines', '10')

Now obviously since I know zero python and had to use google to figure out how to call user config directory paths and whatnot, it's not the greatest code, but I had to add literally like 5 lines total and I think that's pretty good for my first ever python patch.

I could have set it to something like /etc/regolith/styles/rofi.rasi but that would require running regolith-look as root, and that's obviously not desired.

Ken, let me know what you think, obviously I'm sure there's a better way to do this but I know you're not refactoring any 1.X stuff, and this solves all rofi issues.

cfsmp3 commented 3 years ago

@cfsmp3 running rofi from the command line wouldn't do anything,

I'd give it a try anway so see what the output looks like with your command line :-) You might be surprised.

because rofication is a compiled python program that uses rofi but does a bunch of other stuff, rofi

It's not compiled, it's just a python script that can be edited directly, no need to compile.

itself standalone is already fixed. But anyway I fixed it, go ahead and update and you'll see (if you're running regolith-de on Arch that is).

I'm not, but happy to help you troubleshoot.

if [ ! -d "$HOME/.config/regolith" ]; then
    mkdir -p $HOME/.config/regolith
fi

No need to check if it exists if you're using -p, but not really important in the big scheme :-)

    ln -s /etc/regolith/styles/$LOOK/rofi.rasi $HOME/.config/regolith/rofication.rasi

I'm not super happy about this - because it means using system-wide settings for specific users, which may or may not be the right thing to happen (also if the system wide file disappears then you have a globally broken setup).

gardotd426 commented 3 years ago

I'm not super happy about this - because it means using system-wide settings for specific users, which may or may not be the right thing to happen

No it wouldn't? If you have two users, user1 and user2, and each of them use Regolith, and you have the following scenario:

Then user1 will see the dracula theme when they run rofication. user2 will see the cahuella theme. That's exactly why I did it that way, so multiple users would be able to have different looks.

(also if the system wide file disappears then you have a globally broken setup).

If the system-wide file disappears, then the user has uninstalled regolith-styles, which means they've almost certainly uninstalled regolith-desktop-config (which contains regolith-look and rofication), and probably regolith completely. If the system theme file is gone, then their whole theme will be broken (rofication and all), and that's an upstream thing. That's way out of the scope of rofication. I'm not sure what you're getting at here. These files are included in the same packages, users would have to go deleting system files. I haven't changed a single thing about upstream's file paths. Every file location is in the exact same place as it is on Regolith (all styles files are in /etc/regolith/styles/themename, just like upstream. This is a direct port, not a single path is changed.

If the system files belonging to the style set by regolith-look are removed, then everything will be broken. That happens on Regolith Linux too. Go install Regolith Linux and run regolith-look set dracula && regolith-look refresh, and then delete /etc/regolith/styles/dracula. Log out and back in and everything will be a mess. This is an upstream responsibility, and as we already know, 2.0 is moving away from rofi, this implementation is just to last until 2.0 comes out at which point the AUR package will be moved over.

Maybe you could explain a little more what your concern is. If you don't use Regolith DE on Arch, do you use Regolith the distro?

cfsmp3 commented 3 years ago

No it wouldn't? If you have two users, user1 and user2, and each of them use Regolith, and you have the following scenario:

  • user1 runs regolith-look set dracula
  • user2 runs regolith-look set cahuella

Then user1 will see the dracula theme when they run rofication. user2 will see the cahuella theme. That's exactly why I did it that way, so multiple users would be able to have different looks.

If user1 edits his looks (assuming he can - and if he can't, that's a problem) it will affect user2 since ultimately they're sharing a file.

If the system-wide file disappears, then the user has uninstalled regolith-styles, which means they've almost certainly

I think this is a strong assumption. Users make mistakes and delete files they shouldn't :-)

Maybe you could explain a little more what your concern is. If you don't use Regolith DE on Arch, do you use Regolith the distro?

I use Regolith on top of Ubuntu (not directlty Regolith's installer, which for me didn't work at all).

gardotd426 commented 3 years ago

If user1 edits his looks (assuming he can - and if he can't, that's a problem) it will affect user2 since ultimately they're sharing a file.

You're saying if they edit the styles files directly? That's something to report upstream, because it's the exact same on your system right now. Your looks are in /etc/regolith/styles/{lascaille,caheulla,dracula,pop-os,ubuntu,gruvbox,etc.}. I didn't move them. I suggest you report this to Ken, as this has nothing to do with the AUR package, I'm literally just using what Regolith uses.

gardotd426 commented 3 years ago

Here's some info from the Regolith documentation:

https://regolith-linux.org/docs/customize/look/

Setting looks via the command line is also supported. A utility command called regolith-look can be used to enable it. To enable the ubuntu look installed in the previous step, try the following:

$ regolith-look set ubuntu $ regolith-look refresh

The command will mention that it created a file in your user directory. This file is an Xresources file, and it’s stored in a specific path such that i3-gnome-flashback will look for it upon session start. Let’s have a look at the file:

$ cat ~/.Xresources-regolith

#include "/etc/regolith/styles/ubuntu/root"

In essence, our Xresources file is simply pointing to another Xresources file. Lets look there:

$ cat /etc/regolith/styles/ubuntu/root

! -- Styles - Colors
#include "/etc/regolith/styles/ubuntu/color"

! -- Styles - Fonts
#include "/etc/regolith/styles/ubuntu/typeface"

! -- Styles - Theme
#include "/etc/regolith/styles/ubuntu/theme"
! -- Applications
! These files map values defined above into specific app settings.
#include "/etc/regolith/styles/st-term"
#include "/etc/regolith/styles/i3-wm"
#include "/etc/regolith/styles/i3xrocks"
#include "/etc/regolith/styles/rofi"
#include "/etc/regolith/styles/gnome"

So yeah, if you have concerns about the styles files, then that's an upstream concern, as it's done the exact same way on Regolith and Ubuntu.

gardotd426 commented 3 years ago

Also, no package manager on any distribution installs files to a user's $HOME directory, that's against every rule there is. The user is able to configure everything through ~/.Xresources-regolith and ~/.config/regolith/.Xresources.d/. If they want to edit style files, then they do what they do with every other config file provided by every other package in existence. They copy it to their config directory, and then point to that with ~/.Xresources-regolith.

For example, the regular (non-regolith) i3wm package - it doesn't install the default config to ~/.config/i3/config, it installs it to /etc/i3/config. If the user wants to modify it, then they are encouraged to copy it to ~/.config/i3/config, and then edit it there. Same with regolith, the user is encouraged to copy /etc/regolith/i3/config to ~/.config/regolith/i3/config, and make any user edits there. All style files are kept in /etc/regolith/styles, and that's how it is on Regolith and Ubuntu as well.

kgilmer commented 2 years ago

Rofi is a great program, but Regolith will migrate away from Rofi due to a few issues, including this. The replacement is in development.

gardotd426 commented 2 years ago

Yeah, this was posted before you and I had the conversation about ilia a few weeks ago. I gotcha. I forgot this was open, I'll close it now.