perilaku latar belakang conky yang aneh

9

Saya telah membuat custom conky yang menampilkan ramalan cuaca di 3 kota seperti ini: jenis jendela conky override1

Namun baru-baru ini saya mulai melihat perilaku aneh. Setelah beberapa detik, latar belakang putih yang sedikit lebih besar muncul di bawahnya seperti ini: jenis jendela conky override2

Saya telah berusaha untuk mengatasi ini dengan mencoba sejumlah perubahan pada file konfigurasi .conkyrc dan satu-satunya yang efektif adalah mengubah nilai own_window_type dari menimpa menjadi normal . Tapi kemudian saya tidak hanya menghilangkan kerucut ini ketika saya memilih untuk meminimalkan semua jendela, tetapi juga menampilkan latar belakang transparan dengan ukuran yang sama seperti ini:

jenis jendela conky normal

Pengaturan jendela conky saya seperti ini:

update_interval 1
total_run_times 0
cpu_avg_samples 1
net_avg_samples 1
no_buffers ya
double_buffer ya
imlib_cache_size 0

latar belakang ya
own_window ya
override own_window_type
own_window_transparent ya
own_window_hints tidak didekorasi, di bawah, lengket, skip_taskbar, skip_pager
minimum_ukuran 300 480
maksimum_width 300
perataan top_right
gap_x 2
gap_y 28

draw_borders no
draw_graph_borders no
stippled_borders 0
border_inner_margin 0
border_outer_margin 0
border_width 0

text_buffer_size 1024
override_utf8_locale ya
use_xft ya
xftfont Ubuntu: size = 10
xftalpha 1.0
huruf besar no
temperature_unit celsius
draw_shades no
draw_outline no
default_color C0C0C0
default_shade_color 000000
default_outline_color C0C0C0
color1 C0C0C0
color2 B2B2B2
color3 808080
color4 D4D4D4

TEKS
$ {image ~ / .conky / base.png -p 0,0 -s 300x480}

Adakah yang bisa tahu apa yang menyebabkan (dan bagaimana saya bisa mengatasinya) kanvas yang tidak diinginkan ini di bawah jendela kerucut saya?

Sadi
sumber

Jawaban:

8

SEBUAH):

Status .conkyrc Anda own_window yes. Ini berarti conky memiliki jendela sendiri. Dengan menyatakan own_window_type normaljendela diperintahkan untuk bertindak "normal". Dengan demikian, jendela kerucut akan serta jendela lainnya meminimalkan ketika opsi "Tampilkan desktop" digunakan.

B):

Apa yang membuat conky tetap pada tempatnya berubah own_window_type normalmenjadi own_window_type dock. Kelemahan dari metode ini adalah harus menempatkan conky di tempat yang tepat di desktop Anda lagi menggunakan celah x dan celah y. Celah x sekarang dihitung dari sisi kiri tepi desktop, bukan sisi kanan. Celah y masih dihitung dari atas. Jadi misalkan resolusi layar Anda adalah 1440x900 dan gap x dulu 2 dan maksimum conky adalah 300, gap x baru adalah 1440-300-2 = 1138

C):

Selain itu, untuk sepenuhnya kehilangan batas dok yang terlihat, ubah garis own_window_transparent yesdengan garis: own_window_argb_visual yesdan own_window_argb_value 0. Jika own_window_argb_valuediatur ke 255jendela conky tidak akan memiliki transparansi dan menjadi hitam.

Untuk pengaturan konfigurasi lebih lanjut:

http://conky.sourceforge.net/config_settings.html

jeroen
sumber
Terima kasih, tapi ... 1) Saran Anda kembali: transparansi juga menghilangkan gambar latar belakang saya, dan ikon cuaca berubah menjadi putih. 2) Saya akan mempertimbangkan kembali own_window_type walaupun ia juga memiliki kelemahan penentuan posisi ketika Anda mengganti monitor.
Sadi
Oke, solusi lain: Abaikan C. Di bawah B): edit baris kode ke own_window_type desktopdan coba. Saya tidak punya solusi untuk ikon putih. Conky sering kali mengutak-atik, misalnya menggunakan kode Anda tidak membuat gambar hilang di kotak saya. Mengubah monitor selalu mengubah penentuan posisi conky kecuali jika tidak ada perubahan dalam resolusi.
Jeroen
Sebelum bertanya di sini, saya mempelajari manual conky seperti tautan di atas, dan mencoba berbagai opsi "window_type" dengan hasil ini: conky (diminimalkan), desktop (sepenuhnya menghilang ketika desktop diklik dan tidak dapat dibawa kembali), dock (posisi default kiri atas , non-diminimalkan), normal (diminimalkan), menimpa (posisi default kanan atas, non-diminimalkan, latar belakang putih dari waktu ke waktu), panel (menyebabkan masalah persatuan yang serius). Jadi di antara semua DOCK ini tampaknya menjadi solusi terbaik untuk saat ini (seperti untungnya saya memiliki lebar simpan ketika saya mengganti monitor).
Sadi
Meskipun ini memecahkan masalah minimisasi sekunder , sayangnya pertanyaannya tetap terbuka, karena saya masih memiliki latar belakang yang tidak dapat dijelaskan. Sungguh aneh bahwa saya tidak memiliki latar belakang putih dalam mode "override" sampai saat ini , dan juga aneh bahwa latar semi-transparan dalam mode lain seperti "dock" tidak ada di sana pada awalnya, tetapi muncul ketika saya menambahkan lebih banyak kota ke kode awal. Mungkin saya tidak akan pernah tahu apa yang menyebabkan ini ;-)
Sadi
Ahem, sesuatu yang lain ... :-): Conky menggunakan "pseudo" -transparency, bukan jendela yang benar-benar "transparan". Ia membaca latar belakang jendela root, dan mengubah latar belakangnya sendiri ke bagian gambar yang ditemukannya. Beberapa Manajer Jendela atau Desktop menempatkan latar belakang mereka pada layer di atas jendela root. Untuk mengatasinya, Anda dapat menggunakan aplikasi seperti "fbsetbg" yang disertakan dengan fluxbox ( fluxbox.org ), atau "feh" ( linuxbrit.co.uk/feh ). Gunakan "feh" dari ~ / .xinitrc Anda: #!/bin/shbaris berikutnya: sleep 1 && feh --bg-center ~/background.png &ataufbsetbg -f /path/to/picture.jpg
jeroen
3

