regolith-linux / regolith-desktop

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

i3xrocks indicators disappeared after upgrading to 1.4 #338

Closed aadilayub closed 4 years ago

aadilayub commented 4 years ago

I just upgraded to 1.4 using the instructions here. After a reboot, I couldn't see any indicators on the i3xrocks bar:

Screenshot from 2020-04-26 11-14-28

Switching from lascaille to different regolith-looks didn't bring the indicators back either.

This is what my /etc/regolith/i3xrocks/conf.d looks like: image

You can see /etc/regolith/i3xrocks/config here.

I haven't changed any of these configuration files since I first started using regolith, but I'm adding them here just in case they could be helpful for troubleshooting.

farsil commented 4 years ago

Since 1.4 regolith uses a modular system for blocks, you need to install the ones you want individually. You can install them with apt, their package names all start with i3xrocks-*.

grzkv commented 4 years ago

https://regolith-linux.org/docs/howto/add-remove-blocklets/

sorokod commented 4 years ago

This is a step back in usability in my opinion. Previously, the out-of-the-box experience was good enough to deffer any i3 related configuration.

farsil commented 4 years ago

If you are fine with the default order, you can simply install the packages and i3xrocks will load them. No additional configuration steps required.

grzkv commented 4 years ago

@sorokod I think the model is nice. But I agree it can be hard to get at first.

Here are a couple of suggestions:

sorokod commented 4 years ago

It really boils down to what Regolith considers its core user group. I am a user that would like to install Regolith and with minimal time investment continue with my "pre Regolith" work. If something is not quite right, I'll review docs, check the forums etc... but I want to be able to do this if and when I have the time to do so.

As a (self appointed :-) ) representative of this group I :

I am writing this as happy user of 1.3 and hope that 1.4 will turn out as sleek as it's predecessor

aadilayub commented 4 years ago

A good compromise could be to show a wizard for installing the blocklets? Or just a splash screen with instructions.

kgilmer commented 4 years ago

Thanks everyone for your feedback! :smile: For what it's worth, here is the the technical root cause for the usability issue in upgrading: we can't express a "soft dependency" using the Debian packaging system. In other words, I cannot say require that package y is also installed if package x is installed, but allow the user to uninstall package y while keeping package x. Because of this, I cannot have the two following features coexist, I have to choose one:

I chose the first option, at the expense of upgrading users. It's regrettable that this call had to be made, but I believe it is the right one for the overall quality of the project. The ISO version of Regolith side-steps this issue by just installing the i3xrocks packages as top level packages, along with regolith-desktop, with the consequence that a user can cleanly uninstall any component they wish. This was not possible in 1.3. All blocks were required, even in cases they were not needed (ex: every 30 seconds a non-existent battery gets scanned on your desktop computer.)

@aadilayub I like your idea about better UI for bar configuration, and this is a theme I'd like to consider for a 2.x version.

Overall, I'd say that Regolith changes quite a bit under the hood from version to version. This is a side-effect of the way some components Regolith uses require their configuration to be expressed, and to new contributors coming with better ideas that what we had before, and a bias towards simpler software at the expense of the upgrade experience.

I hope to solve this problem with documentation and community support such as this. I've made edits just now to the upgrade instructions, but realize users performing automated upgrades will not be aware of this at the time of install and have a bad experience. I hesitate to perform any automatic actions on the user's behalf that may come as a surprise, as I've been burned by this before.

takuruu commented 4 years ago

Hey everyone, I do understand your thoughts about it and liked the solution with installable packages. Simple enough for me. Maybe one could create a package like "regolith-easy-start" as a meta package, that installs a predefined set.

I would help, If'd knew how to do that.

Regards

Am So., 26. Apr. 2020 um 19:39 Uhr schrieb Ken Gilmer < notifications@github.com>:

Thanks everyone for your feedback! 😄 For what it's worth, here is the the technical root cause for the usability issue in upgrading: we can't express a "soft dependency" using the Debian packaging system. In other words, I cannot say require that package y is also installed if package x is installed, but allow the user to uninstall package y while keeping package x. Because of this, I cannot have the two following features coexist, I have to choose one:

  • Regolith is cleanly decomposable, works on a variety of architectures
  • Regolith upgrades preserve the user configuration of the previous version

