Inlägg

Inlägg som eXpander_ har skrivit i forumet
Av eXpander_
Skrivet av llxt:

Hämtar du färger på samma sätt nu eller har du tagit fram något nytt? Kan du dela med dig?

Japp, det är på samma sätt, samma princip, förutom att jag inte dödar conky processer. Conky har en inbyggd funktion som refreshar sig själv när konfen ändras. Conky-versionen jag använder är 1.10.8.

Mitt script är baserad på existentiella lua-filer som triggas av Conkyn. Dessa lua-filer ändras så fort pywal ändrar färgkoderna. Då refreshas Conkyn. Man startar bara "start_conky.sh" och resten sköts automatiskt:

#start_conky.sh

#!/bin/sh ./refresh_conky.sh conky -c cpu.conf& conky -c ram.conf& while inotifywait -qqe modify $HOME/.cache/wal/colors.Xresources; do ./refresh_conky.sh ; done

#refresh_conky.sh

#!/bin/sh colors=`cat $HOME/.cache/wal/colors.Xresources | grep "*color" | tr -d "*:" | sed 's/ //g' | sed 's/#/="#/g' | sed ':a;N;$!ba;s/\n/"\n/g'` colors="${colors}\"" cat template/ram_template.lua | awk -v srch="COLORFIELD" -v repl="$colors" '{ sub(srch,repl,$0); print $0 }' > ram.lua cat template/cpu_template.lua | awk -v srch="COLORFIELD" -v repl="$colors" '{ sub(srch,repl,$0); print $0 }' > cpu.lua

Jag lovar jag lägger upp Conkyn på github när jag känner mig klar

Av eXpander_
Skrivet av llxt:

@eXpander_: Ser riktigt bra ut

Tack, men jag har hamnat i tillståndet, "Ska jag ha en cirkulär bakrund istället för en kvadratisk", "Ska jag göra linjerna tjockare", "äsch, jag gör om allting från början".

Det här kommer ta tid... men kul är det!

PS: Kom gärna själv med tips om du har något

Av eXpander_
Skrivet av llxt:

Det tycker jag ansolut du ska göra Kommer du på något enklare eller smartare sätt att hantera detta så får du gärna posta det här

Har redan påbörjat (nu när Corona härjar så är det ett ypperligt tillfälle att stanna hemma och Conka!). Tänkte skapa widgets som visar; MEM Usage, CPU Usage, Free space, Battery, CPU temp samt GPU temp. Här visar jag delar av conkyn som visar MEM och CPU Usage.

Det som är bra med denna script är att inget dödande av conkyn krävs, då conkyn refreshas automatiskt så fort conky-confen ändras. Rent tekniskt är det lua-koden som ändras, då all grafik är gjort i lua med Cairo Graphics. Dessutom använder jag senaste Conkyn som använder ett nytt format på konfigurationen.

Templatet av scripten kan dock användas för alla typer av Conky du vill köra, så borde vara lätt att anpassa till andra Conkys.

https://vimeo.com/396818789

Av eXpander_
Skrivet av DasIch:

Ptja, en större användarbas leder till bättre utveckling...

Oroa dig inte, det finns tillräckligt med utvecklare för Linux.

Det är inte utvecklingen det är fel på, det är smaken av Linux och hur operativsystemet är uppbyggd som inte passar in hos den stora massan.

Linux anpassar sig inte efter massan, den lever sitt eget liv.

Skål!

Av eXpander_

Men varför ska jag bry mig om den stora massan inte kör Linux? Varför ska vi försöka övertyga andra att köra Linux? Vad är poängen?

De som vill köra Linux, kommer i de flesta fall att köra Linux. Och när de frågar om hjälp, så finns vi till hands.

Av eXpander_

Jag siktade på 0/10, började så bra med fel hela tiden, sedan plötsligt svängde det upp till 4/10. Besviken!

Av eXpander_
Skrivet av llxt:

conky -c /home/master/conky/conky-right conky -c /home/master/conky/conky-top

edit: Det är alltså pywal som dödar övriga conky skript.

Om jag dödar conky_background_process.sh så kan jag köra pywal utan att mina skript dödas.

Det är inte pywal som dödar, utan conky_background_process.sh - scriptet när pywal ändras. Dubbelkolla att du verkligen kör den senaste conky_background_process.sh. Det fungerar hos mig när jag testar.