Saya telah menemukan solusi untuk bayangan yang tidak diinginkan di sini: http://linuxexchange.org/questions/821/how-to-avoid-ugly-compizgnome-shadow-for-conky

  1. Mulai Manajer Pengaturan CompizConfig
  2. Pilih Efek > Dekorasi Jendela
  3. Pergilah ke Bayangan jendela kotak dan setelah nilai setiap menambahkan &! (Class = Conky) untuk menerapkan aturan ini untuk semua jendela kecuali Conky

Ini sebenarnya merupakan solusi daripada solusi, karena mengapa Conky menggambar jendela yang lebih besar dari yang dibutuhkan masih tetap menjadi misteri bagi saya ;-)

  • Catatan: Mungkin ini juga membutuhkan penambahan baris ini ke file konfigurasi conky: own_window_class Conky

  • Catatan: Solusi untuk latar belakang hitam muncul selama beberapa menit di bawah Ubuntu 13.04 : tambahkan perintah untuk mengubah wallpaper desktop bolak-balik setelah perintah conky, misalnyasleep 5 && conky -c /home/user/.conkyrc && sleep 2 && gsettings set org.gnome.desktop.background picture-uri file:///home/user/Pictures/bckgrnd.jpg && gsettings set org.gnome.desktop.background picture-uri file:///home/user/Pictures/background.jpg

Sadi
sumber
1

Saya memiliki masalah yang sama persis pada 12.10 tetapi menemukan bahwa membuka panel atau terminal (yang saya set menjadi transparan) membuat latar belakang putih hilang. Menjengkelkan, tetapi sederhana untuk dipecahkan - Saya menganggap itu ada hubungannya dengan bagaimana layar menangani transparansi.

Baru saja mendapat 13,04, dan sekarang trik itu tidak berfungsi. Mengambilnya, saya sejauh ini membuat transparansi berfungsi jika saya mengatur yang berikut:

own_window yes
own_window_type dock
own_window_transparent yes

Satu-satunya downside adalah bahwa jendela Conky sekarang menyelaraskan diri ke kiri layar (dulu di sebelah kanan), jadi saya harus menggesernya dengan yang berikut:

alignment tr
gap_x 1120
gap_y 55

Mengganggu, ini berarti bahwa jika resolusi layar saya berubah (misalnya, saya sering memasang proyektor di tempat kerja), jendela Conky tidak akan ada di sana, tapi ini awal. Semoga ini membantu.

Lihatj500
sumber
Terima kasih, tetapi ini juga sangat mengganggu bagi saya, karena saya menggunakan laptop dan sering menghubungkan monitor eksternal yang lebih besar. Akibatnya, saya memutuskan untuk membuang Conky dan beralih ke Screenlets .
Sadi
Saya baru saja menemukan bahwa mengubah wallpaper desktop juga memaksa conky redraw transparansi palsu (seperti membuka panel atau terminal seperti yang Anda katakan). Maka mungkin perintah untuk mengubah wallpaper dieksekusi setelah conky mungkin melakukan trik ;-)
Sadi
1

Berikut adalah beberapa parameter yang saya gunakan:

override_utf8_locale yes
own_window no
own_window_colour 313131    # Black
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
#own_window_hints below,sticky,skip_taskbar,skip_pager
own_window_transparent no
own_window_type normal  ## normal

${image ~/BOX/conkybg1.png -p -50,-44 -s 380x500}

Saya punya masalah dengan gambar yang terlalu kecil. Saya baru saja mulai mengutak-atik parameter ukuran dan mulai bekerja.

Seperti yang Anda perhatikan own_windowdiatur ke no. Jika yes, maka gambar saya tidak akan berfungsi. Itu hanya berantakan. Ini mungkin atau mungkin tidak membantu Anda. Saya harap ini bisa membantu.

Marshall Neill
sumber
Terima kasih, tetapi sebaliknya desktop saya menjadi berantakan ketika saya mengaturnya menjadi "tidak" ;-) Perilaku aneh yang aneh ;-)
Sadi
0

Bagaimana dengan ini:

Pada file ~ / conkyrc temukan

own_window_type override

ganti untuk

own_window_type desktop

dan tambahkan

own_window_argb_visual yes

Itu berhasil untuk saya.

Damiao
sumber
Terima kasih tetapi setidaknya dalam kasus saya (Ubuntu 13.04 64-bit) mengubah nilai "own_window_type" menjadi "desktop" membuat jendela conky menghilang ketika Anda meninggalkan klik desktop, dan ini lebih buruk daripada melihat latar belakang hitam di belakang jendela conky untuk satu atau dua detik.
Sadi
Kamu benar. Lebih baik memiliki bidang itu dengan nilai "normal".
Damiao