I chose the first option, at the expense of upgrading users. It's regrettable that this call had to be made, but I believe it is the right one for the overall quality of the project. The ISO version of Regolith side-steps this issue by just installing the i3xrocks packages as top level packages, along with regolith-desktop.

@aadilayub https://github.com/aadilayub I like your idea about better UI for bar configuration, and this is a theme I'd like to consider for a 2.x version.

Overall, I'd say that Regolith changes quite a bit under the hood from version to version. This is a side-effect of the way some components Regolith uses require their configuration to be expressed, and to new contributors coming with better ideas that what we had before, and a bias towards simpler software at the expense of the upgrade experience.

I hope to solve this problem with documentation and community support such as this. I've made edits just now to the upgrade instructions, but realize users performing automated upgrades will not be aware of this at the time of install and have a bad experience. I hesitate to perform any automatic actions on the user's behalf that may come as a surprise, as I've been burned by this before.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/regolith-linux/regolith-desktop/issues/338#issuecomment-619592392, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKYWYU3OLDQXJPIIJDYJCDLRORWULANCNFSM4MRCWMQQ .

juliangaal commented 4 years ago

@takuruu meta package idea sounds good.

p3k commented 4 years ago

um what could be the reason that the i3bar icons don’t reappear even after i added the i3xrocks packages? (i ran regolith-look refresh afterwards, too.)

→ ll /etc/regolith/i3xrocks/conf.d/
total 64
drwxr-xr-x 2 root root 4096 May  1 23:52 .
drwxr-xr-x 3 root root 4096 May  1 10:30 ..
-rw-r--r-- 1 root root 2033 May  1 23:51 01_setup
-rw-r--r-- 1 root root  203 Apr  2 04:31 10_focused-window-name
-rw-r--r-- 1 root root   60 Apr  2 04:31 20_weather
-rw-r--r-- 1 root root   50 Apr  2 04:31 30_net-traffic
-rw-r--r-- 1 root root   46 Apr  2 04:31 30_wifi
-rw-r--r-- 1 root root  156 Apr  2 04:31 40_cpu-usage
-rw-r--r-- 1 root root   47 Apr  2 04:31 40_nm-vpn
-rw-r--r-- 1 root root   53 Apr  2 04:31 40_openvpn
-rw-r--r-- 1 root root   30 Apr  2 04:31 50_memory
-rw-r--r-- 1 root root  164 Apr  2 04:31 80_battery
-rw-r--r-- 1 root root   92 Apr 11 20:55 80_rofication
-rw-r--r-- 1 root root   48 Apr  2 04:31 80_volume
-rw-r--r-- 1 root root   31 Apr  2 04:31 90_time

could an older config file interfere here? (i was an early regolith moonbird i guess…)

kgilmer commented 4 years ago

Yes, if you have an older i3 config file, the i3xrocks changes will not work. I suggest you try these steps to get back to the R1.4 default and then add any of your customizations back in: https://regolith-linux.org/docs/getting-started/install/#upgrading-with-customizations

Note that since 1.3.1, many customizations can be done via Xresource overrides instead of making a copy of your i3 file, which should help make upgrades in the future less...bad. See here for details: https://regolith-linux.org/docs/howto/override-xres/

p3k commented 4 years ago

ok i did that and arduously recreated my config by diffing and comparing it with the one in /etc/regolith/i3/config – now i got the ibar icons and my desired settings back. thanks!

great that more and more i3 customization is possible via xresources! i just wonder how far you could go with this… besides fonts, colors and apps i also change many keyboard shortcuts, reconfigure workspace output for two displays and even apply my own modes (e.g. resize). isnt’t there a way to merge the i3 config files so i just keep in my file the settings i’d like to have different from the default config?

regarding my early onboarding: i have a lot of regolith configuration files which some of them i am not sure they are still necessary. is there an overview of locations and filenames which regolith requires, similar to the list of .Xresource files?

