grassmunk / Chicago95

A rendition of everyone's favorite 1995 Microsoft operating system for Linux.
4.61k stars 156 forks source link

Theme-specific icons broken after xfce update #163

Open petermatti opened 3 years ago

petermatti commented 3 years ago

After installing an update for xfce various system and applications do not work properly with the theme. Specifically, the battery indicator in the system tray, and the settings manager do not apply the Chicago 95 theme.

grassmunk commented 3 years ago

Could you post a screenshot of what they look like right now? Have you reinstalled the theme and/or rebooted after the update?

Some other questions:

petermatti commented 3 years ago

Here is a screenshot showing the various examples of broken icons and theming I am now experiencing. I am running Manjaro Linux kernel version 5.10.7-3 with Xfce version 4.16. My best guess is that the icons and theme setting for these specific applications have been changed to a new name or something, but I'd take that with a grain of salt as I'm new to Linux. I have rebooted multiple times after the update to no avail. Also upon attempting to reinstall the theme using the python script, the installer hangs at install-theme. I have attached a screenshot of the terminal output when attempting to reinstall as well. Thank you!

chicago95brokenicons

Screenshot_2021-01-19_21-11-44

EMH-Mark-I commented 3 years ago

Welcome!

The theme requirements are currently for XFCE versions 4.12 thru 4.14. This is the first time I've seen it on XFCE 4.16, so there's no doubt going to be some oddities. Surprisingly it doesn't look half bad from the screenshot, but there are certainly some flaws.

I can't speak for Grassmunk, but since this project is a side hobby it's easiest to target LTS based distributions where there is some semblance of a stable target platform.

You're probably correct in that the newer applications expect a particular icon name that isn't present in the icon theme. For the time being I've been busy and haven't had enough time to address some languishing issues with the theme. I do certainly intend to fix it up for XFCE 4.16 by the time the next LTS release of XUbuntu!

petermatti commented 3 years ago

Alright that's about what I was expecting to hear. Thank you so much for clearing that up! I sure look forward to you all updating it but until then I'm going to downgrade xfce. Cheers!

Lalarian commented 3 years ago

Hello! It's same for the 'show desktop' icon in panel in 4.16. Using an LTS release would be a temporary solution, too, as even LTSs have an end of life - and then we would have to face that flat ui dread again :( Is there a way for donating the project? Think I would have to give up computers after being an enthusiast for 35 years without this UI. Modern GUIs (flat 'design') are a painful abomination of what supposedly is a tool and not a designer's playground.

Fierelier commented 3 years ago

@Lalarian Well I think the idea would be that the theme would keep being updated for newer LTS releases, so I don't think you have to worry about that. Though perhaps there would need to be multiple branches or a version overview at some point, at least, for older LTS releases.

EMH-Mark-I commented 3 years ago

@Fierelier That's correct. As for the branches, I've thought about this. For now I've been able to maintain backwards compatibility between previous and current versions of XFCE, but this has been primarily dependent on the platform version of GTK3.

My original plan was to target specific versions of GTK if the need arose, but thus far I've kept the symbolic link placeholders for gtk-3.22 and gtk-3.24 as is, linking them back to the gtk-3.0 directory where all of the contents live. I wouldn't mind sliding gtk-3.18 in there too, just so support for older platforms (such as XUbuntu 16.04) is still there instead of directing people to my own repository.


I'm noticing that the headerbars are very large, possibly due to the application icon in the top left expanding the space. This is very frustrating to use on regular displays (21" 1920x1080.) I know that these header bars are supposed to condense the amount of vertical space that is traditionally used up by a window manager titlebar and toolbox, but this is missing the point by a long shot. Not sure if I can compact those anymore than I already have.

grassmunk commented 3 years ago

I've started the process to figure out which icons we're missing based on the XFCE documentation and freedesktop icon names:

Per XFCE they're using the freedesktop naming convention now (as noted here: https://www.xfce.org/about/news/?post=1608595200). The naming spec is documented here: https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html

