You are not logged in.

#1 2023-08-14 05:55:41

johnraff
nullglob
From: Nagoya, Japan
Registered: 2015-09-09
Posts: 12,554
Website

Boron - three small GTK theme tweaks?

I'm posting these suggestions in separate posts to make follow-up easier, but they're all small things that I'm happy to leave ultimately to @hhh's judgement.

It would be nice if the GTK tooltips (ie shown in the system tray) matched tint2's native tooltips.
For all four tint2s: boron-dark.tint2rc, boron-dark-vertical.tint2rc, boron-light.tint2rc and boron-light-vertical.tint2rc, the native tooltip colours are:
fg
#d3dae3
bg
#292D31

09u8bGEm.png

While for GTK tooltips (for Boron dark tested with a colour picker, Aqua light from the css file)

Aqua light
fg
#222222
bg
#FFF0ED

4UrHeVem.png

Boron Dark
fg
#A0BDCE
bg
#2C2C2C

sUZNQq6m.png

The Aqua light GTK tooltips are bright almost white, while tint2 is dark.

On Boron Dark, GTK and tint2 tooltips are close in colour, but the GTK background is a bit darker.

So we can tweak either tint2 or GTK, to make them as close to identical as possible. @hhh what do you think?

EDIT: added screenshots

Last edited by johnraff (2023-08-14 08:51:10)


...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )

Introduction to the Bunsenlabs Boron Desktop

Online

#2 2023-08-14 06:05:01

johnraff
nullglob
From: Nagoya, Japan
Registered: 2015-09-09
Posts: 12,554
Website

Re: Boron - three small GTK theme tweaks?

Boron-dark GTK theme, add some subtle red highlights?
The default Boron dark icon theme, Numix-Bunsen-Circle-darkred, has inactive folder colour of  #BD423F, active a bit brighter #DF4D4A

How about adding a dark red highlight of #BD423F somewhere in the Boron-Dark GTK theme to match the folders? Nothing out of control, just very restrained. Would that be easily done without wrecking the overall balance?
In fact I see the tab-closing x in geany are already red, so there may be nothing left to be done...

Last edited by johnraff (2023-08-14 09:29:32)


...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )

Introduction to the Bunsenlabs Boron Desktop

Online

#3 2023-08-14 07:45:20

hhh
Gaucho
From: High in the Custerdome
Registered: 2015-09-17
Posts: 16,032
Website

Re: Boron - three small GTK theme tweaks?

I'll take a look at it, thanks for the suggestions!

BTW, a numix-folders tutorial is needed, and maybe include a file in Documents (or somewhere) of suggested color options for it (primary, secondary, symbol) for the different default GTK/Openbox/notification themes?

aqua: 346773
9BB9BF
E9F1F2

blue: 1D304E
7787A1
9FABBF

moss: 3C523F
96B099
CED9CF

future:
Choose primary colour in hex notation (default: ffa726): 595F6B
Choose secondary colour in hex notation (default: ef6c00): A3AEC4
Choose symbol colour in hex notation (default: b17621): 7D8696

No, he can't sleep on the floor. What do you think I'm yelling for?!!!

Offline

#4 2023-08-14 08:38:46

johnraff
nullglob
From: Nagoya, Japan
Registered: 2015-09-09
Posts: 12,554
Website

Re: Boron - three small GTK theme tweaks?

The numix-folders script is buggy. I had to tweak it to work properly (at least with "circles" - I didn't try the other variants), so I don't know if we want to encourage people to use it. Alternatively include the tweaks... if I can still find them...

We're already shipping aqua-light and darkred icon sets for our two default themes so there's no immediate need for users to tweak the folder colours.

...unless they want to of course. smile

Last edited by johnraff (2023-08-14 08:53:38)


...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )

Introduction to the Bunsenlabs Boron Desktop

Online

#5 2023-08-14 08:46:51

johnraff
nullglob
From: Nagoya, Japan
Registered: 2015-09-09
Posts: 12,554
Website

Re: Boron - three small GTK theme tweaks?

Found my edited script. As I said, I've only tested it for generating colour variants of the circles style. There are definitely bugs in the original though, and it hasn't been updated to keep up with the icon theme. My edits are near the end.

#!/bin/bash

# Script for changing Numix base folder style

