Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Appearence Enhancements #1111

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

Pharmaracist
Copy link
Contributor

@Pharmaracist Pharmaracist commented Feb 11, 2025

  • Adds wallpaper selector and thumbnail generator that blind perfictly with the system
  • Multi Lingual WS Indicator
  • Transforming the entire Color generation for Matugen for better yet more flexible mechanism

SS :
image

Credits : @sh1zicus for the awesome Work with the wallselector

@end-4
Copy link
Owner

end-4 commented Feb 11, 2025

are you sure you're only adding a wallpaper selector? because im seeing a hella lot of other stuff, like japanese style workspace indicators and you commeneted out cheatsheet module

@Pharmaracist
Copy link
Contributor Author

when first used ur config i got keybinds error so i didnt bother to fix it just commented the line + i intended to make another pr for the unicode support for the workspaces where it support multiple languages natively not just 10 char currently supporting

  • thai
  • arabic
  • normal "english"
  • japanese
  • chinese
  • idk

@clsty
Copy link
Collaborator

clsty commented Feb 11, 2025

when first used ur config i got keybinds error so i didnt bother to fix it just commented the line

Did you mean cheatsheet error?

While I should admit that your work is cool and valuable, you should not just comment functional things (e.g. cheatsheet, music control) out, else we can not accept the PR, as we can not accept functional loss for insufficient reason.

@clsty
Copy link
Collaborator

clsty commented Feb 11, 2025

are you sure you're only adding a wallpaper selector? because im seeing a hella lot of other stuff, like japanese style workspace indicators and you commeneted out cheatsheet module

And yes, here's the problem. @Pharmaracist this PR has its content mismatching with the title. And you've already have another opened PR doing another lots of modifications...

@Pharmaracist
Copy link
Contributor Author

when first used ur config i got keybinds error so i didnt bother to fix it just commented the line

Did you mean cheatsheet error?

While I should admit that your work is cool and valuable, you should not just comment functional things (e.g. cheatsheet, music control) out, else we can not accept the PR, as we can not accept functional loss for insufficient reason.

i forgot to uncomment that so i want to know first if you really need the hyprland_level transparency toggle or not so i can commit it

@Pharmaracist
Copy link
Contributor Author

are you sure you're only adding a wallpaper selector? because im seeing a hella lot of other stuff, like japanese style workspace indicators and you commeneted out cheatsheet module

And yes, here's the problem as @Pharmaracist this PR is with wrong title. And you've already have another opened PR doing another lots of modifications...

i can close the other one for to be one pr at a time

@Pharmaracist Pharmaracist changed the title Wallpaper selector Appearence Enhancements Feb 11, 2025
@Pharmaracist
Copy link
Contributor Author

ill make another pr since the tweaks arent applied after changing the title idk that much about gh

@Pharmaracist
Copy link
Contributor Author

so for the musiccontrol it still works for me but the old py implementation thing idk what it was doing but we can use pywal separately for it since we really dont rely on it for everthing now but this will be at the cost of some interference with pywalfox since matugen patches it by masking

@Pharmaracist
Copy link
Contributor Author

and i made the
image
dynamic resources friendly cava service + implemented it with music controls kinda similer to the knovel knocks setup and can be adjusted by vpack

@Pharmaracist
Copy link
Contributor Author

so i made some very useful edits were now if you add / remove any images it auto generate /remove it and its thumbnail ill update the PR soon

Copy link
Owner

@end-4 end-4 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Partial review]

  • This is just a gigantic block of changes that I don't yet fully understand and I'm not ready to merge yet

Files I haven't checked

  • .config/ags/scripts/color_generation/applycolor.sh
  • .config/ags/scripts/color_generation/colorgen.sh
  • .config/ags/scripts/color_generation/randomwall.sh
  • .config/ags/scripts/color_generation/switchcolor.sh
  • .config/ags/scripts/color_generation/switchwall.sh
  • .config/matugen/config.toml
  • .config/matugen/templates/ags.scss
  • .config/matugen/templates/colors.scss
  • .config/matugen/templates/colors.ini
  • .config/matugen/templates/foot.json
  • .config/matugen/templates/fuzzel.ini
  • .config/matugen/templates/gradience.json
  • .config/matugen/templates/gtk-colors.css
  • .config/matugen/templates/hyprland-colors.conf
  • .config/matugen/templates/hyprlock.conf