Comparing the spec with the current icons here's what it shows we're missing: context name folder
actions mail-mark-junk ./actions/scalable
actions mail-mark-junk ./actions/32
actions mail-mark-notjunk ./actions/scalable
actions mail-mark-notjunk ./actions/16
actions mail-mark-notjunk ./actions/24
actions mail-mark-notjunk ./actions/32
actions mail-mark-notjunk ./actions/22
actions system-reboot ./actions/scalable
actions window-close ./actions/24
actions window-close ./actions/32
actions window-close ./actions/22
animations process-working ./animations/64
categories preferences-system-network ./categories/scalable
emblems emblem-synchronized ./emblems/scalable
emblems emblem-synchronized ./emblems/16
emblems emblem-synchronized ./emblems/24
emblems emblem-synchronized ./emblems/32
emblems emblem-synchronized ./emblems/22
mimes x-office-address-book ./mimes/scalable
status appointment-missed ./status/symbolic
status appointment-soon ./status/symbolic
status dialog-error ./status/symbolic
status dialog-information ./status/symbolic
status dialog-password ./status/symbolic
status dialog-question ./status/symbolic
status dialog-warning ./status/symbolic
status folder-drag-accept ./status/symbolic
status folder-open ./status/symbolic
status folder-visiting ./status/symbolic
status image-loading ./status/symbolic
status image-missing ./status/symbolic
status mail-attachment ./status/symbolic
status mail-unread ./status/symbolic
status mail-read ./status/symbolic
status mail-replied ./status/symbolic
status mail-signed ./status/scalable
status mail-signed ./status/32
status mail-signed ./status/symbolic
status mail-signed-verified ./status/scalable
status mail-signed-verified ./status/32
status mail-signed-verified ./status/symbolic
status media-playlist-repeat ./status/symbolic
status media-playlist-shuffle ./status/symbolic
status network-error ./status/symbolic
status network-idle ./status/symbolic
status network-offline ./status/symbolic
status network-receive ./status/symbolic
status network-transmit ./status/symbolic
status network-transmit-receive ./status/symbolic
status printer-error ./status/symbolic
status printer-printing ./status/symbolic
status security-high ./status/symbolic
status security-medium ./status/symbolic
status security-low ./status/symbolic
status software-update-available ./status/symbolic
status software-update-urgent ./status/symbolic
status sync-error ./status/scalable
status sync-error ./status/16
status sync-error ./status/24
status sync-error ./status/32
status sync-error ./status/22
status sync-error ./status/symbolic
status sync-synchronizing ./status/scalable
status sync-synchronizing ./status/16
status sync-synchronizing ./status/24
status sync-synchronizing ./status/32
status sync-synchronizing ./status/22
status sync-synchronizing ./status/symbolic
status task-due ./status/symbolic
status task-past-due ./status/symbolic
status user-available ./status/scalable
status user-available ./status/24
status user-available ./status/32
status user-available ./status/22
status user-available ./status/symbolic
status user-away ./status/scalable
status user-away ./status/24
status user-away ./status/32
status user-away ./status/22
status user-away ./status/symbolic
status user-idle ./status/scalable
status user-idle ./status/24
status user-idle ./status/32
status user-idle ./status/22
status user-idle ./status/symbolic
status user-offline ./status/scalable
status user-offline ./status/24
status user-offline ./status/32
status user-offline ./status/22
status user-offline ./status/symbolic
status user-trash-full ./status/symbolic
status weather-clear ./status/symbolic
status weather-clear-night ./status/symbolic
status weather-few-clouds ./status/symbolic
status weather-few-clouds-night ./status/symbolic
status weather-fog ./status/symbolic
status weather-overcast ./status/symbolic
status weather-severe-alert ./status/symbolic
status weather-shoers ./status/scalable
status weather-shoers ./status/16
status weather-shoers ./status/24
status weather-shoers ./status/32
status weather-shoers ./status/22
status weather-shoers ./status/symbolic
status weather-showers-scattered ./status/symbolic
status weather-snow ./status/symbolic
status weather-storm ./status/symbolic

These icons likely already exist in one form or another (except maybe the weather ones). This shouldn't take too long since we're only missing around 127 icons. You can also probably ignore the symbolic ones as thats a gnome thing.

@Lalarian I can't speak for @EMH-Mark-I but i think the best way to donate would to take a look at the list above and see if you can start fixing missing icons. I've just create the branch https://github.com/grassmunk/Chicago95/tree/xfce416-icons to start fix missing icons and welcome any help!

Lalarian commented 3 years ago

I don't know what needs to be done for fixing. Is it needed to pixel some images? Do they need to be renamed? Or copied from somewhere (like an original Windows 95)?

grassmunk commented 3 years ago

ok, after looking at what other themes have done (Adwaita and the Win 10 icon themes) i've got an update in the branch https://github.com/grassmunk/Chicago95/tree/xfce416-icons that I just pushed. Please everyone take a look and let me know. I believe I'm still missing a few icons but this should fix the lions share of issues.

Fierelier commented 3 years ago

I'm noticing that the headerbars are very large, possibly due to the application icon in the top left expanding the space.