# Copyright (C) 2014-2023 Numix Project contributors
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License (version 3+) as
# published by the Free Software Foundation. You should have received
# a copy of the GNU General Public License along with this program.
# If not, see <http://www.gnu.org/licenses/>.

# Allows timeout when launched via 'Run in Terminal'

function sucess() { sleep 3; exit 0; }
function gerror() { sleep 5; exit 1; }

if [ -z "$1" ]; then
    runmode=2
else
    case "$1" in
        -c|--colours)
            echo -e \
                "This is a list of currently supported folder\n" \
                "\rcolours that can be used to replace the default.\n\n" \
                "\rdefault  - reverts any previous colour change\n" \
                "\rblue     - 42a5f5\n" \
                "\rbrown    - 8d6e63\n" \
                "\rgreen    - 66bb6a\n" \
                "\rgrey     - bdbdbd\n" \
                "\rorange   - f57c00\n" \
                "\rpink     - f06292\n" \
                "\rpurple   - 7e57c2\n" \
                "\rred      - ef5350\n" \
                "\ryellow   - ffca28\n" \
                "\rstyle# - use colours from default style #\n" \
                "\rcustom   - choose your own colours"
            sucess ;;
        -s|--styles)
            echo -e \
                "This is a list of currently supported folder\n" \
                "\rstyles that can be used to replace the default.\n\n" \
                "\r0 - default folder theme (uninstall)\n" \
                "\r1 - the original folder design\n" \
                "\r2 - plain design which matches our Legacy themes\n" \
                "\r3 - tilted design which never made it to production\n" \
                "\r4 - one that launched with the redesign of Circle\n" \
                "\r5 - curvy design which never made it to production\n" \
                "\r6 - the current new design that landed in 2015"
            sucess ;;
        -h|--help)
            echo -e \
                "A script for changing the Numix base folder\n" \
                "\rstyle and colour.\n\n" \
                "\rRunning as root makes the change globally,\n" \
                "\rotherwise it is only made locally. Run as\n" \
                "\rappropriate to your Numix installation.\n\n" \
                "\rUsage: numix-folders [OPTION]\n" \
                "\r  -c, --colours \t List of available colours.\n" \
                "\r  -s, --styles \t\t List of available styles.\n" \
                "\r  -h, --help \t\t Displays this help menu.\n"\
                "\r  -p, --prev \t\t Use previous settings.\n"\
                "\r  -t, --cli \t\t Use script in terminal"
            sucess ;;
        -p|--prev)
                runmode=1;;
        -t|--cli)
                runmode=0;;
        *)
            echo -e \
                "numix-folders: invalid option -- '$1'\n" \
                "\rTry 'numix-folders --help' for more information."
            gerror ;;
    esac
fi

cuser="${SUDO_USER:-$USER}"

config_file="$(eval echo "~$cuser")/.config/numix-folders"
if [ ! -f "$config_file" ];then
  touch "$config_file"
fi

scriptpath=$(dirname "$(readlink -f "$0")")

if [ "$runmode" -eq 2 ]; then
    if [ -d /home/"$cuser"/.local/share/icons/Numix/ ]; then
        dir=/home/"$cuser"/.local/share/icons
    elif [ -d /home/"$cuser"/.icons/Numix ]; then
        dir=/home/"$cuser"/.icons
    elif [ -d /usr/share/icons/Numix/ ]; then
        if [[ $UID -ne 0 ]]; then
            scriptname=$(readlink -f "$0")
            pkexec "$scriptname"
        else
            dir=/usr/share/icons
        fi
    else
        "$scriptpath"/gui/error
        exit
    fi
    style=$(sed -n 1p "$config_file")
    colour=$(sed -n 2p "$config_file")
    colour1=$(sed -n 3p "$config_file")
    colour2=$(sed -n 4p "$config_file")
    colour3=$(sed -n 5p "$config_file")
    vars=$("$scriptpath"/gui/gui "$style" "$colour" "#$colour1" "#$colour2" "#$colour3")
    style=$(echo $vars | awk '{print $1}')
    colour=$(echo $vars | awk '{print $2}')
    colour1=$(echo $vars | awk '{print $3}')
    colour2=$(echo $vars | awk '{print $4}')
    colour3=$(echo $vars | awk '{print $5}')
    if [[ -z "$style" ]]; then
        exit
    fi
    if [[ $UID -ne 0 ]]; then
        "$scriptpath"/gui/notification&
    else
        sudo -H -u "$cuser" "$scriptpath"/gui/notification&
    fi