matiasnoriega commented 4 years ago

Yes, if you have an older i3 config file, the i3xrocks changes will not work. I suggest you try these steps to get back to the R1.4 default and then add any of your customizations back in: https://regolith-linux.org/docs/getting-started/install/#upgrading-with-customizations

Note that since 1.3.1, many customizations can be done via Xresource overrides instead of making a copy of your i3 file, which should help make upgrades in the future less...bad. See here for details: https://regolith-linux.org/docs/howto/override-xres/

I've followed the instructions to reinstall and backup, and menaged to archieve that the bar shows only one of the indicators (memory), but the other ones that i've installed do not show. I've tried all, but still shows one component, i don't understand why this one and not the others...

kgilmer commented 4 years ago

@p3k yes, please see here regarding configuration files, and here regarding all Xresource keys. Please let me know if there are details missing or other information you'd like to have!

@matiasnoriega , you can troubleshoot by running i3xrocks directly on the command line: i3xrocks -u ~/.config/regolith/i3xrocks/conf.d -d /etc/regolith/i3xrocks/conf.d. The user directory (first param) is optional. If it doesn't exist then the other directory is used. One note is that each conf.d module (the files in /etc/regolith/i3xrocks/conf.d) require a line feed at the end. One optional block was missing this (fix being published now to release) so take a look there.

p3k commented 4 years ago

thanks for the pointer @kgilmer that’s helpful but i indeed have some more questions about files not contained in these lists:

kgilmer commented 4 years ago

conky: no /etc/regolith/styles/*: yes .regolith-gnome-backup* are backups of your dconf config before Regolith was initialized. So if you ever want to restore your system as it was before you installed Regolith, these files are what you need. The other files can be safely deleted.

Sorry for the mess, you have been using Regolith for a long time and have had to deal with a lot of my mistakes! :smile: :face_with_head_bandage:

p3k commented 4 years ago

well it was sometimes troubling to find my desktop in disarray after upgrade but with your amazing assistance i always could mend it in a short time. i also can see how regolith is getting better with every of these steps.

and i wouldn’t even consider it mistakes but rather trials in an ongoing evolvement – something i was aware from the beginning but probably have to remind myself of again from time to time.

a tiny fee for a great distro.

anyway, big kudos for what you and your collaborators have done so far 😺

matiasnoriega commented 4 years ago

@matiasnoriega , you can troubleshoot by running i3xrocks directly on the command line: i3xrocks -u ~/.config/regolith/i3xrocks/conf.d -d /etc/regolith/i3xrocks/conf.d. The user directory (first param) is optional. If it doesn't exist then the other directory is used. One note is that each conf.d module (the files in /etc/regolith/i3xrocks/conf.d) require a line feed at the end. One optional block was missing this (fix being published now to release) so take a look there.

Well, after troubleshooting with i3xrocks -c /etc/regolith/i3xrocks/config found out that was throwing an/bin/sh: 1: /usr/share/i3xrocks/nettraffic: not found error among others. I already installed with apt-get the blockets so it was weird that it didn't found them. The problem was on the /etc/regolith/i3xrocks/config file that the blockets were named different that the package downloaded, for example, in the config file it had the [time2] tag for the time blocket and the package was named /usr/share/i3xrocks/time . So, changing the name on the configuration worked for me.

kgilmer commented 4 years ago

Hi @matiasnoriega , it sounds like your local filesystem is out of sync with the Regolith packages. /etc/regolith/i3xrocks/config should not exist anymore, and nettraffic was renamed to net-traffic in version 1.4. This issue can occur if manually editing files in /etc I have found, but it's intermittent and I do not know the underlying logic as to why the packaging system leaves the files in an inconsistent state. In any case, I suggest you purge and reinstall the regolith-i3xrocks-conf package. See here for more details: https://regolith-linux.org/docs/getting-started/install/#edits-to-etcregolith-files

kgilmer commented 4 years ago

I will close this issue as it's not specific to an ongoing bug. For those still having issues w/ status indicators after following the instructions in documentation, kindly open a new issue.