@@ -165,7 +181,11 @@ const WorkspaceContents = (count = 10) => {
else
cr.setSourceRGBA(inactivecolors.red, inactivecolors.green, inactivecolors.blue, inactivecolors.alpha);

layout.set_text(`${i + offset}`, -1);
// Convert number to selected style
const numberStyle = userOptions.workspaces.style || 'arabic';
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

arabic

@@ -0,0 +1,86 @@
{
"name": "Pharmaracism Theme",
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do you mind changing the name? i don't care about politics and stuff that might be called "politics"
wtf is politics now
i hate politics
ughhhh

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

np

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you send a screenshot of how this looks like

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this file to be filled in by the wallpaper switcher? if so isn't it a better idea to store it in xdg state dir?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think its not even needed we just use current_wallpaper.txt and colormode.txt where both are in the state dir this might be by accedent

- wallselect now uses rem instead of px
- return cheatsheet
- defaulting ws mode to "normal"
- changing the leftover vibrant mode because its making matugen errors
- add the rest of the color variables in the template
@Pharmaracist
Copy link
Contributor Author

done ✅

@@ -35,7 +35,7 @@

.generate-thumbnails {
padding: 0.5rem 1rem;
border-radius: 9999px;
border-radius: 624.9375rem;
Copy link
Owner

@end-4 end-4 Feb 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not this lmao
if its a circle just leave it as 9999px

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i made it w ai lol

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

deepseek aint playin mind games

@end-4
Copy link
Owner

end-4 commented Feb 15, 2025

so for the musiccontrol it still works for me but the old py implementation thing idk what it was doing but we can use pywal separately for it since we really dont rely on it for everthing now but this will be at the cost of some interference with pywalfox since matugen patches it by masking

hmm
material > pywal for readability
can we use matugen for it? can matugen run with a separate configuration so it doesn't mess with the non-music stuff?

@Pharmaracist
Copy link
Contributor Author

yes we can specify certain toml file for it

@Pharmaracist
Copy link
Contributor Author

the only conflicting thing here with the pywal is pywalfox we can disable this or redirect pywalfox for other output_path

@end-4
Copy link
Owner

end-4 commented Feb 15, 2025

oh right
i don't really care about pywalfox, but maybe ill just remove the mixing with pywal part for the music controls to simplify things. not today, later when i actually take a look at matugen stuff

@Pharmaracist
Copy link
Contributor Author

ill also try to find a workaround without sacrificing pywalfox for the folks using firefox "using firefox w gtk is pure pain"

@Pharmaracist
Copy link
Contributor Author

Pharmaracist commented Feb 20, 2025

so for the wallselect module it had some problems

  • it needs to manually generate thumbnails then restart ags can get around this by seetting glib watcher but why ?
  • it its very resources heavy the more images u get the more ram/cpu it will need

Steps to Fix

  • using pixbuf to load the image with different modes
  • auto caching through the native glib/gio apis
  • add different preview qualities cuz not every user has 4090 --actually idk if gpu acceleration actually appliable on ags if it does it will be much esier tasks
  • async image loading
  • uses lazy loading / pages approach
  • maybe moving the whole colorscheme module to be with the wallselect and be like an appearance panel or sth

@end-4
Copy link
Owner

end-4 commented Feb 23, 2025

huh
i havent tested this, how much more resource it use

@enessmr

This comment has been minimized.

@end-4
Copy link
Owner

end-4 commented Feb 25, 2025

@enessmr please do not leave personal comments that do not contribute to the issue/commit you comment on

@enessmr
Copy link

enessmr commented Mar 7, 2025

image
error loading wallpapers everytime
@Pharmaracist can you fix it

with wallpaper also:
image
it still same

@Pharmaracist
Copy link
Contributor Author

Generate thumbs first

@enessmr
Copy link

enessmr commented Mar 7, 2025

Generate thumbs first

@Pharmaracist Still the same after

@Pharmaracist
Copy link
Contributor Author

pass the logs and make sure that imagemagick is installed

@enessmr
Copy link

enessmr commented Mar 9, 2025

(com.github.Aylur.ags:1300644): Gjs-WARNING **: 14:59:42.515: Unhandled promise rejection. To suppress this warning, add an error handler to your promise chain with .catch() or a try-catch block around your await expression. Stack trace of the failed promise:
_init/GLib.MainLoop.prototype.runAsync/</<@resource:///org/gnome/gjs/modules/core/overrides/GLib.js:263:34

huh
thats when i generate thumbs and


󰉋 ~  🐍v2.7.18 
🞈 imagemagick
^C⏎                                                                                                
󰉋 ~  🐍v2.7.18 
🞈 yay -S imagemagick
Sync Dependency (1): imagemagick-7.1.1.44-1
[sudo] password for hyprlanduser: 
uyarı: imagemagick-7.1.1.44-1 güncel -- yeniden kuruluyor
paket bağımlılıkları çözümleniyor...
varsa paketler arası çakışmalara bakılıyor...

Paketler (1) imagemagick-7.1.1.44-1

Toplam İndirme Boyutu:   8,67 MiB
Toplam Kurulum Boyutu:  23,07 MiB
Güncelleme Boyutu:       0,00 MiB

:: Kuruluma onay veriyor musunuz? [E/h] e
:: Paketler alınıyor...
 imagemagick-7.1.1.44-1-x86_64    8,7 MiB  17,0 MiB/s 00:01 [################################] 100%
(1/1) anahtarlıktaki anahtarlar kontrol ediliyor            [################################] 100%
(1/1) paket bütünlüğü kontrol ediliyor                      [################################] 100%
(1/1) paket dosyaları yükleniyor                            [################################] 100%
(1/1) dosya çakışmaları kontrol ediliyor                    [################################] 100%
(1/1) disk alanı kontrol ediliyor                           [################################] 100%
:: Paket değişiklikleri işleniyor...
(1/1) tekrar kuruluyor imagemagick                          [################################] 100%
:: Bağlantılı işlemler listesi çalışıyor...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Checking for old perl modules...

󰉋 ~  🐍v2.7.18 
🞈 imagemagick
fish: Unknown command: imagemagick

󰉋 ~  🐍v2.7.18 
🞈 

@Pharmaracist any other deps? available fixes?????

I still use python 2.7.18 due to android deploys i make for p4wifi when i use 3 the syntax is different and it gives error

I also use pyenv but thats temporary

for proof (that gjs warnings are everytime it tries to generate thumbs)
image

@enessmr

This comment was marked as outdated.

@enessmr

This comment was marked as off-topic.

@enessmr
Copy link

enessmr commented Mar 9, 2025

wait the fuc-
image

@enessmr
Copy link

enessmr commented Mar 9, 2025

@Pharmaracist where is the script?

@enessmr
Copy link

enessmr commented Mar 9, 2025

@Pharmaracist Is this the same script you use?

#!/bin/bash

# Directories
WALLPAPER_DIR="${HOME}/Pictures/Wallpapers"
THUMBNAIL_DIR="${WALLPAPER_DIR}/thumbnails"

# Create the thumbnails directory if it doesn't exist
mkdir -p "${THUMBNAIL_DIR}"

# Iterate over image files in the wallpaper directory
find "${WALLPAPER_DIR}" -maxdepth 1 -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" -o -iname "*.gif" -o -iname "*.webp" -o -iname "*.tga" -o -iname "*.tiff" -o -iname "*.bmp" -o -iname "*.ico" \) | while read -r image; do
    filename=$(basename "${image}")
    thumbnail="${THUMBNAIL_DIR}/${filename}"

    # Check if thumbnail already exists
    if [[ -f "${thumbnail}" ]]; then
        echo "Thumbnail already exists for ${filename}, skipping..."
        continue
    fi

    # Generate thumbnail using ImageMagick
    convert "${image}" -resize 200x200 "${thumbnail}"
    echo "Thumbnail created for ${filename}"
done

@enessmr
Copy link

enessmr commented Mar 9, 2025

huh, wallpaper widget cant scroll

recording_2025-03-09_18.23.51.mp4

@sh1zicus
Copy link

huh, wallpaper widget cant scroll

recording_2025-03-09_18.23.51.mp4

scrolling should work in my dots

@enessmr
Copy link

enessmr commented Mar 12, 2025

huh, wallpaper widget cant scroll

recording_2025-03-09_18.23.51.mp4

scrolling should work in my dots

im using pharmacist fork

@enessmr
Copy link

enessmr commented Mar 12, 2025

  • add different preview qualities cuz not every user has 4090 --actually idk if gpu acceleration actually appliable on ags if it does it will be much esier tasks

i have a 1060 3gb and it loads instantly my gpu does not struggle that much even its from 2016 (end-4 should compile lineageos soon)

@enessmr
Copy link

enessmr commented Mar 12, 2025

ill also try to find a workaround without sacrificing pywalfox for the folks using firefox "using firefox w gtk is pure pain"

Pywalfox is PURE PAIN. literally. Even you use pywal you have to configure sequences to make it work.

you cant? you need a extenion that acsesses the wallpaper thing on ur system then applies like pywalfox
Matugen looks not possible
Wait the extension could apply this sequence to sequences then pywalfox reads it then boo oo o o o m you have it

@enessmr
Copy link

enessmr commented Mar 12, 2025

I have managed to fix this shitty scroll issue via the Tab key on keyboards

Button hover does not real work...

@enessmr
Copy link

enessmr commented Mar 12, 2025

dont ask me why im using chrome firefox doesnt save my passwords ( i use arkenfox user.js BTW)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants