Conky, Persediaan saya

Fecfactor meminta saya semalam untuk menerbitkan konfigurasi conky yang saya tunjukkan dalam tangkapan skrin di bawah

Seperti yang anda lihat, ini adalah sekitar 3 conkys, yang dilaksanakan melalui skrip, konfigurasi yang sama berdasarkan post ini diposting oleh pengguna Bruce M. di forum-forum dari Ubuntu-Ar dengan beberapa pengubahsuaian di conky surat, yang dalam kes saya adalah untuk Gmail.

Dalam catatan rujukan itu dijelaskan dengan sangat baik oleh Bruce, tetapi juga sebagai alat bantu ingatan bagi saya, saya akan menyalin langkah-langkah yang harus diikuti dan kod kesusahan saya bagi sesiapa yang memilikinya.

Sudah tentu kita perlu memasang conky, curl dan python supaya kita menaip konsol:

sudo apt-get pasang cony curl python

Punca cuaca.ttf dan anak panah.ttf di sini. Punca bulan.ttf di sini setelah dimuat turun, anda mesti menyalinnya ke / usr / share / fon

Mari buat skrip kami yang dipanggil ~. / Startconky

gksudo gedit ~ / .startconky

di dalam fail kosong kami tampalkan yang berikut

#! / Bin / Bash
tidur 0 & # 0 baik untuk Xfce - gunakan 20 hingga 30 untuk Gnome
conky -c ~ / Conky / conkymain &
#sleep 0 & # 0 baik untuk Xfce - gunakan 1 untuk Gnome
conky -c ~ / Conky / conkyforecast &
#sleep 0 & # 0 baik untuk Xfce - gunakan 1 untuk Gnome
conky -c ~ / Conky / conkymail &

Sekarang kita membuat fail conkymain dalam folder ~ / Conky, jika tidak kita mempunyai folder Conky, kita harus membuatnya.

gedit ~ / Conky / conkymain

Saya menggunakan fon Calibri, jika anda tidak memilikinya, ganti dengan apa sahaja yang anda mahukan.

Kami berpegang pada apa yang berikut

latar belakang No.
sendiri_window ya
sendiri_window_transparent ya
own_window_hints tidak dihiasi, di bawah, melekit, skip_taskbar, skip_pager
sendiri_window_warna hitam
double_buffer ya
use_spacer kiri
gunakan_xft ya
fon calibri: saiz = 9
xftfont calibri: saiz = 9
xftalpha 0.5
kemas kini_interval 5.0
huruf besar tidak # tetapkan ke ya jika anda mahu semua teks berada dalam huruf besar
sempadan_kepungan 3
sempadan_margin 9
lebar_ lebar 10
warna default_warna putih
default_outline_warna hitam
default_shade_color hitam
warna0 sian
warna1 cahaya biru
warna2 oren
warna3 kuning
gandum warna4
warna5 putih
warna6 putih
warna7 putih
warna8 putih
warna9 putih
penjajaran atas_ kanan # atau atas_kiri, bawah_kiri, bawah_kanan
jurang_x 10
jurang_y 35
text_buffer_size 128 # gunakan 1024 untuk ramalan
no_buffers ya # Kurangkan penyangga sistem fail dari memori terpakai?
draw_border no
draw_outline yes # menguatkan teks jika ya
draw_shades ya # warna hitam

TEXT
$ {font calibri: size = 12} $ {alignc} $ {color1} $ sysname $ kernel pada $ machine} $ color $ font
$ {font calibri: size = 12} $ {alignc} $ {color2} $ {exec whoami} @ $ nodename $ color $ font
$ {color0} $ {jam 1} $ warna
$ {font calibri: size = 20} $ {alignc} $ {time% H:% M} $ fon
$ {font calibri: size = 12} $ {color1} $ {alignc} $ {time% A,% d% b. % Y} $ warna $ fon
$ {color3} Waktu Masa: $ {alignr 2} $ uptime $ color
$ {color0} $ {jam 1} $ warna
$ {voffset 5} $ {color2} CPU: $ {alignc} $ color $ running_processes $ {color1} / $ color $ memproses $ {alignr 2} $ {color2} $ {cpubar cpu0 14,80} $ color
$ {color1} $ {voffset -16} $ {alignr 5} $ cpu% $ warna
$ {voffset 2} $ {color1} Purata Beban ($ {color3} Min $ {color1}): $ {alignr 2} $ {color3} 1: $ color $ {loadavg 1} $ {color3} 5: $ color $ {loadavg 2} $ {color3} 15: $ warna $ {loadavg 3}
$ {voffset 5} $ {color2} RAM: $ color $ mem $ {color2} / $ color $ memmax $ {alignr 2} $ {color2} $ {membar 14,80} $ warna
$ {color1} $ {voffset -16} $ {alignr 5} $ memperc% $ warna
$ {voffset 2} $ {color1} Buffered: $ color $ {buffers} $ {alignr 2} $ {color1} Cache: $ color $ {cached}
$ {voffset 5} $ {color2} SWAP: $ color $ swap $ {color2} / $ color $ {swapmax} $ {alignr 2} $ {color2} $ {swapbar 14,80} $ warna
$ {color1} $ {voffset -16} $ {alignr 5} $ swapperc%
$ {color0} $ {jam 1} $ warna
$ {voffset 5} $ {color2} Info HD $ {color1} - $ warna Percuma $ {color1} - Digunakan - $ {color2} Jumlah
$ {voffset 5} $ {color1} Root: $ color $ {fs_free_perc /}% $ {alignr 2} $ {fs_free /} $ {color2} / $ {color1} $ {fs_used /} $ color / $ {color2} $ {fs_size /} $ warna
$ {color1} Rumah: $ color $ {fs_free_perc / home / user}% $ {alignr 2} $ {fs_free / home / user} $ {color2} / $ {color1} $ {fs_used / home / user} $ color / $ {color2} $ {fs_size / home / user} $ warna
$ {color0} $ {jam 1} $ warna
$ {color1} Dari: $ color Buenos Aires, Argentina
$ {color1} Lat: $ {color2} 34 ° 35'S $ {color1} Panjang: $ {color2} 58 ° 21'W $ {color1} Alt: $ {color2} 25 m $ warna
$ {voffset 5} $ {color2} $ {font calibri: size = 12} hari ini: $ font $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –lokasi = ARBA0009 –datatype = CC} $ warna $ {alignr 2} $ {color1} ST: $ {color2} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = LT}
$ {color3} $ {font Weather: size = 50} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –lokasi = ARBA0009 –datatype = WF} $ font $ color
$ {alignr 50} $ {voffset -55} $ {font calibri: size = 25} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –lokasi = ARBA0009 –datatype = HT} $ font
$ {alignc 20} $ {voffset -30} $ {font Arrows: size = 20} $ {color4} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = BF} $ warna $ fon
$ {alignc 10} $ {voffset 5} $ {color4} Angin: $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = WS} $ warna
$ {color1} Kelembapan: $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = HM} $ {alignr 2} $ {color1} Kerpasan: $ {color3} $ { execi 3600 python ~ / Conky / scripts / conkyForecast.py –lokasi = ARBA0009 –datatype = PC} $ warna
$ {alignc} $ {color1} Tekanan: $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = BR} - $ {color3} $ {execi 3600 python ~ / Conky /scripts/conkyForecast.py –location = ARBA0009 –datatype = BD} $ warna
$ {color4} $ {jam} $ warna
$ {color1} Sunrise: $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = SR} $ {alignr 2} $ {color1} Matahari terbenam: $ {color3} $ { execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = SS} $ warna
$ {voffset 15} $ {color1} Bulan: $ {color4} $ {alignr 2} $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –lokasi = ARBA0009 –datatype = MP} $ warna
$ {voffset -20} $ {offset 80} $ {color4} $ {font moon phase: size = 20} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –lokasi = ARBA0009 –datatype = MF} $ font $ warna
$ {color0} $ {jam} $ warna
$ {voffset 5} $ {color2} IP: $ {alignc} $ color $ {addr eth0}
$ {color1} Turun: $ color $ {downspeed eth0} k / s $ {alignr 2} $ {color1} Naik: $ color $ {upspeed eth0} k / s
$ {color1} Jumlah: $ warna $ {totaldown eth0} $ {alignr 2} $ {color1} Jumlah: $ warna $ {totalup eth0}
$ {color1} Inbound: $ color $ {tcp_portmon 1 32767 count} $ {color1} Outbound: $ color $ {tcp_portmon 32768 61000 count} $ {alignr 2} $ {color1} Total: $ color $ {tcp_portmon 1 65535 count}
$ {voffset 5} $ {color2} Sambungan: $ color $ {tcp_portmon 32768 61000 count} $ {alignr 2} $ {color2} Perkhidmatan / Port $ color
$ {voffset 5} $ {tcp_portmon 32768 61000 rhost 0} $ {alignr 2} $ {tcp_portmon 32768 61000 rservice 0}
$ {tcp_portmon 32768 61000 rhost 1} $ {alignr 2} $ {tcp_portmon 32768 61000 rservice 1}
$ {tcp_portmon 32768 61000 rhost 2} $ {alignr 2} $ {tcp_portmon 32768 61000 rservice 2}
$ {tcp_portmon 32768 61000 rhost 3} $ {alignr 2} $ {tcp_portmon 32768 61000 rservice 3}
$ {tcp_portmon 32768 61000 rhost 4} $ {alignr 2} $ {tcp_portmon 32768 61000 rservice 4}
$ {tcp_portmon 32768 61000 rhost 5} $ {alignr 2} $ {tcp_portmon 32768 61000 rservice 5} $ warna

