numixproject / numix-gtk-theme

A modern flat theme with a combination of light and dark elements.
GNU General Public License v3.0
1.2k stars 228 forks source link

Unity Theming Issues and Improvements #153

Closed HEXcube closed 7 years ago

HEXcube commented 9 years ago

Unity introduced theming support for Unity on Ubuntu 14.04's Unity 7.2. However, Unity's theming capabilities still remain underutilized by Numix and other theme makers. I've done a bit of digging around on this area and found the following issues with Numix GTK theme.

Dash window buttons

unity dash window buttons Numix GTK theme does contain icons for theming close/minimize/maximize buttons in Unity Dash, but they're placed in the wrong path. The reason for this issue was a mistake in the official Unity Theming documentation (https://wiki.ubuntu.com/Unity/Theming) which says path for placing assets is $THEME_PATH/unity/icons instead of $THEME_PATH/unity. According to the newly corrected documentation, for the Dash window button theme to work, icons or symlinks are to be placed like this:

$THEME_PATH/unity/close_dash.svg
$THEME_PATH/unity/close_dash_disabled.svg
$THEME_PATH/unity/close_dash_prelight.svg
$THEME_PATH/unity/close_dash_pressed.svg
$THEME_PATH/unity/maximize_dash.svg
$THEME_PATH/unity/maximize_dash_disabled.svg
$THEME_PATH/unity/maximize_dash_prelight.svg
$THEME_PATH/unity/maximize_dash_pressed.svg
$THEME_PATH/unity/minimize_dash.svg
$THEME_PATH/unity/minimize_dash_disabled.svg
$THEME_PATH/unity/minimize_dash_prelight.svg
$THEME_PATH/unity/minimize_dash_pressed.svg
$THEME_PATH/unity/unmaximize_dash.svg
$THEME_PATH/unity/unmaximize_dash_disabled.svg
$THEME_PATH/unity/unmaximize_dash_prelight.svg
$THEME_PATH/unity/unmaximize_dash_pressed.svg

Force Quit close button

The assets/symlinks for theming Force Quit dialogue's close button are also misplaced in $THEME_PATH/unity/icons instead of $THEME_PATH/unity. The correct way to place them is:

$THEME_PATH/unity/sheet_style_close_focused.svg
$THEME_PATH/unity/sheet_style_close_focused_prelight.svg
$THEME_PATH/unity/sheet_style_close_focused_pressed.svg

force quit dialogue close button

Launcher Icon Glow

The icon buttons in Unity Launcher have a glow, which can be themed using these assets:

$THEME_PATH/unity/launcher_icon_glow_62.svg
$THEME_PATH/unity/launcher_icon_glow_200.svg

This glow is very useful, coz it can highlight currently active tasks in the Launcher and Alt+Tab Switcher. However, instead of providing a good glow, Numix just disables it using a transparent image. Numix should provide an appropriate glow icon rather than decreasing Unity's usability. glow in launcher glow in alttab switcher

me4oslav commented 9 years ago

First two are valid issues, the third is a design decision and we've decided against a glow and it is not coming back for these reasons: On the switcher you've an line below a highlighted icon. On the launcher the goal can not make a come back for the Numix GTK, because it is build for Numix icon themes and our apps icons comes in different shapes - circle, squares and yada yada. Now, imagine if our GTK theme has a glow for our square icons, but you use circle one - you will get a broken glow.

HEXcube commented 9 years ago

@me4oslav K, now I see the problem with glows. Unity should've implemented Launcher button theming to be associated with Icon packs rather than GTK themes. Well, can you bundle both Square and Circle versions of launcher buttons with the GTK theme, kinda like you provide the Dash Logo (Launcher BFB)? Cos, modding a theme is less complex and more safe than modding the hardcoded BFB icon. Or you can provide them with the corresponding icon packs. And I wanna ask one more thing - Will the changes get backported to the PPA version of Numix GTK theme for Ubuntu 14.04LTS?

clauded commented 9 years ago

For those who would like to try the proposed fix before it's properly packaged:

!/bin/bash

cd /usr/share/themes/Numix/unity ln -s close_unfocused.svg close_dash_disabled.svg ln -s close_focused_prelight.svg close_dash_prelight.svg ln -s close_focused_pressed.svg close_dash_pressed.svg ln -s close.svg close_dash.svg ln -s maximize_unfocused.svg maximize_dash_disabled.svg ln -s maximize.svg maximize_dash_prelight.svg ln -s maximize.svg maximize_dash_pressed.svg ln -s maximize.svg maximize_dash.svg ln -s minimize_unfocused.svg minimize_dash_disabled.svg ln -s minimize_focused_prelight.svg minimize_dash_prelight.svg ln -s minimize_focused_pressed.svg minimize_dash_pressed.svg ln -s minimize.svg minimize_dash.svg ln -s close_focused_prelight.svg sheet_style_close_focused_prelight.svg ln -s close_focused_pressed.svg sheet_style_close_focused_pressed.svg ln -s close_unfocused.svg sheet_style_close_focused.svg ln -s unmaximize_unfocused.svg unmaximize_dash_disabled.svg ln -s unmaximize.svg unmaximize_dash_prelight.svg ln -s unmaximize.svg unmaximize_dash_pressed.svg ln -s unmaximize.svg unmaximize_dash.svg