Iden att göra en conky som ändrar färg med pywal är intressant, tack för tipset. Något jag definitivt ska kika närmare på vid nästa conky-projekt.

Av eXpander_
Skrivet av llxt:

Den dödar fortfarande övriga conky skript

Det borde inte vara möjligt, hur startar du övriga conkys?

Av eXpander_
Skrivet av llxt:

@eXpander_: Då kanske man behöver ett skrips som kan köra flera conky skript åt gången?

Jag uppdaterade conky_background_process.sh till det här:

#!/bin/sh while inotifywait -qqe modify $HOME/.cache/wal/colors.Xresources; do kill $(ps aux | grep 'conky_wal.conf' | awk '{print $2}') ; /home/alexsson/Downloads/Conky/start_conky.sh ; done

Då borde enbart conkyn vi arbetat med dödas... prova och se om detta fungerar bättre.

Av eXpander_
Skrivet av llxt:

@eXpander_: Nu fungerar det
Visade sig att jag körde

sudo /home/master/conky/test2/conky_background_process.sh &

när jag igentligen skulle kört

home/master/conky/test2/conky_background_process.sh &

haha my bad

Tack så hemskt mycket för alla hjälp
Du borde slänga upp den på github. Finns nog fler som vill köra med något liknande

http://3.bp.blogspot.com/-9zaanRacyKw/TjNmk9pqZpI/AAAAAAAAABQ/Vzs0TuieBhA/s1600/I-love-you.jpg

Inga problem, kanske slänger upp en på github som är mera mogen. Kul att det fungerar!

Av eXpander_
Skrivet av llxt:

@llxt: Dock så märkte jag att den dödar alla andra conky skript som jag kör med när jag kör pywal.

edit: men det kanske inte har att göra med dessa skript

öh, den dödar ALLA conky-script haha, visste inte att du kör andra conky-script. Då får du döda den/de specifika conky-scripten som ska uppdateras.

Av eXpander_
Skrivet av llxt:

@eXpander_: När jag kör start_conky.sh får jag detta:

[master@laptop test2]$ conky: Syntax error (/home/master/conky/test2/conky_wal.conf:2: unexpected symbol near '#') while reading config file. conky: Assuming it's in old syntax and attempting conversion. conky: desktop window (1bf) is root window conky: window type - override conky: drawing to created window (0x3000001) conky: drawing to double buffer conky: Unknown setting 'color13' conky: Unknown setting 'color15' conky: Unknown setting 'color14' conky: Unknown setting 'color12' conky: Unknown setting 'color66' conky: Unknown setting 'color10' conky: Unknown setting 'max_specials' conky: Unknown setting 'color11' conky: forked to background, pid is 1119120

Men det kanske inte ska göra någon skillnad, eller?

Nope, får exakt samma fel-output. Men det borde inte spela någon roll.

Dessutom, så kör vi med en gammal version av conky-config. Men återigen, märkligt att det fungerar hos mig.

Av eXpander_
Skrivet av llxt:

Blev ingen skillnad. Känn ingen stress. Du har varit en fantastisk människa. Mycket tacksam.

Attans, jag får det att funka ju :(. Lägger upp en demonstrationsvideo.

Länk: https://vimeo.com/xexpanderx/review/394676370/4bd0eb99d7

Filerna jag kör med:

template_conky.conf

#!/usr/bin/conky -d -c ## .conkyrc configuration alignment top_left background yes cpu_avg_samples 2 double_buffer yes draw_borders no draw_graph_borders no draw_outline no draw_shades no gap_x 20 gap_y 60 max_specials 1024 max_user_text 10000 #maximum_width 180 #minimum_size 850 net_avg_samples 2 no_buffers yes override_utf8_locale yes own_window yes own_window_colour 000000 own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager own_window_transparent yes own_window_type override pad_percents 2 short_units yes stippled_borders 3 text_buffer_size 8000 total_run_times 0 update_interval 1.0 uppercase no use_spacer right use_xft yes xftalpha 0.75 xftfont sans:size=10 COLORFIELD TEXT ${font size=12,weight:bold}${color0}AAAA ${color1}AAAA ${color2}AAAA ${color3}AAAA ${color4}AAAA ${color5}AAAA ${color6}AAAA ${color7}AAAA ${color8}AAAA ${color9}AAAA

start_conky.sh

#!/bin/sh colors=`cat $HOME/.cache/wal/colors.Xresources | grep "*color" | tr -d "*:#"` cat /home/alexsson/Downloads/Conky/template_conky.conf | awk -v srch="COLORFIELD" -v repl="$colors" '{ sub(srch,repl,$0); print $0 }' > /home/alexsson/Downloads/Conky/conky_wal.conf conky -c /home/alexsson/Downloads/Conky/conky_wal.conf

conky_background_process.sh

#!/bin/sh while inotifywait -qqe modify $HOME/.cache/wal/colors.Xresources; do killall conky ; /home/alexsson/Downloads/Conky/start_conky.sh ; done

Jag vet inte riktigt varför det inte skulle fungera för dig

PS: Jag tycker sånt här är kul, alltid kul att hjälpa till :), men tack!

