Transparentny conky, a ikony na pulpicie

Wczoraj Oleq napisał kilka słów o conkym. A dzisiaj ja dokończę.

Niestety znanym problemem tego bardzo przyjemnego desktopowego monitora systemu jest jego problem z integracją z... pulpitem właśnie :). Otóż kiedy włączymy w .conkyrc opcję double_buffer (dzięki której, podczas odświeżania statystyk, conky przestaje mrugać) znikają z pulpitu wszystkie ikony.

Dlaczego tak się dzieje - nie wiem. I nie był pewien ktoś u kogo znalazłem rozwiązanie. Prawdopodobnie conky, tworząc swoje okno duplikuje tapetę i nakrywa nią cały pulpit. Rozwiązaniem tego problemu jest programik feh, użyty w ten o to sposób:

feh --bg-scale `dcop kdesktop KBackgroundIface currentWallpaper 1`

Kod ten wraz z kodem inicjalizującym conkiego można wrzucić do folderu ~/kde/Autostart/ - wtedy wszystko będzie się automatycznie uruchamiało podczas startu KDE.

Ps. Ważne jest takie o to ustawienie opcji own_window:

own_window yes
own_window_type dektop
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

Oleq się chwalił swoją konfiguracją, a teraz moja wraz ze screenem :) Conky

use_xft yes
background yes
xftfont Monospace:size=9
xftalpha 0.1
update_interval 1.5
total_run_times 0

double_buffer yes

alignment top_right

gap_x 25
gap_y 25
minimum_size 170 5

own_window yes
own_window_type dektop
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

default_color gray
defalut_shade_color black
border_margin 4
border_width 1

TEXT
${color white}$alignc$sysname $kernel on $machine
${color white}$alignc${exec whoami} @ $nodename

$hr

${color #777777}Date: ${color white}${time %A,%d %B}
${color #777777}Time: ${color white}${time %k:%M:%S}${alignr}${color}Uptime: ${color white}$uptime

$hr

${color #777777}CPU:${color white} ${cpu cpu1}% ${cpubar cpu1}
$cpugraph
${color #777777}RAM:${color white} $memperc%  $mem/$memmax $membar
${color #777777}Swap: ${color white}$swapperc% $swap/$swapmax ${swapbar}

$hr

${color #777777}Name              PID     CPU%   MEM%
${color white} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${color white} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${color white} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${color white} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}

$hr

${color #777777}Down:${color white} ${downspeed eth0} kb/s${color #777777}${offset 50}Up:${color white} ${upspeed eth0} kb/s
${color white}${downspeedgraph eth0 32,130} ${color white}${upspeedgraph eth0 32,130}

$hr

${color #777777}/ ${color white}${fs_used /}/${fs_size /}
${color white}${fs_bar /}
${color #777777}/home/ ${color white}${fs_used /home}/${fs_size /home}

Komentarze do notki “Transparentny conky, a ikony na pulpicie”

  1. Fipaj 

    15 giga na /home? O cholera, takiej ilości pornu to ja sobie nawet nie wyobrażam :D

    Swoją drogą Conky to bardzo ciekawa sprawa ;-) Zainteresowałeś mnie, a póki co - zerżnę konfigurację (już montuję własną! :D)

  2. warez 

    Conky rox, nie wiem co robilem na superkarambie.

  3. Fipaj 

    warez, to co powiesz o moim gDesklets...? :)

  4. Reinmar 

    @Fipaj - pornoli mam tylko 1GB :P

    @warez - ja właśnie szukałem czegoś, bo mi superkaramba się wieszała. I podsunął mi Oleq conkyego, który wymiata.

  5. rash 

    Conky mruga bo KDE natywnie zajmuje desktop (root window) X'ów. Większość środowisk tego nie robi.

  6. gabi 

    tja...
    :P

  7. eno 

    do tego moze wam sie przydac ten artykul http://briancarper.net/2006/08/05/transparent-conky-in-kde/ . U mnie byl problem jak naciskalem ikone, wtedy conky znikal.

  8. vmario 

    Nie ma czegoś takiego jak

    own_window_type dektop

    Jeżeli już, to raczej

    own_window_type desktop

    Jeżeli komuś to nie działa, niech spróbuje

    own_window_type normal

    albo po prostu zakomentuje tę linijkę, bo w przypadku błędnej wartości 'dektop' jest brana domyślna 'normal'.

    I niby wszystko działa, tak czy inaczej, ale problem pojawia się, gdy zechcemy użyć opcji "Przenikanie" z ustawień KDesktop (np. w celu wycieniowania zbyt jasnej tapety). Conky w powyższej konfiguracji ma skłonność wyświetlać pod sobą tapetę bez cieniowania. Należy go wtedy uruchamiać ze skryptu

    #!/bin/bash
    dcop kdesktop KBackgroundIface setBackgroundEnabled 0
    dcop kdesktop KBackgroundIface setBackgroundEnabled 1
    conky

    Gdyby to nie pomogło (a zapewne nie pomoże, jeżeli będziemy restartować conky w czasie pracy, np. podczas zmiany .conkyrc), należy zastosować ciut inną wersję

    #!/bin/bash
    conky &
    dcop kdesktop KBackgroundIface setBackgroundEnabled 0
    sleep 3
    dcop kdesktop KBackgroundIface setBackgroundEnabled 1

    'sleep 3' zapewnia opóźnienie, które pozwoli zareagować conky'emu. Wartość '3' to czas odświeżania 'update_interval' powiększony dla pewności o 1 sekundę.

    Ponadto w .conkyrc należy ustawić

    own_window_type override

Zostaw odpowiedź