dots-hyprland icon indicating copy to clipboard operation
dots-hyprland copied to clipboard

Appearence Enhancements

Open PharmaRacist opened this issue 9 months ago • 40 comments

  • 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

PharmaRacist avatar Feb 11 '25 15:02 PharmaRacist

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

end-4 avatar Feb 11 '25 19:02 end-4

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

PharmaRacist avatar Feb 11 '25 20:02 PharmaRacist

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 avatar Feb 11 '25 23:02 clsty

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...

clsty avatar Feb 11 '25 23:02 clsty

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 avatar Feb 11 '25 23:02 PharmaRacist

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 avatar Feb 11 '25 23:02 PharmaRacist

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

PharmaRacist avatar Feb 12 '25 00:02 PharmaRacist

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 avatar Feb 12 '25 00:02 PharmaRacist

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 avatar Feb 12 '25 00:02 PharmaRacist

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

PharmaRacist avatar Feb 15 '25 16:02 PharmaRacist

done ✅

PharmaRacist avatar Feb 15 '25 18:02 PharmaRacist

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?

end-4 avatar Feb 15 '25 19:02 end-4

yes we can specify certain toml file for it

PharmaRacist avatar Feb 15 '25 19:02 PharmaRacist

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

PharmaRacist avatar Feb 15 '25 19:02 PharmaRacist

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

end-4 avatar Feb 15 '25 19:02 end-4

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

PharmaRacist avatar Feb 15 '25 19:02 PharmaRacist

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

  • [x] using pixbuf to load the image with different modes
  • [x] auto caching through the native glib/gio apis
  • [x] 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
  • [x] async image loading
  • [x] uses lazy loading / pages approach
  • [ ] maybe moving the whole colorscheme module to be with the wallselect and be like an appearance panel or sth

PharmaRacist avatar Feb 20 '25 11:02 PharmaRacist

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

end-4 avatar Feb 23 '25 09:02 end-4

oh my gosh OH MY GOSH.

Then somenone need to make a FULLY FUNCTIONING FILE PICKER. (I did, but its in miscutils and not m3 yet.) Also a EXIT THING (ex. trying to exit without saving some files in vscode) which.... you need to compile vscode yourself :P

enessmr avatar Feb 25 '25 12:02 enessmr

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

end-4 avatar Feb 25 '25 13:02 end-4

image error loading wallpapers everytime @Pharmaracist can you fix it

with wallpaper also: image it still same

enessmr avatar Mar 07 '25 20:03 enessmr

Generate thumbs first

PharmaRacist avatar Mar 07 '25 20:03 PharmaRacist

Generate thumbs first

@Pharmaracist Still the same after

enessmr avatar Mar 07 '25 20:03 enessmr

pass the logs and make sure that imagemagick is installed

PharmaRacist avatar Mar 09 '25 07:03 PharmaRacist

(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 avatar Mar 09 '25 12:03 enessmr

https://github.com/user-attachments/assets/07aad741-344e-44a3-80b0-f972714087cd

For proof of smth

enessmr avatar Mar 09 '25 12:03 enessmr

sry for bad quality :(

obs has some visual things that make it awful

its not like androids screen recorder from lineageos

enessmr avatar Mar 09 '25 12:03 enessmr

wait the fuc- image

enessmr avatar Mar 09 '25 12:03 enessmr

@Pharmaracist where is the script?

enessmr avatar Mar 09 '25 12:03 enessmr

@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 avatar Mar 09 '25 13:03 enessmr