else
    if [ -d /home/"$cuser"/.local/share/icons/Numix/ ]; then
        dir=/home/"$cuser"/.local/share/icons
    elif [ -d /home/"$cuser"/.icons/Numix ]; then
        dir=/home/"$cuser"/.icons
    elif [ -d /usr/share/icons/Numix/ ]; then
        if [[ $UID -ne 0 ]]; then
            echo -e \
                "You appear to have Numix installed globally.\n" \
                "\rPlease run this script again as root."
            gerror
        else
            dir=/usr/share/icons
        fi
    else
        echo -e \
            "You don't appear to have Numix installed! Please\n" \
            "\rinstall it and run this script again."
        gerror
    fi

    exitloop=0
    until [ "$exitloop" -eq 1 ]; do
        case $runmode in
            0)
                read -r -p "Which folder style do you want? " answer
                if [ -z "$answer" ]; then
                    style="0"
                elif [ -d "$scriptpath"/styles/"$answer" ]; then
                    style="$answer"
                else
                    echo -e \
                        "Oops! You've chosen an invalid style number.\n" \
                        "\rRun 'numix-folders --styles' for an option list."
                    gerror
                fi

                read -r -p "Which folder colour do you want? " answer
                answer="$(tr '[:upper:]' '[:lower:]' <<< "$answer")" #convert answer to lowercase
                colour1="000000"
                colour2="000000"
                colour3="000000"
                if [ -z "$answer" ]; then
                    colour="default"
                elif [ "$answer" == "custom" ] || [[ $answer == "style"[1-6] ]]; then
                    colour="custom"

                    styledef=$style
                    if [[ $answer == "style"[1-6] ]]; then
                        styledef=${answer#"style"}
                    fi
                    case "$styledef" in
                        "1")
                            col1def="c4905e"
                            col2def="b07f51"
                            col3def="f9f9f9"
                            ;;
                        "2")
                            col1def="e8b07f"
                            col2def="9e7757"
                            col3def="9e7757"
                            ;;
                        "3")
                            col1def="f2bb64"
                            col2def="ea9036"
                            col3def="b58c4b"
                            ;;
                        "4")
                            col1def="f5c14e"
                            col2def="e9a439"
                            col3def="c79d41"
                            ;;
                        "5")
                            col1def="ffb300"
                            col2def="f57c00"
                            col3def="fff8e1"
                            ;;
                        "6" | "0")
                            col1def="ffa726"
                            col2def="ef6c00"
                            col3def="b17621"
                            ;;
                    esac

                    function checkhex() {
                        if ! [[ $1 =~ ^[0-9A-Fa-f]{6}$ ]]; then
                           echo -e \
                               "Oops! The colour: $1 is an invalid hex value.\n" \
                               "\rBe sure to use valid hex values with six digits (e.g. 000000)."
                           gerror
                        fi
                    }

                    if [[ $answer == "custom" ]]; then
                        if grep -q "replacecolour1" styles/"${style}"/Numix/48/places/custom-folder-video.svg; then
                            read -r -p "Choose primary colour in hex notation (default: $col1def): " colour1
                            if [ -z "$colour1" ]; then
                                colour1=$col1def
                            fi
                            checkhex $colour1
                        fi
                        if grep -q "replacecolour2" styles/"${style}"/Numix/48/places/custom-folder-video.svg; then
                            read -r -p "Choose secondary colour in hex notation (default: $col2def): " colour2
                            if [ -z "$colour2" ]; then
                                colour2=$col2def
                            fi
                            checkhex $colour2
                        fi
                        if grep -q "replacecolour3" styles/"${style}"/Numix/48/places/custom-folder-video.svg; then
                            read -r -p "Choose symbol colour in hex notation (default: $col3def): " colour3
                            if [ -z "$colour3" ]; then
                                colour3=$col3def
                            fi
                            checkhex $colour3
                        fi
                    else
                        colour1=$col1def
                        colour2=$col2def
                        colour3=$col3def
                    fi
                elif [ -d colours/"$answer" ]; then
                    colour="$answer"
                else
                    echo -e \
                        "Oops! You've chosen an invalid colour.\n" \
                        "\rRun 'numix-folders --colours' for an option list."
                    gerror
                fi
                exitloop=1
                ;;
            1)
                echo "Trying to use previously stored settings"
                style=$(sed -n 1p "$config_file")
                colour=$(sed -n 2p "$config_file")
                colour1=$(sed -n 3p "$config_file")
                colour2=$(sed -n 4p "$config_file")
                colour3=$(sed -n 5p "$config_file")
                if [[ "$style" -gt 6 || "$style" -lt 1 ]] || [[ -z $colour ]]; then
                    exitloop=0
                    runmode=0
                    echo "There were errors in your config file!"
                    continue
                fi
                if [ "$colour" == "custom" ]; then
                    if ! [[ "$colour1" =~ ^[0-9A-Fa-f]{6}$ ]] || ! [[ "$colour2" =~ ^[0-9A-Fa-f]{6}$ ]] || ! [[ "$colour3" =~ ^[0-9A-Fa-f]{6}$ ]]; then
                        exitloop=0
                        runmode=0
                        echo "There were errors in your config file!"
                        continue
                    fi
                fi
                exitloop=1
                ;;
        esac
    done