kami membuat fail ~ / Conky / conkyforecast

gedit ~ / Conky / conkyforecast

dan kami tampalkan yang berikut di dalamnya

latar belakang No.
sendiri_window ya
sendiri_window_transparent ya
own_window_hints tidak dihiasi, di bawah, melekit, skip_taskbar, skip_pager
sendiri_window_warna hitam
double_buffer ya
use_spacer kiri
gunakan_xft ya
fon calibri: saiz = 8
xftfont calibri: saiz = 8
xftalpha 0.5
kemas kini_interval 5.0
huruf besar tidak # tetapkan ke ya jika anda mahu semua teks berada dalam huruf besar
sempadan_kepungan 3
sempadan_margin 9
lebar_ lebar 10
warna default_warna putih
default_outline_warna hitam
default_shade_color hitam
warna0 sian
warna1 cahaya biru
warna2 oren
warna3 kuning
gandum warna4
warna5 putih
warna6 putih
warna7 putih
warna8 putih
warna9 putih
penjajaran bottom_left # atau top_left, bottom_left, bottom_right
jurang_x 10
jurang_y 35
text_buffer_size 1024 # gunakan 1024 untuk ramalan
no_buffers ya # Kurangkan penyangga sistem fail dari memori terpakai?
draw_border no
draw_outline yes # menguatkan teks jika ya
draw_shades ya # warna hitam

TEXT
$ {color4} $ {font calibri: size = 11} Ramalan Lanjutan $ font $ color
$ {color0} $ {jam} $ warna
$ {color4} $ {font calibri: size = 9} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –template = / home / user / Conky / scripts / myweather.template} $ font $ warna

kami membuat fail ~ / Conky / conkymail

gedit ~ / Conky / conkymail

kami tampalkan yang berikut ke dalam fail

latar belakang No.
sendiri_window ya
sendiri_window_transparent ya
own_window_hints tidak dihiasi, di bawah, melekit, skip_taskbar, skip_pager
sendiri_window_warna hitam
double_buffer ya
use_spacer kiri
gunakan_xft ya
fon calibri: saiz = 8
xftfont calibri: saiz = 8
xftalpha 0.5
kemas kini_interval 5.0
huruf besar tidak # tetapkan ke ya jika anda mahu semua teks berada dalam huruf besar
sempadan_kepungan 3
sempadan_margin 9
lebar_ lebar 10
warna default_warna putih
default_outline_warna hitam
default_shade_color hitam
warna0 sian
warna1 cahaya biru
warna2 oren
warna3 kuning
gandum warna4
warna5 putih
warna6 putih
warna7 putih
warna8 putih
warna9 putih
penjajaran bottom_left # atau top_left, bottom_left, bottom_right
jurang_x 565
jurang_y 35
text_buffer_size 128 # gunakan 1024 untuk ramalan
no_buffers ya # Kurangkan penyangga sistem fail dari memori terpakai?
draw_border no
draw_outline yes # menguatkan teks jika ya
draw_shades ya # warna hitam

TEXT
$ {font calibri: size = 11} $ {alignc} $ {color4} Gmail
$ {color0} $ {jam} $ warna
$ {font calibri: size = 11} $ {color4} Kami mempunyai $ {color3} $ {execi 300 python ~ / Conky / scripts / mail / conkyEmail.py} $ {color4} e-mel $ font

Kami membuat fail di ~ / Conky / scripts / conkyForecast.py (kita mesti membuat folder skrip)

gedit ~ / Conky / scripts / conkyForecast.py

#! / usr / bin / ular sawa
# - * - pengekodan: utf-8 - * -
################################################# #############################
# conkyForecast.py adalah skrip python (tidak begitu) mudah (lagi) untuk dikumpulkan
# perincian cuaca semasa untuk digunakan di conky.
#
# Pengarang: Kaivalagi
# Dicipta: 13/04/2008
# Pengubahsuaian:
# 14/04/2008 Benarkan julat hari untuk data ramalan
# 14/04/2008 Periksa kesambungan ke perkhidmatan xoap
# 18/04/2008 Benarkan pengaturan ruang untuk keluaran berkisar
# 18/04/2008 Benarkan output ramalan Malam dan Siang
# 18/04/2008 Menyokong tempat untuk pilihan teks kod keadaan «CC», menunggu terjemahan bahasa Sepanyol
# 18/04/2008 Gunakan penjerukan untuk data kelas daripada membuka xml, ini memotong keperluan untuk menyoal siasat data cache
# 19/04/2008 Ditambah teks keadaan Sepanyol - Terima kasih Bruce M
# 19/04/2008 Ditambah cek isnumerik pada semua output angka dengan akhiran unit
# 19/04/2008 Penamaan fail acar berubah untuk memasukkan kod lokasi
# 19/04/2008 Ditambahkan penukaran hari minggu Sepanyol melalui bahasa
# 20/04/2008 Menambah penghurai argumen perintah yang baik
# 20/04/2008 Ditambah - pilihan minggu pendek, jika diberi hari data jenis dipendekkan menjadi 3 aksara
# 21/04/2008 Memperbaiki pilihan tempat untuk output ramalan
# 21/04/2008 Ditambah –pilihan templat untuk membenarkan output tersuai menggunakan satu panggilan eksekutif 
# 21/04/2008 Menambah pilihan –hideunits untuk membuang, misalnya, mph dan C dari output
# 23/04/2008 Dihapus –pilihan pilihan dari templat, ini HARUS ditetapkan sebagai pilihan standard pada panggilan skrip dan tidak digunakan dalam file templat.
# 23/04/2008 Dibaca - pilihan khas untuk templat, membolehkan nilai metrik atau empayar bagi setiap jenis data. Perhatikan ketika menggunakan templat pilihan baris perintah tidak akan berfungsi.
# 23/04/2008 Output yang ditambahkan memberitahu pengguna jika lokasi yang diberikan buruk
# 24/04/2008 Penanganan yang ditambahkan tanpa sambungan, akan kembali ke data cache sekarang (ralat jika tidak ada cache). Uji coba dengan membuka xoap.weather.com
# 24/04/2008 Tetap penukaran Celsius ke fahrenheit
# 06/05/2008 Url yang dikemas kini digunakan setelah perkhidmatan web dikemas kini
# 09/05/2008 Keadaan semasa dan data ramalan gabungan digabungkan menjadi satu panggilan
# 09/05/2008 Menambah Matahari terbit dan terbenam pada jenis data, ini khusus untuk kedua-dua keadaan semasa dan data ramalan
# 09/05/2008 Menambahkan fasa bulan, pembacaan barometer dan deskripsi barometer pada jenis data, ini hanya khusus untuk keadaan semasa dan begitu juga N / A dalam output yang diramalkan
# 09/05/2008 Menambah penukaran unit untuk barometer dari mb ke inci (imperial)
# 09/05/2008 Teks keadaan Sepanyol yang dikemas kini - Terima kasih Bruce M
# 10/05/2008 Menambahkan data tempatan perancis - Terima kasih benpaka
# 12/05/2008 Menambah jenis data BF (font bearing) baru untuk memberikan watak anak panah (gunakan dengan huruf Arrow.ttf) dan bukannya output NSEW dari WD (arah angin)
# 12/05/2008 Keluaran WD yang dikemas kini sesuai dengan lokasi, kini menyokong bahasa inggeris dan sepanyol lalai - Terima kasih Bruce M
# 18/05/2008 Menambah jenis data MF (font bulan) baru untuk memberikan watak fon bulan (watak tidak betul dan belum ada fon khusus).
# 21/05/2008 Untuk keadaan semasa, pilihan –datatype = LT kini memaparkan suhu “terasa seperti” dan bukannya suhu semasa
#
# SEMUA:
# Gabungkan fail pkl ke dalam satu fail / kelas
# Tambahkan fon cuaca berdasarkan output fasa bulan berdasarkan data ikon bulan
# ??? Ada lagi keperluan di luar sana?

import sys, os, soket, urllib2, datetime, masa
dari minidom import xml.dom
dari import stat *
dari OptionParser import optparse
mengimport tempat
import gettext
acar import
dari import matematik *

APP = »conkyForecast.py»
DIR = os.path.dirname (__file__) + '/ lokal'
gettext.bindtextdomain (APP, DIR)
gettext.textdomain (APP)
_ = gettext.gettext

CommandLineParser kelas:

penghurai = Tiada

def __init __ (diri):