@EMH-Mark-I I think this is because Xfce adapted client-side decorations: https://simon.shimmerproject.org/2020/01/14/xfce-4-14-maintenance-and-4-15-updates/ -- It's the interactive title bar you can also see in GNOME, with the subtitle and buttons in it.

There is something called gtk3-nocsd, which disables these again, which seems to be available for Debian Buster and up: https://packages.debian.org/buster/gtk3-nocsd -- This is probably the cleanest way to go about getting the old visuals back, once the newer Xfce revisions are adapted.

EMH-Mark-I commented 3 years ago

@Fierelier I'm aware of gtk3-nocsd. It really, only, just allows for the window manager borders and titlebar to return on top of the header bar.

I did include an option of the theme for those that would like to use gtk3-nocsd. It themes the header bar to appear more visually like a toolbar. I just wish the buttons weren't assigned such large static size values, this way the theme default of 16x16px would take precedence. It makes it difficult to achieve a consistent compact UI otherwise.

Check out this section: https://github.com/grassmunk/Chicago95/blob/master/INSTALL.md#nocsd

I should re-word it because gtk3-nocsd is really not disabling anything at all.

Now for a much more better solution, I recommend looking at libxfce4ui-nocsd. This returns specifically the XFCE applications back to their normal state. For non XUbuntu users, you'll have to build this library yourselves. I'm working with bgstack15 to get a build available in the OBS repo soon though so hopefully it would be easier to install.

Edit: For users on Arch and Arch based platforms that would like to return XFCE applications back to their prior visual state, you may be able to install libxfce4ui-nocsd from your package manager already. See here: https://aur.archlinux.org/packages/libxfce4ui-nocsd/

Lalarian commented 3 years ago

Regarding the updated icons: I just installed the latest update, but the icons in my panel remained same. (Wrong desktop to front and battery icon).

Bildschirmfoto

I tried switching to another icon theme and back to Chicago95, but this didn't change.

Thanks for the hint to libxfce-nocsd. Simply installed it using Manjaro's package management and the terribly oversized title bars are gone. Seeing that this seems to have more participants than original XFCE itself, gives hope, that the devs might come back to their minds, one day..

grassmunk commented 3 years ago

Ok, I've completed updates to https://github.com/grassmunk/Chicago95/tree/xfce416-icons and it should work now, i've tested 4.16 and i no longer have the problems you see.

To test the changes you can use git clone --branch xfce416-icons https://github.com/grassmunk/Chicago95

What branch are you on?

Lalarian commented 3 years ago

Hello! thank you very much! :) The battery icon is right now. the desktop to front icon changed and it now is an icon of the Chicago95 pack for sure - but I think it could be the wrong one.

Bildschirmfoto_2021-02-23_13-38-59

I cannot remember what it looked like in Windows 95, but the one I am used to see is this one: 2kdesktop

Was it different in 95? For your question: I am not using git. I always delete the old themes and icons, then download the whole zip (last time and this time the "Chicago95-xfce416-icons" one) and execute the installer.

grassmunk commented 3 years ago

I cannot remember what it looked like in Windows 95, but the one I am used to see is this one:

Me too, this has been bugging me for a while so I've updated it now in the xfce16-icons branch.

I am not using git. I always delete the old themes and icons, then download the whole zip (last time and this time the "Chicago95-xfce416-icons" one) and execute the installer.

Its much faster to just copy the Chicago95/Icons/Chicago95 folder to ~/.icons but if it works for you thats great.

Lalarian commented 3 years ago

Perfect! Thank you very much! :)

Lalarian commented 3 years ago

I probably didn't see this swapped icon before, because I was using icons from an original Plus Pack which I had converted using the "Plus!" tool. The generated icon packs also had these Icons missing since the XFCE updates. So I assume the Plus! tool might need an update, too for generating these icons? Btw: I would like to help moee in future. How do you know which filenames the icons need for matching XFCE's builtin icons? And how do you know the path to put them in?

grassmunk commented 3 years ago

So my method multy tiered/trriaged :smile: :

1) browse /usr/share/icons/hicolor and /usr/share/pixmaps to see if I can find the icon. Sometimes for an app its obvious, like pidgin will have an icon called pidgin.png. 1) If that fails I'll do a find in icons: find /usr/share/icons -iname "*appname*" 1) If i still can't find it I'll find the .deb package and search for any .png files in there 1) If i still cant find it i'll look for any PNGs references in the source 1) If i still can't find the icon i'll use GTK inspector: GTK_DEBUG=interactive <appname>

Ok, so now I've figured out what the icon is called, now we need a new icon to replace it.

