jnsh / arc-theme

A flat theme with transparent elements (actively maintained fork)
GNU General Public License v3.0
902 stars 77 forks source link

Update change_color.sh #78

Closed TheBabu closed 3 years ago

TheBabu commented 3 years ago

Since this seems the newest upstream of the arc-theme, I would like to suggest to modifying the change_color.sh script from the old upstream https://github.com/arc-design/arc-theme.

Right now there are some flaws with the script, but for the major part, it works. image I created this theme using oomox which uses the script from the old upstream. U can see the flaw here is that the textbox color is different from the others.

I've also used the script manually, and I've gotten the same results as the one generated oomox.

I really think that this script has some potential because it allows users who like the arc theme, to change colors to better fit their theme, without having to fork it and maintain their theme separately.

I think the script should have some basic color options that allow a user to create a minimal arc theme, with the more minor details either autogenerated form the base color options a user has provided or uses a color the user has inputted some predefined default color.

Then the script should allow for even more customizability for users who want to configure even the smallest of details. Ideally, the customization options should be in a hierarchy, but depending on how the script works this may or may not work.

I hope users of arc-theme will agree that having such a script is beneficial!

jnsh commented 3 years ago

The change_color.sh script and other oomox related things weren't included for a reason. See https://github.com/jnsh/arc-theme/issues/47#issuecomment-634048207.

It would be nice to have a proper built in color configuration possibility, but considering the number of different themes within the project I can't think of a sensible way to implement it, and in any case there are number of more urgent matters that should be worked on first.

If the change_color.sh script worked for you, you can still get it from the arc-design repo and update as needed.

A custom script that simply goes trough all files in the theme and changes individual HEX color values with sed should also work as a dirty solution, and I used to change colors in this manner myself. I've included my old script below, unfortunately I never bothered to clean it up. Also, I can't guarantee works perfectly or won't provide any kind of support for it, but it may be useful if anyone wants to implement similar solutions.

  # highlight
  find common -name "*" -type f -exec sed -i 's/'5294E2'/'9375b6'/gI' {}  \;

  # tooltip background
  find common -name "*" -type f -exec sed -i 's/'4B5162'/'515151'/gI' {}  \;

  # dark_sidebard_bg
  find common -name "*" -type f -exec sed -i 's/'353945'/'393939'/gI' {}  \;

  # light foreground
  find common -name "*" -type f -exec sed -i 's/'5C616C'/'616161'/gI' {}  \;
  # light background
  find common -name "*" -type f -exec sed -i 's/'F5F6F7'/'F6F6F6'/gI' {}  \;
  # light insensitive background
  find common -name "*" -type f -exec sed -i 's/'FBFCFC'/'FCFCFC'/gI' {}  \;
  # light insensitive foreground
  find common -name "*" -type f -exec sed -i 's/'A9ACB2'/'ACACAC'/gI' {}  \;

  # light menubar bg
  find common -name "*" -type f -exec sed -i 's/'E7E8EB'/'E8E8E8'/gI' {}  \;
  # light menubar fb
  find common -name "*" -type f -exec sed -i 's/'70788D'/'787878'/gI' {}  \;

  # dark base color
  find common -name "*" -type f -exec sed -i 's/'404552'/'454545'/gI' {}  \;
  # dark foreground
  find common -name "*" -type f -exec sed -i 's/'383C4A'/'3C3C3C'/gI' {}  \;
  # dark background
  find common -name "*" -type f -exec sed -i 's/'383C4A'/'3C3C3C'/gI' {}  \;
  # dark insensitive background
  find common -name "*" -type f -exec sed -i 's/'3E4350'/'434343'/gI' {}  \;
  # dark insensitive foreground
  find common -name "*" -type f -exec sed -i 's/'7C818C'/'818181'/gI' {}  \;

  # dark menubar bg
  find common -name "*" -type f -exec sed -i 's/'2F343F'/'343434'/gI' {}  \;
  # dark menubar fb
  find common -name "*" -type f -exec sed -i 's/'AFB8C5'/'B8B8B8'/gI' {}  \;

  # dark fg
  find common -name "*" -type f -exec sed -i 's/'D3DAE3'/'DADADA'/gI' {}  \;

  # shell panel
  find common -name "*" -type f -exec sed -i 's/'252A35'/'2A2A2A'/gI' {}  \;
  find common -name "*" -type f -exec sed -i 's/'0F1116'/'111111'/gI' {}  \;

  # dark shell modal
  find common -name "*" -type f -exec sed -i 's/'323644'/'363636'/gI' {}  \;

  # dark gtk2 widgets
  find common -name "*" -type f -exec sed -i 's/'767B87'/'7B7B7B'/gI' {}  \;
  find common -name "*" -type f -exec sed -i 's/'5C616C'/'616161'/gI' {}  \;
  find common -name "*" -type f -exec sed -i 's/'444A58'/'4A4A4A'/gI' {}  \;
  find common -name "*" -type f -exec sed -i 's/'3E4351'/'434343'/gI' {}  \;
  find common -name "*" -type f -exec sed -i 's/'3E434F'/'434343'/gI' {}  \;
  find common -name "*" -type f -exec sed -i 's/'383C4A'/'3C3C3C'/gI' {}  \;
  find common -name "*" -type f -exec sed -i 's/'262934'/'292929'/gI' {}  \;
  find common -name "*" -type f -exec sed -i 's/'2E3340'/'333333'/gI' {}  \;
  find common -name "*" -type f -exec sed -i 's/'2D303B'/'303030'/gI' {}  \;
  find common -name "*" -type f -exec sed -i 's/'2B2E39'/'2E2E2E'/gI' {}  \;
  find common -name "*" -type f -exec sed -i 's/'262934'/'292929'/gI' {}  \;