fi

# DEBUGGING
exec > /home/john/Downloads/numix-folders-master/log 2>&1

# NOTE some of the icons in styles/ are no longer needed
cp -rf "$scriptpath"/styles/"${style}"/Numix/* "${dir}"/Numix/

if [ "$colour" == "custom" ]; then
# BUGFIX
#    find ${dir}/Numix/*/{actions,places}/*custom*
    find ${dir}/Numix/*/{actions,places}/ -name 'custom-*' \
        -exec sed -i --follow-symlinks "s/replacecolour1/#$colour1/g" {} \; \
        -exec sed -i --follow-symlinks "s/replacecolour2/#$colour2/g" {} \; \
        -exec sed -i --follow-symlinks "s/replacecolour3/#$colour3/g" {} \;
fi

currentcolour=$(readlink ${dir}/Numix/16/places/folder.svg | cut -d '-' -f 1)
links=$(find -L ${dir}/Numix/*/{actions,places} -xtype l)

for link in $links; do
    if [[ $link == *folder_color* ]]; then
        continue
    fi
    newlink=$(readlink "${link}");
#BUGFIX
#    if [[ $newlink == *"$currentcolour"* ]]; then
    if [[ $newlink == "${currentcolour}-"* ]]; then
        newlink=${newlink/${currentcolour}/${colour}}
        ln -sf "${newlink}" "${link}"
    fi
done

chown -R "$cuser" "${dir}"/Numix/
gtk-update-icon-cache -f "${dir}"/Numix/
if [ -d "${dir}"/Numix-Circle/ ]; then
    cp -rH "$scriptpath"/styles/"${style}"/Numix-Circle/* "${dir}"/Numix-Circle/
    chown -R "$cuser" "${dir}"/Numix-Circle/
    gtk-update-icon-cache -f "${dir}"/Numix-Circle/
fi
if [ -d "${dir}"/Numix-Square/ ]; then
    cp -rH "$scriptpath"/styles/"${style}"/Numix-Square/* "${dir}"/Numix-Square/
    chown -R "$cuser" "${dir}"/Numix-Square/
    gtk-update-icon-cache -f "${dir}"/Numix-Square/
fi

echo "Folder change complete!"
{
    echo "$style"
    echo "$colour"
    echo "$colour1"
    echo "$colour2"
    echo "$colour3"
} > "$config_file"
chown -R "$cuser" "$config_file"
sucess

...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )

Introduction to the Bunsenlabs Boron Desktop

Online

#6 2023-08-14 08:56:50

johnraff
nullglob
From: Nagoya, Japan
Registered: 2015-09-09
Posts: 12,554
Website

Re: Boron - three small GTK theme tweaks?

Third one: strange rendering of the geany icon when active on a vertical light tint2:
OWSxfHol.png
See that white ring round the icon? Only geany, only if active, and only with that GTK theme.


...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )

Introduction to the Bunsenlabs Boron Desktop

Online

#7 2023-08-15 05:15:22

hhh
Gaucho
From: High in the Custerdome
Registered: 2015-09-17
Posts: 16,032
Website

Re: Boron - three small GTK theme tweaks?

johnraff wrote:

The numix-folders script is buggy.

I have not found it so. The only issue for me has been local vs. user icons.

Tutorial
________

Download Numix-folders...

https://github.com/numixproject/numix-folders

GitHub CLI

gh repo clone numixproject/numix-folders

or just download the Zip...

https://github.com/numixproject/numix-f … master.zip

Either way, rename the folder to a hidden folder (.numix) and put it in your Home folder.

Then you can use a terminal, either as user or as sudo -i, depending on the icon pack location...

cd .numix
./numix-folders

I don't think I need to add anything more because it now has a freaking GUI...

KXQm2V1t.png


No, he can't sleep on the floor. What do you think I'm yelling for?!!!

Offline

#8 2023-08-15 05:43:55

johnraff
nullglob
From: Nagoya, Japan
Registered: 2015-09-09
Posts: 12,554
Website

Re: Boron - three small GTK theme tweaks?

That script is definitely buggy. Try using it to generate icons called darkred - it will get caught up on any icon names ending in *red. I forget exactly what happened - I think some icons don't get recoloured - but it took a half day to find the problem. The code which I edited was definitely broken - just happened not to break for you. Their use of the 'find' command was just wrong, so I have no confidence in the rest of it. It might well be broken in places I didn't use.

The GUI crashed when I tried to run it. Even they said it "might not work". Are we looking at different scripts?

Anyway I don't mind using it for my own purposes but don't feel like offering any support to BL users who hit another bug.

Last edited by johnraff (2023-08-15 05:53:41)


...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )

Introduction to the Bunsenlabs Boron Desktop

Online

#9 2023-08-15 06:59:20

johnraff
nullglob
From: Nagoya, Japan
Registered: 2015-09-09
Posts: 12,554
Website

Re: Boron - three small GTK theme tweaks?

johnraff wrote:

Boron-dark GTK theme, add some subtle red highlights?
The default Boron dark icon theme, Numix-Bunsen-Circle-darkred, has inactive folder colour of  #BD423F, active a bit brighter #DF4D4A

How about adding a dark red highlight of #BD423F somewhere in the Boron-Dark GTK theme to match the folders? Nothing out of control, just very restrained. Would that be easily done without wrecking the overall balance?
In fact I see the tab-closing x in geany are already red, so there may be nothing left to be done...

I overlooked the Boron-aqua GTK theme. How does that differ from Boron-dark (probably still called Boron in your repo)? Dark with some green highlights? Just opened my VM and that's how it looks in fact.

If so, then maybe make a copy of Boron-aqua named Boron-darkred and search/replace the blue-green #53A0B3 with dark-red #BD423F? Would that be likely to work?

Then we could make the Boron-darkred GTK theme our default dark theme to go with Boron-light-aqua?

Last edited by johnraff (2023-08-15 07:00:54)


...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )

Introduction to the Bunsenlabs Boron Desktop

Online

#10 2023-08-24 09:50:18

johnraff
nullglob
From: Nagoya, Japan
Registered: 2015-09-09
Posts: 12,554
Website

Re: Boron - three small GTK theme tweaks?

johnraff wrote:

...maybe make a copy of Boron-aqua named Boron-darkred and search/replace the blue-green #53A0B3 with dark-red #BD423F #9C3F3D? Would that be likely to work?

Then we could make the Boron-darkred GTK theme our default dark theme to go with Boron-light-aqua?

I made a mistake - while #BD423F is the colour of the icons, when they are inactive the file manager (I guess?) dims them down to #9C3F3D. I think that even darker red #9C3F3D is the one we want to use for the boron-darkred colour highlights.
I tried running

rpl -R -i 53A0B3 9C3F3D .

inside the theme directory and it did the job.

BUT the gtk.css files have to be extracted into regular text files first.
You already did that to fix the GTK warnings we were getting, but I think for the full theme colour switch to work, you need to extract the dark css files too.

mv gtk-3.20/gtk-dark.css gtk-3.20/old-dark.css
gresource extract gtk-3.20/gtk.gresource /org/numixproject/gtk-3.20/dist/gtk-dark.css > gtk-3.20/gtk-dark.css

I don't know, but maybe you want to apply the warnings tweak to gtk-dark.css too?

EDIT I just discovered that the gtk.css and gtk-dark.css embedded in gtk.gresource are identical. I don't know if they are both needed or not...

Last edited by johnraff (2023-08-25 05:23:26)


...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )

Introduction to the Bunsenlabs Boron Desktop

Online

Board footer

Powered by FluxBB