self.parser = OptionParser ()
self.parser.add_option («- l», »- location», dest = »location», default = »UKXX0103 ″, type =» string », metavar =» CODE », help = u» kod lokasi untuk data cuaca [ lalai:% lalai], Gunakan url berikut untuk menentukan kod lokasi anda mengikut nama bandar: http://xoap.weather.com/search/search?where=Norwich »)
self.parser.add_option ("- d", "- datatype", dest = "datatype", default = "HT", type = "string", metavar = "DATATYPE", help = u "[default:% default] Pilihan jenis data adalah: DW (Hari Dalam Minggu), WF (Output Font Cuaca), LT (Ramalan: Suhu Rendah, Semasa: Terasa Seperti Temp), HT (Ramalan: Suhu Tinggi, Arus: Suhu Semasa)), CC (Semasa Keadaan), CT (Teks Kondisi), PC (Peluang Kerpasan), HM (Kelembapan), WD (Arah Angin), WS (Kelajuan Angin), WG (Tiupan Angin), CN (Nama Bandar), SR (matahari terbit), SS (matahari terbenam), MP (fasa bulan), MF (fon bulan), BR (bacaan barometer), BD (keterangan barometer). Tidak berlaku pada baris perintah ketika menggunakan templat. »)
self.parser.add_option («- s», »- startday», dest = »startday», type = »int», metavar = »NOMBOR», help = u »tentukan nombor hari permulaan, jika dilupakan keadaan semasa . Tidak berlaku pada baris perintah ketika menggunakan templat. »)
self.parser.add_option ("- e", "- endday", dest = "endday", type = "int", metavar = "NUMBER", help = u "tentukan nombor hari akhir, jika dihilangkan hanya data hari permulaan adalah output. Tidak boleh digunakan pada baris perintah ketika menggunakan templat.
self.parser.add_option («- S», »- spasi», dest = »spasi», taip = »int», default = 1, metavar = »NOMBOR», help = u »[default:% default] Mendefinisikan bilangan ruang antara keluaran berkisar. Tidak berlaku pada baris perintah ketika menggunakan templat. »)
self.parser.add_option («- t», »- template», dest = »template», type = »string», metavar = »FILE», help = u »mentakrifkan fail templat untuk menghasilkan output dalam satu panggilan. item yang dapat dipaparkan dalam fail adalah dalam bentuk {–datatype = HT –startday = 1}. Berikut adalah kemungkinan pilihan dalam setiap item: –datatype, –startday, –endday, –night, –shortweekday, –imperial, –hideunits, –Spaces. Perhatikan bahawa bentuk pendek pilihan tidak disokong pada masa ini!
self.parser.add_option («- L», »- locale», dest = »locale», type = »string», help = u »menggantikan lokasi sistem untuk output bahasa (en = bahasa inggeris, es = spanyol, fr = perancis, lebih banyak lagi yang akan datang) »)
self.parser.add_option ("- i", "- imperial", dest = "imperial", default = False, action = "store_true", help = u "request unit imperial, jika output yang diabaikan adalah dalam metrik. Tidak berkenaan pada baris arahan semasa menggunakan templat. »)
self.parser.add_option («- n», »- night», dest = »night», default = False, action = »store_true», help = u »menukar output ke data malam, jika dihilangkan output hari akan menjadi output. Tidak berlaku pada baris perintah ketika menggunakan templat. »)
self.parser.add_option («- w», »- shortweekday», dest = »shortweekday», default = False, action = »store_true», help = u »Memendekkan jenis data hari minggu kepada 3 aksara. Tidak berkenaan pada baris arahan semasa menggunakan templat. »)
self.parser.add_option («- u», »- hideunits», dest = »hideunits», default = False, action = »store_true», help = u »Sembunyikan unit seperti mph atau C, simbol darjah (°) adalah masih ditunjukkan. Tidak boleh digunakan pada baris perintah ketika menggunakan templat. »)
self.parser.add_option ("- v", "- verbose", dest = "verbose", default = False, action = "store_true", help = u "request output verbose, tidak ada idea yang baik ketika melalui conky!" )
self.parser.add_option ("- r", "- refetch", dest = "refetch", default = False, action = "store_true", help = u "ambil data tanpa mengira luput data")

def parse_args (diri):
(pilihan, args) = self.parser.parse_args ()
kembali (pilihan, argumen)

def print_help (diri):
kembalikan diri.parser.print_help ()

WeatherData kelas:
def __init __ (diri, day_of_week, rendah, tinggi, condition_code, condition_text, curah, kelembapan, angin_dir, kelajuan angin, angin_gusts, kota, matahari terbit, matahari terbenam, moon_phase, moon_icon, bar_read, bar_desc):
self.day_of_week = u »» + hari_of_week
self.low = u »» + rendah
self.high = u »» + tinggi
self.condition_code = u »» + condition_code
self.condition_text = u »» + condition_text
self.precip = u »» + mendakan
self.humidity = u »» + kelembapan
self.wind_dir = u »» + angin_dir
self.wind_speed = u »» + kelajuan angin
self.wind_gusts = u »» + angin_gusts
self.city = u »» + bandar
self.sunrise = u »» + matahari terbit
self.sunset = u »» + matahari terbenam
self.moon_phase = u »» + moon_phase
self.moon_icon = u »» + moon_icon
self.bar_read = u »» + bar_read
self.bar_desc = u »» + bar_desc

WeatherText kelas:

syarat_teks = {
«0»: _ (u »Tornado»),
«1»: _ (u »Badai Tropika»),
«2»: _ (u »Taufan»),
«3»: _ (u »Ribut Petir yang teruk»),
«4»: _ (u »Ribut Petir»),
«5»: _ (u »Hujan dan Salji Campuran»),
«6»: _ (u »Campuran Hujan dan Sleet»),
«7»: _ (u »Kerpasan Campuran»),
«8»: _ (u »Gerimis Pembekuan»),
«9»: _ (u »Gerimis»),
«10»: _ (u »Hujan Pembekuan»),
«11»: _ (u »Pancuran»),
«12»: _ (u »Pancuran»),
«13»: _ (u »Snow Flurries»),
«14»: _ (u »Hujan Salji Ringan»),
«15»: _ (u »Meniup Salji»),
«16»: _ (u »Salji»),
«17»: _ (u »Salam»),
«18»: _ (u »Sleet»),
«19»: _ (u »Debu»),
«20»: _ (u »Kabut»),
«21»: _ (u »Jerebu»),
«22»: _ (u »Asap»),
«23»: _ (u »Blustery»),
«24»: _ (u »Berangin»),
«25»: _ (u »Sejuk»),
«26»: _ (u »Mendung»),
«27»: _ (u »Selalunya Mendung»),
«28»: _ (u »Selalunya Mendung»),
«29»: _ (u »Sebagian Mendung»),
«30»: _ (u »Sebagian Mendung»),
«31»: _ (u »Kosongkan»),
«32»: _ (u »Kosongkan»),
«33»: _ (u »Adil»),
«34»: _ (u »Adil»),
«35»: _ (u »Hujan dan Hujan Campuran»),
«36»: _ (u »Panas»),
«37»: _ (u »Ribut Petir Terpencil»),
«38»: _ (u »Ribut Ribut Petir»),
«39»: _ (u »Ribut Ribut Petir»),
«40»: _ (u »Hujan Berselerak»),
«41»: _ (u »Salji Berat»),
«42»: _ (u »Hujan Salji Berselerak»),
«43»: _ (u »Salji Berat»),
«44»: _ (u »Sebagian Mendung»),
«45»: _ (u »Hujan Petir»),
«46»: _ (u »Hujan Salji»),
«47»: _ (u »Ribut Petir Terpencil»),
«Na»: _ (u »T / A»),
"-": _ (a ")
}

syarat_teks_es = {
«0»: _ (u »Tornado»),
«1»: _ (u »Badai Tropika»),
«2»: _ (u »Huracá¡n»),
«3»: _ (u »Ribut kuat»),
«4»: _ (u »Ribut»),
«5»: _ (u »Hujan dan Salji Campuran»),
«6»: _ (u »Campuran Hujan dan Sleet»),
«7»: _ (u »Sleet»),
«8»: _ (u »Gerimis Pembekuan»),
«9»: _ (u »Gerimis»),
«10»: _ (u »Hujan Pembekuan»), # atau hujan beku
«11»: _ (u »Pancuran»),
«12»: _ (u »Pancuran»),
«13»: _ (u »Salji Ringan»),
«14»: _ (u »Salji Ringan»),
«15»: _ (u »Snow Blizzard»),
«16»: _ (u »Salji»),
«17»: _ (u »Salam»),
«18»: _ (u »Sleet»),
«19»: _ (u »Serbuk»),
«20»: _ (u »Kabut»),
«21»: _ (u »Jerebu»),
«22»: _ (u »Asap»),
«23»: _ (u »Tempest»),
«24»: _ (u »Berangin»),
«25»: _ (u »Fráo»),
«26»: _ (u »Sangat Mendung»),
«27»: _ (u »Selalunya Mendung»),
«28»: _ (u »Selalunya Mendung»),
«29»: _ (u »Sebagian Mendung»),
«30»: _ (u »Sebagian Mendung»),
«31»: _ (u »Kosongkan»),
«32»: _ (u »Kosongkan»),
«33»: _ (u »Sesuatu yang Mendung»),
«34»: _ (u »Sesuatu yang Mendung»),
«35»: _ (u »Hujan dengan Hujan»),
«36»: _ (u »Panas»),
«37»: _ (u »Ribut Terpencil»),
«38»: _ (u »Ribut Berselerak»),
«39»: _ (u »Ribut Berselerak»),
«40»: _ (u »Hujan Berselerak»),
«41»: _ (u »Salji Berat»),
«42»: _ (u »Salji Salji Lemah dan Tersebar»),
«43»: _ (u »Intensif Nevada»),
«44»: _ (u »Awan Tersebar»),
«45»: _ (u »Ribut»),
«46»: _ (u »Salji Salji Tersebar»),
«47»: _ (u »Ribut Terpencil»),
«Na»: _ (u »T / A»),
"-": _ (a ")
}

syarat_teks_fr = {
«0»: _ (u »Tornade»),
«1»: _ (u »Tempête Tropicale»),
«2»: _ (atau »Ouragan»),
«3»: _ (atau »Orages Violents»),
«4»: _ (atau »Orageux»),
«5»: _ (u »Pluie et Neige»),
«6»: _ (u »Pluie et Neige Mouillée»),
«7»: _ (u »avers avc averses»),
«8»: _ (u »Givrante Asli»),
«9»: _ (u »Asli»),
«10»: _ (u »Pluie Glacante»),
«11»: _ (u »Averses»),
«12»: _ (u »Averses»),
«13»: _ (u »Légère Neige»),
«14»: _ (u »Forte Neige»),
«15»: _ (u »Tempête de Neige»),
«16»: _ (u »Neige»),
«17»: _ (u »Grêle»),
«18»: _ (u »Pluie / Neige»),
«19»: _ (u »Nuage de poussière»),
«20»: _ (u »Brouillard»),
«21»: _ (u »Brume»),
«22»: _ (u »Fumée»),
«23»: _ (u »Tres Venteux»),
«24»: _ (u »Venteux»),
«25»: _ (u »Froid»),
«26»: _ (u »Nuageux»),
«27»: _ (u »Tres Nuageux»),
«28»: _ (u »Tres Nuageux»),
«29»: _ (u »Nuages ​​Disséminés»),
«30»: _ (u »Nuages ​​Disséminés»),
«31»: _ (u »Beau»),
«32»: _ (u »Beau»),
«33»: _ (u »Belles Éclaircies»),
«34»: _ (u »Belles Éclaircies»),
«35»: _ (u »Pluie avec Grêle»),
«36»: _ (u »Chaleur»),
«37»: _ (atau »Orages Isolés»),
«38»: _ (atau »Orages Localisés»),
«39»: _ (atau »Orages Localisés»),
«40»: _ (u »Averses Localisées»),
«41»: _ (u »Neige Lourde»),
«42»: _ (u »Tempête de Neige Localisées»),
«43»: _ (u »Neige Lourde»),
«44»: _ (u »Nuages ​​Disséminés»),
«45»: _ (atau »Orages»),
«46»: _ (u »Tempête de Neige»),
«47»: _ (atau »Orages Isolés»),
«Na»: _ (u »T / A»),
"-": _ (a ")
}

syarat_weather_font = {
«0»: _ (u »W»),
«1»: _ (u »V»),
«2»: _ (u »W»),
«3»: _ (u »s»),
«4»: _ (u »p»),
«5»: _ (u »k»),
«6»: _ (u »k»),
«7»: _ (u »g»),
«8»: _ (u »g»),
«9»: _ (u »g»),
«10»: _ (u »h»),
«11»: _ (u »g»),
«12»: _ (u »g»),
«13»: _ (u »k»),
«14»: _ (u »k»),
«15»: _ (u »k»),
«16»: _ (u »k»),
«17»: _ (u »k»),
«18»: _ (u »k»),
«19»: _ (u »e»),
«20»: _ (u »e»),
«21»: _ (u »a»),
«22»: _ (u »d»),
«23»: _ (u »d»),
«24»: _ (u »d»),
«25»: _ (u »d»),
«26»: _ (u »e»),
«27»: _ (u »e»),
«28»: _ (u »e»),
«29»: _ (u »c»),
«30»: _ (u »c»),
«31»: _ (u »a»),
«32»: _ (u »a»),
«33»: _ (u »b»),
«34»: _ (u »b»),
«35»: _ (u »k»),
«36»: _ (u »a»),
«37»: _ (u »f»),
«38»: _ (u »f»),
«39»: _ (u »f»),
«40»: _ (u »g»),
«41»: _ (u »k»),
«42»: _ (u »k»),
«43»: _ (u »k»),
«44»: _ (u »b»),
«45»: _ (u »g»),
«46»: _ (u »k»),
«47»: _ (u »f»),
«Na»: _ (u »»),
"-": _ (atau "")
}

syarat_moon_font = {
«0»: _ (u »1 ″),
«1»: _ (u »N»),
«2»: _ (u »O»),
«3»: _ (u »P»),
«4»: _ (u »Q»),
«5»: _ (u »R»),
«6»: _ (u »S»),
«7»: _ (u »T»),
«8»: _ (u »U»),
«9»: _ (u »V»),
«10»: _ (u »W»),
«11»: _ (u »X»),
«12»: _ (u »Y»),
«13»: _ (u »Z»),
«14»: _ (u »0 ″),
«15»: _ (u »0 ″),
«16»: _ (u »A»),
«17»: _ (u »B»),
«18»: _ (u »C»),
«19»: _ (u »D»),
«20»: _ (u »E»),
«21»: _ (u »F»),
«22»: _ (u »G»),
«23»: _ (u »H»),
«24»: _ (u »Saya»),
«25»: _ (u »J»),
«26»: _ (u »K»),
«27»: _ (u »L»),
«28»: _ (u »M»),
«29»: _ (u »1 ″),
«Na»: _ (u »»),
"-": _ (atau "")
}

hari_of_week = {
"Hari ini": _ (atau "Hari ini"),
«Isnin»: _ (u »Isnin»),
«Selasa»: _ (u »Selasa»),
«Rabu»: _ (u »Rabu»),
«Khamis»: _ (u »Khamis»),
«Jumaat»: _ (u »Jumaat»),
"Sabtu": _ (u "Sabtu"),
"Ahad": _ (u "Ahad")
}

hari_dalam_minggu_pendek = {
"Hari ini": _ (u "Sekarang"),
«Isnin»: _ (u »Isnin»),
«Selasa»: _ (u »Sel»),
"Rabu": _ (u "Wed"),
«Khamis»: _ (u »Thu»),
«Jumaat»: _ (u »Jum»),
"Sabtu": _ (u "Sabtu"),
"Ahad": _ (u "Matahari")
}

hari_of_week_es = {
"Hari ini": _ (u "hari ini"),
«Isnin»: _ (u »Isnin»),
«Selasa»: _ (u »Selasa»),
«Rabu»: _ (u »Rabu»),
«Khamis»: _ (u »Khamis»),
«Jumaat»: _ (u »Jumaat»),
"Sabtu": _ (u "Sabtu"),
"Ahad": _ (u "Ahad")
}

day_of_week_short_en = {
"Hari ini": _ (u "hari ini"),
"Isnin": _ (u "mon"),
«Selasa»: _ (u »laut»),
«Rabu»: _ (u »nikah»),
«Khamis»: _ (u »Khamis»),
«Jumaat»: _ (u »fri»),
"Sabtu": _ (u "sat"),
"Ahad": _ (u "dom")
}

hari_of_week_fr = {
«Hari ini»: _ (u »Aujourd'hui»),
«Isnin»: _ (u »Lundi»),
«Selasa»: _ (u »Mardi»),
«Rabu»: _ (u »Mercredi»),
«Khamis»: _ (u »Jeudi»),
«Jumaat»: _ (u »Vendredi»),
"Sabtu": _ (u "Samedi"),
"Ahad": _ (u "Dimanche")
}

day_of_week_short_fr = {
«Hari ini»: _ (u »Auj»),
"Isnin": _ (u "Isnin"),
«Selasa»: _ (u »Mar»),
"Rabu": _ (u "Mer"),
«Khamis»: _ (u »Jeu»),
«Jumaat»: _ (u »Datang»),
"Sabtu": _ (u "Sam"),
"Ahad": _ (u "Dim")
}

bearing_arrow_font = {
«N»: _ (u »i»),
«NNE»: _ (u »j»),
«NE»: _ (u »k»),
«ENE»: _ (u »l»),
«E»: _ (u »m»),
«ESE»: _ (u »n»),
"SE": _ (u "o"),
«SSE»: _ (u »p»),
«S»: _ (u »a»),
«SSW»: _ (u »b»),
«SW»: _ (u »c»),
"WSW": _ (u "d"),
«W»: _ (u »e»),
"WNW": _ (u "f"),
«NW»: _ (u »g»),
«NNW»: _ (u »h»),
«N / A»: _ (u »«)
}

bearing_text_en = {
«N»: _ (u »N»),
«NNE»: _ (u »NNE»),
«NE»: _ (u »NE»),
«ENE»: _ (u »ENE»),
«E»: _ (u »E»),
«ESE»: _ (u »ESE»),
«SE»: _ (u »SE»),
"SSE": _ (u "SSE"),
"Mereka"),
"SSW": _ (u "SSO"),
«SW»: _ (u »SO»),
"WSW": _ (u "WOW"),
«W»: _ (u »O»),
«WNW»: _ (u »ONO»),
«NW»: _ (u »TIDAK»),
«NNW»: _ (u »NNO»),
«N / A»: _ (u »N \ A»)
}

bearing_text_fr = {
«N»: _ (u »N»),
«NNE»: _ (u »NNE»),
«NE»: _ (u »NE»),
«ENE»: _ (u »ENE»),
«E»: _ (u »E»),
«ESE»: _ (u »ESE»),
«SE»: _ (u »SE»),
"SSE": _ (u "SSE"),
"Mereka"),
"SSW": _ (u "SSO"),
«SW»: _ (u »SO»),
"WSW": _ (u "WOW"),
«W»: _ (u »O»),
«WNW»: _ (u »ONO»),
«NW»: _ (u »TIDAK»),
«NNW»: _ (u »NNO»),
«N / A»: _ (u »N \ A»)
}

kelas GlobalWeather:

semasa_kondisi = []
ramalan_hari = []
ramalan malam = []

lokal = "dalam"

pilihan = Tiada
cuacaxmldoc = «»

TEMP_FILEPATH_CURRENT = "/tmp/conkyForecast-c-LOCATION.pkl"
TEMP_FILEPATH_DAYFORECAST = "/tmp/conkyForecast-df-LOCATION.pkl"
TEMP_FILEPATH_NIGHTFORECAST = "/tmp/conkyForecast-nf-LOCATION.pkl"
LUAR BIASA_MINUTES = 30
DEFAULT_SPACING = u »«

def __init __ (diri, pilihan):

self.options = pilihan

jika self.options.locale == Tiada:
cuba:
# self.locale = locale.getdefaultlocale () [0] [0: 2]
self.locale = «es» #menunaikan garis ini untuk memaksa bahasa Sepanyol
# self.locale = "fr" #menunaikan garis ini untuk memaksa bahasa Perancis
kecuali:
cetak "locale not set"
lain:
# self.locale = self.options.locale
self.locale = «es» #menunaikan garis ini untuk memaksa bahasa Sepanyol
# self.locale = "fr" #menunaikan garis ini untuk memaksa bahasa Perancis

jika self.options.verbose == Betul:
cetak >> sys.stdout, "locale set to", self.locale

def getText (diri, nodelist):
rc = ""
untuk nod dalam senarai nodel:
jika node.nodeType == node.TEXT_NODE:
rc = rc + nod.data
mengembalikan rc

def getSpaces (diri, ruang):
tali = u »»
jika ruang == Tiada:
tali = diri.DEFAULT_SPACING
lain:
untuk i dalam jarak (0, ruang + 1):
string = tali + u »«
tali pulangan

def isNumeric (diri, rentetan):
cuba:
dummy = terapung (tali)
kembali Benar
kecuali:
kembali Palsu

def isConnectionAvailable (diri):
# pastikan kita dapat mengakses pelayan weather.com dengan membuka url
cuba:
Usock = urllib2.urlopen ('http://xoap.weather.com')
Usock.tutup ()
kembali Benar
kecuali:
kembali Palsu

def getBearingText (diri, galas):
galas = apungan (galas)
jika mengandungi <11.25:
kembali u »N»
galas elif <33.75:
kembali u »NNE»
galas elif <56.25:
kembali u »NE»
galas elif <78.75:
kembali u »JAN»
galas elif <101.25:
kembali u »E»
galas elif <123.75:
kembali u »ESE»
galas elif <146.25:
kembali u »SE»
galas elif <168.75:
kembali u »SSE»
galas elif <191.25:
kembali u »S»
galas elif <213.75:
kembali u »SSW»
galas elif <236.25:
kembali u »SW»
galas elif <258.75:
kembali u »WSW»
galas elif <281.25:
kembali u »W»
galas elif <303.75:
kembali u »WNW»
galas elif <326.25:
kembali u »NW»
galas elif <348.75:
kembali u »NNW»
lain:
kembali «N / A»

def convertCelsiusToFahrenheit (diri, temp):
return str (int (lantai (((float (temp) * 9.0) /5.0) +32)))

def convertKilometresToMiles (diri, jarak):
return str (int (lantai (apungan (jarak) * 0.621371192)))

def convertMillibarsToInches (diri, mb):
return str (int (lantai (apungan (mb) / 33.8582)))

def getTemplateList (diri, templat):

senarai templat = []

untuk template_part dalam template.split («{«):
jika template_part! = «»:
untuk template_part dalam template_part.split ("}"):
jika template_part! = «»:
templatelist.append (u »» + template_part)

templatelis kembali

def getOutputText (diri, datatype, startday, endday, night, shortweekday, imperial, hideunits, spasi):
#cuba:
keluaran = u »»

# tentukan unit semasa untuk output
jika hideunits == Salah:
jika imperial == Salah:
tempunit = u »° C»
speedunit = u »kph»
pressureunit = u »mb»
lain:
tempunit = u »° F»
speedunit = u »mph»
pressureunit = u »dalam»
lain:
tempunit = u »°»
speedunit = u »»
pressureunit = u »»

jika startday == Tiada: # keadaan semasa

jika jenis data == "DW":
jika self.locale == "adalah":
jika hari minggu pendek == Betul:
output = WeatherText.day_of_week_short_es [self.current_conditions [0] .day_of_week]
lain:
output = WeatherText.day_of_week_es [self.current_conditions [0] .day_of_week]
elif self.locale == "fr":
jika hari minggu pendek == Betul:
output = WeatherText.day_of_week_short_fr [self.current_conditions [0] .day_of_week]
lain:
output = WeatherText.day_of_week_fr [self.current_conditions [0] .day_of_week]
lain:
jika hari minggu pendek == Betul:
output = WeatherText.day_of_week_short [self.current_conditions [0] .day_of_week]
lain:
output = WeatherText.day_of_week [self.current_conditions [0] .day_of_week]
jenis data elif == "WF": # fon cuaca
output = WeatherText.conditions_weather_font [self.current_conditions [0] .condition_code]
jenis data elif == "LT":
string = self.current_conditions [0]. rendah
if self.isNumeric (string) == Betul:
jika imperial == Betul:
string = self.convertCelsiusToFahrenheit (tali)
tali = rentetan + tempunit
output = rentetan
jenis data elif == "HT":
string = self.current_conditions [0] .tinggi
if self.isNumeric (string) == Betul:
jika imperial == Betul:
string = self.convertCelsiusToFahrenheit (tali)
tali = rentetan + tempunit
output = rentetan
jenis data elif == "CC":
jika self.locale == "adalah":
output = WeatherText.conditions_text_es [self.current_conditions [0] .condition_code]
elif self.locale == "fr":
output = WeatherText.conditions_text_fr [self.current_conditions [0] .condition_code]
lain:
output = WeatherText.conditions_text [self.current_conditions [0] .condition_code]
datatype elif == "CT":
output = self.current_conditions [0] .condition_text
jenis data elif == "PC":
string = self.current_conditions [0] .precip
if self.isNumeric (string) == Betul:
string = string + u »%»
output = rentetan
jenis data elif == "HM":
string = self.current_conditions [0]. kelembapan
if self.isNumeric (string) == Betul:
string = string + u »%»
output = rentetan
jenis data elif == "WD":
string = self.current_conditions [0] .wind_dir
if self.isNumeric (string) == Betul:
string = self.getBearingText (tali)

jika self.locale == "adalah":
output = WeatherText.bearing_text_es [string]
elif self.locale == "fr":
output = WeatherText.bearing_text_fr [rentetan]
lain:
output = rentetan

jenis data elif == "BF":
string = self.current_conditions [0] .wind_dir
if self.isNumeric (string) == Betul:
string = WeatherText.bearing_arrow_font [self.getBearingText (tali)]
output = rentetan
jenis data elif == "WS":
string = self.current_conditions [0] .wind_speed
if self.isNumeric (string) == Betul:
jika imperial == Betul:
string = self.convertKilometresToMiles (tali)
tali = tali + speedunit
output = rentetan
jenis data elif == "WG":
string = self.current_conditions [0] .wind_gusts
if self.isNumeric (string) == Betul:
jika imperial == Betul:
string = self.convertKilometresToMiles (tali)
tali = tali + speedunit
output = rentetan
jenis data elif == "CN":
output = self.current_conditions [0] .city
jenis data elif == "SR":
output = self.current_conditions [0] .sunrise
jenis data elif == "SS":
output = self.current_conditions [0] .sunset
jenis data elif == "MP":
output = self.current_conditions [0] .moon_phase
jenis data elif == "MF":
output = WeatherText.conditions_moon_font [self.current_conditions [0] .moon_icon]
jenis data elif == "BR":
string = self.current_conditions [0] .bar_read
if self.isNumeric (string) == Betul:
jika imperial == Betul:
string = self.convertMillibarsToInches (tali)
tali = tali + tekananunit
output = rentetan
jenis data elif == "BD":
output = self.current_conditions [0] .bar_desc
lain:
output = "\ nERROR: Jenis data tidak diketahui diminta"

lain: # data ramalan

if endday == Tiada: # jika tidak ada hari akhir yang ditetapkan gunakan startday
endday = permulaan

jika malam == Betul: # ramalan malam diperlukan

untuk hari_nombor dalam julat (hari permulaan, hari akhir +1):

jika jenis data == "DW":
jika self.locale == "adalah":
jika hari minggu pendek == Betul:
output = output + self.getSpaces (spasi) + WeatherText.day_of_week_short_es [self.night_forecast [day_number] .day_of_week]
lain:
output = output + self.getSpaces (spasi) + WeatherText.day_of_week_es [self.night_forecast [day_number] .day_of_week]
elif self.locale == "fr":
jika hari minggu pendek == Betul:
output = output + self.getSpaces (spasi) + WeatherText.day_of_week_short_fr [self.night_forecast [day_number] .day_of_week]
lain:
output = output + self.getSpaces (spasi) + WeatherText.day_of_week_fr [self.night_forecast [day_number] .day_of_week]
lain:
jika hari minggu pendek == Betul:
output = output + self.getSpaces (spasi) + WeatherText.day_of_week_short [self.night_forecast [day_number] .day_of_week]
lain:
output = output + self.getSpaces (spasi) + WeatherText.day_of_week [self.night_forecast [day_number] .day_of_week]
jenis data elif == "WF": # fon cuaca
output = output + self.getSpaces (spasi) + WeatherText.conditions_weather_font [self.night_forecast [day_number] .condition_code]
jenis data elif == "LT":
string = self.night_forecast [day_number] .low
if self.isNumeric (string) == Betul:
jika imperial == Betul:
string = self.convertCelsiusToFahrenheit (tali)
tali = rentetan + tempunit
output = output + self.getSpaces (spasi) + rentetan

jenis data elif == "HT":
string = self.night_forecast [day_number] .high
if self.isNumeric (string) == Betul:
jika imperial == Betul:
string = self.convertCelsiusToFahrenheit (tali)
tali = rentetan + tempunit
output = output + self.getSpaces (spasi) + rentetan
jenis data elif == "CC":
jika self.locale == "adalah":
output = output + self.getSpaces (spasi) + WeatherText.conditions_text_es [self.night_forecast [day_number] .condition_code]
elif self.locale == "fr":
output = output + self.getSpaces (spasi) + WeatherText.conditions_text_fr [self.night_forecast [day_number] .condition_code]
lain:
output = output + self.getSpaces (spasi) + WeatherText.conditions_text [self.night_forecast [day_number] .condition_code]
datatype elif == "CT":
output = output + self.getSpaces (spasi) + self.night_forecast [day_number] .condition_text
jenis data elif == "PC":
string = self.night_forecast [day_number] .precip
if self.isNumeric (string) == Betul:
string = string + u »%»
output = output + self.getSpaces (spasi) + rentetan
jenis data elif == "HM":
string = self.night_forecast [day_number]. kelembapan
if self.isNumeric (string) == Betul:
string = string + u »%»
output = output + self.getSpaces (spasi) + rentetan
jenis data elif == "WD":
string = self.night_forecast [day_number] .wind_dir
jika self.locale == "adalah":
output = output + self.getSpaces (spasi) + WeatherText.bearing_text_es [string]
elif self.locale == "fr":
output = output + self.getSpaces (spasi) + WeatherText.bearing_text_fr [string]
lain:
output = output + self.getSpaces (spasi) + rentetan

jenis data elif == "BF":
output = output + self.getSpaces (spasi) + WeatherText.bearing_arrow_font [self.night_forecast [day_number] .wind_dir]
jenis data elif == "WS":
string = self.night_forecast [day_number] .wind_speed
if self.isNumeric (string) == Betul:
jika imperial == Betul:
string = self.convertKilometresToMiles (tali)
tali = tali + speedunit
output = output + self.getSpaces (spasi) + rentetan
jenis data elif == "WG":
string = self.night_forecast [day_number] .wind_gusts
if self.isNumeric (string) == Betul:
jika imperial == Betul:
string = self.convertKilometresToMiles (tali)
tali = tali + speedunit
output = output + self.getSpaces (spasi) + rentetan
jenis data elif == "CN":
output = output + self.getSpaces (spasi) + self.night_forecast [day_number] .city
jenis data elif == "SR":
output = output + self.getSpaces (spasi) + self.night_forecast [day_number] .sunrise
jenis data elif == "SS":
output = output + self.getSpaces (spasi) + self.night_forecast [day_number] .sunset
jenis data elif == "MP":
output = output + self.getSpaces (spasi) + self.night_forecast [day_number] .moon_phase
jenis data elif == "MF":
output = output + self.getSpaces (spasi) + WeatherText.conditions_moon_font [self.night_forecast [day_number] .moon_icon]
jenis data elif == "BR":
output = output + self.getSpaces (spasi) + self.night_forecast [day_number] .bar_read
jenis data elif == "BD":
output = output + self.getSpaces (spasi) + self.night_forecast [day_number] .bar_desc
lain:
output = "\ nERROR: Jenis data tidak diketahui diminta"
memecahkan

lain: ramalan # hari diinginkan

untuk hari_nombor dalam julat (hari permulaan, hari akhir +1):

jika jenis data == "DW":
jika self.locale == "adalah":
jika hari minggu pendek == Betul:
output = output + self.getSpaces (spasi) + WeatherText.day_of_week_short_es [self.day_forecast [day_number] .day_of_week]
lain:
output = output + self.getSpaces (spasi) + WeatherText.day_of_week_es [self.day_forecast [day_number] .day_of_week]
elif self.locale == "fr":
jika hari minggu pendek == Betul:
output = output + self.getSpaces (spasi) + WeatherText.day_of_week_short_fr [self.day_forecast [day_number] .day_of_week]
lain:
output = output + self.getSpaces (spasi) + WeatherText.day_of_week_fr [self.day_forecast [day_number] .day_of_week]
lain:
jika hari minggu pendek == Betul:
output = output + self.getSpaces (spasi) + WeatherText.day_of_week_short [self.day_forecast [day_number] .day_of_week]
lain:
output = output + self.getSpaces (spasi) + WeatherText.day_of_week [self.day_forecast [day_number] .day_of_week]
jenis data elif == "WF": # fon cuaca
output = output + self.getSpaces (spasi) + WeatherText.conditions_weather_font [self.day_forecast [day_number] .condition_code]
jenis data elif == "LT":
string = self.day_forecast [day_number] .low
if self.isNumeric (string) == Betul:
jika imperial == Betul:
string = self.convertCelsiusToFahrenheit (tali)
tali = rentetan + tempunit
output = output + self.getSpaces (spasi) + rentetan
jenis data elif == "HT":
string = self.day_forecast [day_number] .high
if self.isNumeric (string) == Betul:
jika imperial == Betul:
string = self.convertCelsiusToFahrenheit (tali)
tali = rentetan + tempunit
output = output + self.getSpaces (spasi) + rentetan
jenis data elif == "CC":
jika self.locale == "adalah":
output = output + self.getSpaces (spasi) + WeatherText.conditions_text_es [self.day_forecast [day_number] .condition_code]
elif self.locale == "fr":
output = output + self.getSpaces (spasi) + WeatherText.conditions_text_fr [self.day_forecast [day_number] .condition_code]
lain:
output = output + self.getSpaces (spasi) + WeatherText.conditions_text [self.day_forecast [day_number] .condition_code]
datatype elif == "CT":
output = output + self.getSpaces (spasi) + self.day_forecast [day_number] .condition_text
jenis data elif == "PC":
string = self.day_forecast [day_number] .precip
if self.isNumeric (string) == Betul:
string = string + u »%»
output = output + self.getSpaces (spasi) + rentetan
jenis data elif == "HM":
string = self.day_forecast [day_number]. kelembapan
if self.isNumeric (string) == Betul:
string = string + u »%»
output = output + self.getSpaces (spasi) + rentetan
jenis data elif == "WD":
string = self.day_forecast [day_number] .wind_dir

jika self.locale == "adalah":
output = output + self.getSpaces (spasi) + WeatherText.bearing_text_es [string]
elif self.locale == "fr":
output = output + self.getSpaces (spasi) + WeatherText.bearing_text_fr [string]
lain:
output = output + self.getSpaces (spasi) + rentetan

jenis data elif == "BF":
output = output + self.getSpaces (spasi) + WeatherText.bearing_arrow_font [self.day_forecast [day_number] .wind_dir]
jenis data elif == "WS":
string = self.day_forecast [day_number] .wind_speed
if self.isNumeric (string) == Betul:
jika imperial == Betul:
string = self.convertKilometresToMiles (tali)
tali = tali + speedunit
output = output + self.getSpaces (spasi) + rentetan
jenis data elif == "WG":
string = self.day_forecast [day_number] .wind_gusts
if self.isNumeric (string) == Betul:
jika imperial == Betul:
string = self.convertKilometresToMiles (tali)
tali = tali + speedunit
output = output + self.getSpaces (spasi) + rentetan
jenis data elif == "CN":
output = output + self.getSpaces (spasi) + self.day_forecast [day_number] .city
jenis data elif == "SR":
output = output + self.getSpaces (spasi) + self.day_forecast [day_number] .sunrise
jenis data elif == "SS":
output = output + self.getSpaces (spasi) + self.day_forecast [day_number] .sunset
jenis data elif == "MP":
output = output + self.getSpaces (spasi) + self.day_forecast [day_number] .moon_phase
jenis data elif == "MF":
output = output + self.getSpaces (spasi) + WeatherText.conditions_moon_font [self.day_forecast [day_number] .moon_icon]
jenis data elif == "BR":
output = output + self.getSpaces (spasi) + self.day_forecast [day_number] .bar_read
jenis data elif == "BD":
output = output + self.getSpaces (spasi) + self.day_forecast [day_number] .bar_desc
lain:
output = u »\ NERROR: Jenis data tidak diketahui diminta»
memecahkan

output = u »» + output.strip (u »«) # kehilangan ruang utama / ketinggalan
mengembalikan output

#kecuali:
#print "getOutputText: Ralat yang tidak dijangka:", sys.exc_info () [0]

def getOutputTextFromTemplate (diri, templat):
#cuba:

# kunci untuk data templat
DATATYPE_KEY = "–datatype ="
STARTDAY_KEY = "–startday ="
ENDDAY_KEY = "–endday ="
NIGHT_KEY = "–night"
SHORTWEEKDAY_KEY = "–shortweekday"
IMPERIAL_KEY = "–imperial"
HIDEUNITS_KEY = "–hideunits"
RUANG_KEY = "–ruang ="

keluaran = u »»

optionfound = Salah

# muat fail
cuba:
fileinput = terbuka (self.options.template)
templat = fileinput.read ()
fileinput.close ()
kecuali:
output = u »Fail templat tidak dijumpai!»

templatelist = self.getTemplateList (templat)

# mari kita melihat senarai templat dan menentukan output untuk setiap item yang dijumpai
untuk i dalam jarak (0, len (templatelist) -1):

pos = senarai templat [i]. cari (DATATYPE_KEY)
jika pos! = -1:
optionfound = Betul
pos = pos + len (DATATYPE_KEY)
datatype = templatelist [i] [pos: pos + 4] .strip («}»). strip («{«). strip («-«). strip (»«)
lain:
jenis data = Tiada

pos = senarai templat [i]. cari (STARTDAY_KEY)
jika pos! = -1:
optionfound = Betul
pos = pos + len (STARTDAY_KEY)
startday = int (templatelist [i] [pos: pos + 4] .strip ("}"). strip ("{"). strip ("-"). strip (""))
lain:
hari permulaan = Tiada

pos = senarai templat [i]. cari (ENDDAY_KEY)
jika pos! = -1:
optionfound = Betul
pos = pos + len (ENDDAY_KEY)
endday = int (templatelist [i] [pos: pos + 4] .strip ("}"). strip ("{"). strip ("-"). strip (""))
lain:
endday = Tiada

pos = senarai templat [i]. cari (NIGHT_KEY)
jika pos! = -1:
optionfound = Betul
malam = Betul
lain:
malam = Salah

pos = senarai templat [i]. cari (SHORTWEEKDAY_KEY)
jika pos! = -1:
optionfound = Betul
hari minggu pendek = Benar
lain:
hari minggu pendek = Salah

pos = senarai templat [i]. cari (IMPERIAL_KEY)
jika pos! = -1:
optionfound = Betul
imperial = Betul
lain:
imperial = Salah

pos = senarai templat [i]. cari (HIDEUNITS_KEY)
jika pos! = -1:
optionfound = Betul
hideunits = Betul
lain:
hideunits = Salah

pos = senarai templat [i]. cari (SPACES_KEY)
jika pos! = -1:
optionfound = Betul
pos = pos + len (RUANG_KEY)
spasi = int (templatelist [i] [pos: pos + 4] .strip («}»). strip («{«). strip («-«). strip (»«))
lain:
ruang = 1

jika optionfound == Betul:
templatelist [i] = self.getOutputText (datatype, startday, endday, night, shortweekday, imperial, hideunits, spasi)
optionfound = Salah

# lihat senarai menggabungkan output sekarang kerana ia telah diisi
untuk item dalam templatelist:
keluaran = keluaran + item

mengembalikan output

#kecuali:
#print "getOutputTextFromTemplate: Ralat yang tidak dijangka:", sys.exc_info () [0]

def fetchData (diri):

# selalu ambil data metrik, gunakan fungsi perbualan pada data ini
file_path_current = self.TEMP_FILEPATH_CURRENT.replace ("LOKASI", self.options.location)
file_path_dayforecast = self.TEMP_FILEPATH_DAYFORECAST.replace ("LOKASI", self.options.location)
file_path_nightforecast = self.TEMP_FILEPATH_NIGHTFORECAST.replace ("LOKASI", self.options.location)

jika self.isConnectionAvailable () == Salah:
jika os.path.exists (file_path_current):
RefetchData = Salah
lain: # tidak ada sambungan, tidak ada cache, bang!
cetak "Tidak ada sambungan internet yang tersedia dan data cuaca tidak ada."
elif self.options.refetch == Betul:
RefetchData = Betul
lain:
# adakah data perlu diambil semula?
jika os.path.exists (file_path_current):
lastmodDate = time.localtime (os.stat (file_path_current) [ST_MTIME])
expiryDate = (datetime.datetime.today () - datetime.timedelta (minit = diri.EXPIRY_MINUTES)). jadual waktu ()

jika expiryDate> lastmodDate:
RefetchData = Betul
lain:
RefetchData = Salah
lain:
RefetchData = Betul

# ambil data keadaan semasa, sama ada dari laman web atau dengan 'tidak memilih'
jika RefetchData == Betul:

# dapatkan data keadaan semasa dari perkhidmatan xoap
cuba:

# http://xoap.weather.com/weather/local/UKXX0103?cc=*&dayf=5&link=xoap∏=xoap&par=1061785028&key=e374effbfd74930b

url = 'http://xoap.weather.com/weather/local/' + self.options.location + '? cc = * & dayf = 8 & link = xoap∏ = xoap & par = 1061785028 & kunci = e374effbfd74930b & unit = m '
jika self.options.verbose == Betul:
cetak >> sys.stdout, «mengambil data cuaca dari«, url

Usock = urllib2.urlopen (url)
xml = usock.read ()
Usock.tutup ()
self.weatherxmldoc = minidom.parseString (xml)
kecuali:
cetak "fetchData: Kesalahan yang tidak dijangka:", sys.exc_info () [0]
cetak "Tidak dapat menghubungi sumber cuaca untuk keadaan semasa"

# beritahu pengguna jika lokasinya buruk ...
found = xml.find ("Lokasi tidak sah disediakan")
jika dijumpai! = -1:
cetak "Lokasi tidak sah disediakan"

# menyoal siasat data cuaca, memuatkan struktur kelas dan memetiknya
cuba:

# sediakan senarai data cuaca
self.current_conditions = []
self.day_forecast = []
diri.night_forecast = []

# kumpulkan data am
weather_n = self.weatherxmldoc.documentElement
location_n = weather_n.getElementsByTagName ('loc') [0]
city_n = location_n.getElementsByTagName ('dnam') [0]
bandar = self.getText (city_n.childNodes)

# kumpulkan data keadaan semasa
day_of_week = u »Hari ini»
mendakan = u »N / A»
sunrise_n = location_n.getElementsByTagName ('sunr') [0]
sunrise = self.getText (sunrise_n.childNodes)
sunset_n = location_n.getElementsByTagName ('suns') [0]
matahari terbenam = self.getText (sunset_n.childNodes)
current_condition_n = weather_n.getElementsByTagName ('cc') [0]
current_desc_n = current_condition_n.getElementsByTagName ('t') [0]
current_desc = self.getText (current_desc_n.childNodes)
current_code_n = current_condition_n.getElementsByTagName ('ikon') [0]
current_code = self.getText (current_code_n.childNodes)
current_temp_n = current_condition_n.getElementsByTagName ('tmp') [0]
current_temp = self.getText (current_temp_n.childNodes)
current_temp_feels_n = current_condition_n.getElementsByTagName ('flik') [0]
current_temp_feels = self.getText (current_temp_feels_n.childNodes)
bar_n = current_condition_n.getElementsByTagName ('bar') [0]
bar_read_n = bar_n.getElementsByTagName ('r') [0]
bar_read = self.getText (bar_read_n.childNodes)
bar_desc_n = bar_n.getElementsByTagName ('d') [0]
bar_desc = self.getText (bar_desc_n.childNodes)
wind_n = current_condition_n.getElementsByTagName ('angin') [0]
wind_speed_n = wind_n.getElementsByTagName ('s') [0]
wind_speed = self.getText (wind_speed_n.childNodes)
wind_gust_n = wind_n.getElementsByTagName ('gust') [0]
wind_gusts = self.getText (angin_gust_n.childNodes)
wind_dir_n = wind_n.getElementsByTagName ('d') [0]
wind_direction = self.getText (angin_dir_n.childNodes)
kelembapan_n = current_condition_n.getElementsByTagName ('hmid') [0]
kelembapan = self.getText (kelembapan_n.childNodes)
moon_n = current_condition_n.getElementsByTagName ('moon') [0]
moon_icon_n = moon_n.getElementsByTagName ('ikon') [0]
moon_icon = self.getText (moon_icon_n.childNodes)
moon_phase_n = moon_n.getElementsByTagName ('t') [0]
moon_phase = self.getText (moon_phase_n.childNodes)
current_conditions_data = WeatherData (day_of_week, current_temp_feels, current_temp, current_code, current_desc, mendekati, kelembapan, arah_ angin, kelajuan angin, angin_gusts, kota, matahari terbit, matahari terbenam, fasa bulan, bulan_icon, bar_read, bar_desc)
self.current_conditions.append (current_conditions_data)

# kumpulkan data ramalan
bar_read = u »N / A»
bar_desc = u »N / A»
moon_phase = u »N / A»
moon_icon = u »na»
forecast_n = weather_n.getElementsByTagName ('dayf') [0]
day_nodes = forecast_n.getElementsByTagName ('hari')

untuk hari dalam hari_node:
day_of_week = day.getAttribute ('t')
day_of_year = day.getAttribute ('dt')
high_temp_n = day.getElementsByTagName ('hi') [0]
high_temp = self.getText (high_temp_n.childNodes)
low_temp_n = day.getElementsByTagName ('rendah') [0]
low_temp = self.getText (low_temp_n.childNodes)

sunrise_n = day.getElementsByTagName ('sunr') [0]
sunrise = self.getText (sunrise_n.childNodes)
sunset_n = day.getElementsByTagName ('suns') [0]
matahari terbenam = self.getText (sunset_n.childNodes)

data spesifik ramalan # hari
daytime_n = day.getElementsByTagName ('part') [0] # hari
condition_code_n = daytime_n.getElementsByTagName ('ikon') [0]
condition_code = self.getText (condition_code_n.childNodes)
condition_n = daytime_n.getElementsByTagName ('t') [0]
condition = self.getText (condition_n.childNodes)
mendeteksi_n = daytime_n.getElementsByTagName ('ppcp') [0]
mendakan = self.getText (end_n.childNodes)
kelembapan_n = siang hari_n.getElementsByTagName ('hmid') [0]
kelembapan = self.getText (kelembapan_n.childNodes)
wind_n = daytime_n.getElementsByTagName ('angin') [0]
wind_speed_n = wind_n.getElementsByTagName ('s') [0]
wind_speed = self.getText (wind_speed_n.childNodes)
wind_direction_n = wind_n.getElementsByTagName ('t') [0]
wind_direction = self.getText (angin_direction_n.childNodes)
wind_gusts_n = wind_n.getElementsByTagName ('gust') [0]
wind_gusts = self.getText (wind_gusts_n.childNodes)
day_forecast_data = WeatherData (day_of_week, low_temp, high_temp, condition_code, condition, end, humidity, wind_direction, wind_speed, wind_gusts, city, sunrise, sunset, moon_phase, moon_icon, bar_read, bar_desc)
self.day_forecast.append (day_forecast_data)

# data spesifik ramalan malam
daytime_n = day.getElementsByTagName ('part') [1] # malam
condition_code_n = daytime_n.getElementsByTagName ('ikon') [0]
condition_code = self.getText (condition_code_n.childNodes)
condition_n = daytime_n.getElementsByTagName ('t') [0]
condition = self.getText (condition_n.childNodes)
mendeteksi_n = daytime_n.getElementsByTagName ('ppcp') [0]
mendakan = self.getText (end_n.childNodes)
kelembapan_n = siang hari_n.getElementsByTagName ('hmid') [0]
kelembapan = self.getText (kelembapan_n.childNodes)
wind_n = daytime_n.getElementsByTagName ('angin') [0]
wind_speed_n = wind_n.getElementsByTagName ('s') [0]
wind_speed = self.getText (wind_speed_n.childNodes)
wind_direction_n = wind_n.getElementsByTagName ('t') [0]
wind_direction = self.getText (angin_direction_n.childNodes)
wind_gusts_n = wind_n.getElementsByTagName ('gust') [0]
wind_gusts = self.getText (wind_gusts_n.childNodes)
night_forecast_data = WeatherData (day_of_week, low_temp, high_temp, condition_code, condition, end, humidity, wind_direction, wind_speed, wind_gusts, city, sunrise, sunset, moon_phase, moon_icon, bar_read, bar_desc)
self.night_forecast.append (night_forecast_data)

# ambil data untuk lain kali!
fileoutput = terbuka (file_path_current, 'w')
pickle.dump (self_current_conditions, fileoutput)
fileoutput.close ()

fileoutput = terbuka (file_path_dayforecast, 'w')
pickle.dump (self.day_forecast, output fail)
fileoutput.close ()

fileoutput = terbuka (file_path_nightforecast, 'w')
pickle.dump (self.night_forecast, output fail)
fileoutput.close ()

kecuali:
cetak "fetchData: Kesalahan yang tidak dijangka:", sys.exc_info () [0]
cetak "Tidak dapat menyoal siasat data cuaca"

lain: # ambil data cuaca dari fail kelas yang dijemput
jika self.options.verbose == Betul:
cetak >> sys.stdout, «mengambil data cuaca dari fail:«, file_path_current

fileinput = buka (file_path_current, 'r')
self.current_conditions = pickle.load (input fail)
fileinput.close ()

jika self.options.verbose == Betul:
cetak >> sys.stdout, "mengambil data ramalan hari dari fail:", file_path_dayforecast, file_path_nightforecast

fileinput = terbuka (file_path_dayforecast, 'r')
self.day_forecast = pickle.load (input fail)
fileinput.close ()

jika self.options.verbose == Betul:
cetak >> sys.stdout, «mengambil data ramalan hari dari fail:«, file_path_nightforecast, file_path_nightforecast

fileinput = terbuka (file_path_nightforecast, 'r')
self.night_forecast = pickle.load (input fail)
fileinput.close ()

Def outputData (diri):
#cuba:

jika self.options.template! = Tiada:

output = self.getOutputTextFromTemplate (self.options.template)

lain:

output = self.getOutputText (self.options.datatype, self.options.startday, self.options.endday, self.options.night, self.options.shortweekday, self.options.imperial, self.options.hideunits, diri. pilihan. ruang)

output cetak.kod ("utf-8")

#kecuali:
#print «outputData: Ralat yang tidak dijangka:«, sys.exc_info () [0]

jika __nama__ == "__main__":

parser = CommandLineParser ()
(pilihan, args) = parser.parse_args ()

jika options.verbose == Betul:
cetak >> sys.stdout, "location:", options.location
cetak >> sys.stdout, "imperial:", options.imperial
cetak >> sys.stdout, "datatype:", options.datatype
cetak >> sys.stdout, "night:", options.night
cetak >> sys.stdout, "start day:", options.startday
cetak >> sys.stdout, "hari akhir:", options.endday
cetak >> sys.stdout, "spasi:", options.spaces
cetak >> sys.stdout, "verbose:", options.verbose
cetak >> sys.stdout, "refetch:", options.refetch

# buat objek cuaca global yang baru
cuaca = GlobalWeather (pilihan)
cuaca.fetchData ()
cuaca.outputData ()

Kami membuat fail ~ / Conky / scripts / myweather.template

gedit ~ / Conky / skrip / myweather.template

kami tampalkan perkara berikut di dalam:

{–Datatype = DW –startday = 1}: {–datatype = CC –startday = 1}
{–Datatype = HT –startday = 1} / {–datatype = LT –startday = 1} Angin dari {–datatype = WD –startday = 1} hingga {–datatype = WS –startday = 1}
Kelembapan: {–datatype = HM –startday = 1} Presipitasi: {–datatype = PC –startday = 1}
Matahari Terbit: {–datatype = SR –startday = 1} Sunset: {–datatype = SS –startday = 1}
----------------
{–Datatype = DW –startday = 2}: {–datatype = CC –startday = 2}
{–Datatype = HT –startday = 2} / {–datatype = LT –startday = 2} Angin dari {–datatype = WD –startday = 2} hingga {–datatype = WS –startday = 2}
Kelembapan: {–datatype = HM –startday = 2} Presipitasi: {–datatype = PC –startday = 2}
Matahari Terbit: {–datatype = SR –startday = 2} Sunset: {–datatype = SS –startday = 2}
----------------
{–Datatype = DW –startday = 3}: {–datatype = CC –startday = 3}
{–Datatype = HT –startday = 3} / {–datatype = LT –startday = 3} Angin dari {–datatype = WD –startday = 3} hingga {–datatype = WS –startday = 3}
Kelembapan: {–datatype = HM –startday = 3} Presipitasi: {–datatype = PC –startday = 3}
Matahari Terbit: {–datatype = SR –startday = 3} Sunset: {–datatype = SS –startday = 3}
----------------
{–Datatype = DW –startday = 4}: {–datatype = CC –startday = 4}
{–Datatype = HT –startday = 4} / {–datatype = LT –startday = 4} Angin dari {–datatype = WD –startday = 4} hingga {–datatype = WS –startday = 4}
Kelembapan: {–datatype = HM –startday = 4} Presipitasi: {–datatype = PC –startday = 4}
Matahari Terbit: {–datatype = SR –startday = 4} Sunset: {–datatype = SS –startday = 4}

Kami membuat fail ~ / Conky / scripts / mail / conkyEmail.py (kita mesti membuat folder mel)

gedit ~ / Conky / skrip / surat / conkyEmail.py

dan tampal yang berikut di dalamnya:

mengimport anda
rentetan import

# Masukkan nama pengguna dan kata laluan anda di bawah dengan tanda petik dua kali
# cth. nama pengguna = »nama pengguna» dan kata laluan = »kata laluan»
nama pengguna = »_USUARIO_SINARROBA ANDA«
kata laluan = »_KEY ANDA«

com = »wget -O - https: //» + nama pengguna + »:» + kata laluan + »@ mail.google.com / mail / feed / atom –no-check-certificate»

temp = os.popen (com)
msg = temp.read ()
index = string.find (msg, » »)
index2 = string.find (msg, » »)
fc = int (msg [index + 11: index2])

jika fc == 0:
cetak "0 baru"
lain:
cetak str (fc) + »baru»

Jadi sekarang anda mempunyai 7 fail:

Di dalam folder: ~
-> .startconky << - buat boleh dilaksanakan

Di dalam folder: ~ / Conky
-> conkymain
-> ramalan
-> conkymail

dan dalam folder: ~ / Conky / skrip
-> conkyForecast.py << - buat boleh dieksekusi
-> myweather.template

dan dalam folder: ~ / Conky / skrip / surat
conkyEmail.py << - buat boleh dilaksanakan

Dan itu saja, penjelasan, di mana dikatakan / rumah / pengguna / ... nama pengguna anda pergi dan di bahagian tempat data Gmail masuk, saya menyoroti dengan warna di mana anda harus meletakkan data anda.

untuk membunuh proses conky menulis ke konsol

killall conky

untuk menjalankan menulis conky ke konsol

./.startconky

setelah anda menyesuaikan semuanya, jika anda ingin conky memulakan setiap sesi

Sistem—> Keutamaan—> Sesi dan dalam program permulaan kami menambahkannya

Dalam Nama kita boleh menulis Conky, dalam Urutan ./.startconky dengan itu ia akan bermula setiap kali anda menghidupkan komputer.

Itu sahaja, saya harap ia dapat membantu anda.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.