Av eXpander_
Skrivet av llxt:

Precis! Jag körde pywal. Inget hände.

Ser detta bra ut?

conky_background_process.sh

#!/bin/sh while inotifywait -qqe modify $HOME/.cache/wal/colors.Xresources; do killall conky ; /home/master/conky/test2/start_conky.sh ; done

start_conky.sh

#!/bin/sh colors=`cat $HOME/.cache/wal/colors.Xresources | grep "*color" | tr -d "*:#"` cat template_conky.conf | awk -v srch="COLORFIELD" -v repl="$colors" '{ sub(srch,repl,$0); print $0 }' > /home/master/conky/test2/conky_wal.conf conky -c /home/master/conky/test2/conky_wal.conf

Sedan kör jag :

/home/master/conky/test2/conky_background_process.sh &

Och sedan :

sh /home/master/conky/test2/start_conky.sh

Lägg till full pathway till template_conky.conf ; "cat template_conky.conf" i din start_conky.sh. Starta också start_conky.sh i bakgrunden genom att lägga till en ampersand (&).

Är inte hemma, men kommer testa själv när jag väl får tillfälle. Jag gissar på att det är något väldigt enkelt som spökar som vi inte ser...

Av eXpander_

Observera också att Conky refreshas enbart när du ändrar färgerna i pywal, inte i3.

Av eXpander_
Skrivet av llxt:

Det har jag
Såhär ser det ut:

#!/bin/sh while inotifywait -qqe modify $HOME/.cache/wal/colors.Xresources; do killall conky ; /home/master/conky/test2/start_conky.sh ; done

Samma sak i din start_conky.sh? Alla filer med full pahtways såsom konfigurationsfilen?
Ganska triviala saker men lätt hänt att detta är orsaken.

Av eXpander_
Skrivet av llxt:

@eXpander_: Nu dödas inte conky. Men färgen uppdateras inte. När jag refreshar i3 så byter den inte färg heller.

Haha, känns som att jag måste testa live själv.

Men se till att ha absoult pathways till dina script samt i scripten... återkommer när jag testat själv.

Av eXpander_
Skrivet av llxt:

@eXpander_: Nu fungerar det. Tack så oerhört mycket !

Dock så dödas conky när jag kör pywal. Så jag måste starta om skriptet manuelt. Någon lösning på det?

conky_background_process.sh ska alltså köras i bakgrunden;

conky_background_process.sh &

Bör fungera...

Av eXpander_
Skrivet av llxt:

@eXpander_: Tack!

Får dock detta när jag kör background_process.sh:

conky_background_process.sh: line 3: inotifywait: command not found

Något paket jag behöver installera?

Just ja, du behöver paketet inotify-tools:

sudo apt-get install inotify-tools

Av eXpander_

Ok, då har jag fått lite tid över att fundera över hur Conky ska refreshas när du uppdaterar pywal. Jag tänkte mig att en simpel kommando med inotifywait borde göra susen.

Vi kan skapa ett script till (conky_background_process.sh), som körs i bakgrunden hela tiden. Den skulle kunna se ut såhär;

#!/bin/sh while inotifywait -qqe modify $HOME/.cache/wal/colors.Xresources; do killall conky ; PATH_TO_YOUR/start_conky.sh ; done

Simple as that... du kör alltså ett script i bakgrunden som startar om conkyn så fort en modifikation av colors.Xresources sker. Tyvärr, kan jag inte komma på ett annat sätt att refresha Conkyn än att döda den nuvarande processen och starta om. Jag har ej testat conky_background_process.sh, men borde fungera. Obsevera i scriptet, att du bör modifiera scriptet så att pathway till start_conky.sh stämmer överens med ditt eget.