1) Firstly I'll download https://github.com/grassmunk/Chicago95_Extras and look in any of the zip files for an appropriate .ico file. 1) If i'm not sure which icon to use I'll boot up my Windows95/98 vms and look around 1) if nothing matches but a similar app was around in the late 90s (say ICQ for pidgin) I'll download the app from winworldpc or elsewhere and use http://www.angusj.com/resourcehacker/ or https://www.nirsoft.net/utils/resources_extract.html to extract all icons/bmp

Now i've got the filename the app uses and an ico we wish to use.

1) use image magic convert to extract the different sized icons from the .ico file: convert iconfile.ico appname.png 1) If icons don't exist for the 22/24/48 sizes i'll open up gimp and try an make one (usually just expand the 16x16 icon to 22x22 and then custom make a 24x24 based on 32x32). I'll typically skip making a 48x48 if it doesn't exist. 1) Then I use the script in Chicago95_Extras to convert the 32x32 png file to an SVG: ./convert.py pngfile.png

Once all that is done I copy the files to their respective folders in apps/, then refresh the theme (by loading a different icon theme and then setting it back to Chicago95)

If you're wanting to help with icons i'll gladly except! In the xfce416-icons branch each icon subfolder (apps, devices, etc) has their own icons.html file that outlines what each icon is and their various sizes. To make changes i would fork the xfce416-icons branch, make your changes to that branch then create a pull request. Let me know if you have questions.

Lalarian commented 3 years ago

Further questions will (possibly) turn out, once I find some missing icon and try doing so! :) So it mostly is a process of searching and finding. Formerly I thought there might be some code magic included (as to check XFCE sources for finding the right names). Thank you again, for all your effort!

spmfox commented 3 years ago

Hello - first thanks for all the hard work on this project, I love it. I just upgraded to XFCE 4.16 and found this issue for the icons. I saw the branch was merged to master, so I'm using the 'new icons'. However I noticed something missing and I'm not sure if this is a XFCE design change or a missing icon.

file-manager-missing-icon

That icon/animation is missing now from the file manager, and even replaced by a hourglass you can see for a second or two.

file-manager-missing-icon2 file-manager-missing-icon3

leap0x7b commented 3 years ago

I cannot remember what it looked like in Windows 95, but the one I am used to see is this one:

Me too, this has been bugging me for a while so I've updated it now in the xfce16-icons branch.

Even with the update, it still looks the same for me

grassmunk commented 3 years ago

Hello - first thanks for all the hard work on this project, I love it. I just upgraded to XFCE 4.16 and found this issue for the icons. I saw the branch was merged to master, so I'm using the 'new icons'. However I noticed something missing and I'm not sure if this is a XFCE design change or a missing icon.

file-manager-missing-icon

That icon/animation is missing now from the file manager, and even replaced by a hourglass you can see for a second or two.

file-manager-missing-icon2 file-manager-missing-icon3

I just caught this today. Can you make a new issue about this so we can track it?

grassmunk commented 3 years ago

I cannot remember what it looked like in Windows 95, but the one I am used to see is this one:

Me too, this has been bugging me for a while so I've updated it now in the xfce16-icons branch.

Even with the update, it still looks the same for me

Please make a new issue including your OS, XFCE version, distro and what the icons look like.

leap0x7b commented 3 years ago

I cannot remember what it looked like in Windows 95, but the one I am used to see is this one:

Me too, this has been bugging me for a while so I've updated it now in the xfce16-icons branch.

Even with the update, it still looks the same for me

Please make a new issue including your OS, XFCE version, distro and what the icons look like.

OS: Alpine Linux XFCE version: 4.16 Screenshot_20210618-153124

grassmunk commented 3 years ago

This should work now. I've replaced the 16x16 icon with the the one that matches the rest of the theme

EMH-Mark-I commented 3 years ago

Hello - first thanks for all the hard work on this project, I love it. I just upgraded to XFCE 4.16 and found this issue for the icons. I saw the branch was merged to master, so I'm using the 'new icons'. However I noticed something missing and I'm not sure if this is a XFCE design change or a missing icon.

That icon/animation is missing now from the file manager, and even replaced by a hourglass you can see for a second or two.

Yes, I apologize. I had disable it by default I believe when testing the animated hourglass. I can return it back though. I had also fixed an issue some months back where the Thunar menubar would “jump” momentarily in size due to the hourglass.

EMH-Mark-I commented 3 years ago

Oh actually on second thought, it was disabled by default for the installer.py script where if the user chooses to omit the “Thunar spinner theme,” then it would take no action and role with the default. So on second thought, I'm going to leave it as is. If you want to enable the spinner badge in Thunar, there are steps in the install guide that show you how. See: https://github.com/grassmunk/Chicago95/blob/master/INSTALL.md#thunar