ghost commented 9 years ago

Actually lack of glow is huge downside. It is terrible. So terrible that i made orange color square images with 10% opacity to use for glow only so i can see which window becomes activ. Those ticks besides icon are fine but they fail to properly capture attention when something happens. Suppose IM message arrives. If IM does not make a sound it is very hard to notice that new message actually arrived. Now with flat orange squares it may not look perfect but at least i can see when stuff is happening. I understand square/circle icons can be problematic for frame images and i certainly agree they might as well be blank. However for glow most universal fix could be such image where color is most intense at the center and is gradually more transparent towards the edges. Like this http://imgur.com/33hQsgc

HEXcube commented 9 years ago

Good idea @novist ! But, I think the image which you linked (http://imgur.com/33hQsgc ) is more suited for Selected Icon Background than Icon Glow. So, it should be placed like this:

$THEME_PATH/unity/launcher_icon_selected_back_54.svg
$THEME_PATH/unity/launcher_icon_selected_back_150.svg
ghost commented 9 years ago

Judging from file name would it not be applied to application that demands attention but is in background right? Docs comment it as "icon background on key navigation". So i suppose "back" means background where icon is applied, not application that is slected (this doesnt even make sense) in background. I tried making both png and svg and testing but i could not see any difference, as if they were still blank. So i am clueless of what exactly launcher_icon_selected_back does.

HEXcube commented 9 years ago

Selected Icon Background does work in the Alt+Tab switcher using the big size icon:

$THEME_PATH/unity/launcher_icon_selected_back_150.svg

However in contrast to the official doc, Super+Tab key navigation uses only glow. $THEME_PATH/unity/launcher_icon_selected_back_54.svg` is never used. Note that I tested only in 14.04LTS and so, I don't know if they fixed this problem in 14.10 Utopic.

ghost commented 9 years ago

Oh nonono... Alt+Tab is least of the problems. See i am talking of app activity indication in launcher, not in Alt+Tab switcher.

With my mod now when i get message in pidgin i can see easily that app needs attention: With default numix theme there is no orange background, just that blue-ish tick which is VERY hard to notice if yo uare not looking.

HEXcube commented 9 years ago

@novist How did you do that? Are you using 14.10? Coz, in my 14.04LTS, all running apps use glow, not just the app which needs attention. Glow is $THEME_PATH/unity/launcher_icon_glow_{62, 200}.{svg, png} and Selected Icon Background is $THEME_PATH/unity/launcher_icon_selected_back_{54, 150}.{svg, png}. If not these, which icon did you replace?

ghost commented 9 years ago

With ubuntu tweak tool i set launcher icon backlight to always on. If i set it to "edge illumination toggles" then all open apps have that background. This option does not make any sense but it works. Im on mint17 (14.04LTS base)

clauded commented 9 years ago

With the recent changes in the theme, the fix for Unity is:

!/bin/bash

sudo -i cd /usr/share/themes/Numix/unity ln -s close_unfocused.png close_dash_disabled.svg ln -s close_focused_prelight.png close_dash_prelight.svg ln -s close_focused_pressed.png close_dash_pressed.svg ln -s close.png close_dash.svg ln -s maximize_unfocused.png maximize_dash_disabled.svg ln -s maximize.png maximize_dash_prelight.svg ln -s maximize.png maximize_dash_pressed.svg ln -s maximize.png maximize_dash.svg ln -s minimize_unfocused.png minimize_dash_disabled.svg ln -s minimize_focused_prelight.png minimize_dash_prelight.svg ln -s minimize_focused_pressed.png minimize_dash_pressed.svg ln -s minimize.png minimize_dash.svg ln -s close_focused_prelight.png sheet_style_close_focused_prelight.svg ln -s close_focused_pressed.png sheet_style_close_focused_pressed.svg ln -s close_unfocused.png sheet_style_close_focused.svg ln -s unmaximize_unfocused.png unmaximize_dash_disabled.svg ln -s unmaximize.png unmaximize_dash_prelight.svg ln -s unmaximize.png unmaximize_dash_pressed.svg ln -s unmaximize.png unmaximize_dash.svg

HEXcube commented 9 years ago

Why did Numix team replace the svg assets for Unity with png ones? I thought svg is better for multiple display sizes and for HiDPi support. Did you guys have any issues with the svg icons? I'm still using Numix's svg icons for Unity window and dash buttons and I haven't noticed any bugs yet.

satya164 commented 9 years ago

@me4oslav ?

khurshid-alam commented 8 years ago

@HEXcube In master we are still using svg. Feel free to open a pull request.

megax commented 7 years ago

@khurshid-alam Still having trouble?