Tak a je tu konečně slíbené pokračování o skvělém programu GeekTool. Minule jsme se seznámili jak s GeekToolem pracovat. Dnes si ukážeme složitější skripty plus nějakou tu další inspiraci pro vaše monitory. Vše si názorně předvedeme nad mou GeekToolem vytvořenou plochou. Takže jdeme na to…
Od mého posledního článku uběhla již spousta dnů, které jsem strávil nad tvořením LSA a hraním si právě s tímto šikovným programem. Výsledek Můžete vidět na obrázku. Jak dlouho jsem toto tvořil vám však nedokážu zodpovědět, jelikož jsem hodně času strávil nad získáváním informací o tomto programu na internetu. Ale myslím si že výsledek za to stál. No posuďte sami.
Menší souhrn mé plochy, aneb co vše jsem měnil:
pozadí plochy (nepamatuji si přesného autora, avšak různých pozadí je na internetu dost)
program DateLine (spodní kalendář)
jedna jediná složka na ploše
hodiny
datum
den v týdnu
počasí
IP adresy v síti (WiFi / Lan)
napájení (stav baterie / cykly)
doba od zapnutí MACu
stav disku
stav paměti
výpis správce úloh (vytížení CPU a RAM)
vlastní texty
podklad pod spodní částí (černý obrázek a nastavení průhlednosti)
(do nastavení se dostanete pravým kliknutím na plochu a dále přes záložku Show View Options)
Hodiny, datum, den v týdnu:
Hodiny:
date +"%H:%M"
Datum:
date +"%d / %m / %Y"
Den v týdnu:
date +"%A"
Počasí:
Na stránkách počasí Yahoo, vyhledejte své město / vesnici. Na pravé části webu je odkaz na RSS, klikněte a najede vám RSS s informacemi o vaší lokalitě.
Z RSS odkazu vás bude zajímat pouze Yahoo ID města / vesnice (vyznačeno červeně). Posledni část ID z Yahoo (=f) značí jednotku teploty v ukazkovém kódu tedy máme stupně Fahrenheita a přepsáním na (=c) máme stupně Celsia.
Přepište v ShellSriptu pod textem část EZXX0004&u=c vaší částí z odkazu z yahoo.
#!/usr/bin/env ruby
# Output
#
# Charge: xx.x% charged
# Cycles: xx cycles
# Status: In Use | Charging | Fully Charged
class Battery
attr_accessor :current_branch, :raw, :charge_remaining, :is_charging, :is_fully_charged, :charge_cycles, :is_in_use, :charge_capacity
def initialize
current_branch = ""
self.raw = self.class.get_raw_data
self.raw.each_line do |line|
key, value = line.split(': ').map(&:strip)
if value.nil? and ! key.nil?
current_branch = key.gsub(':','')
end
next if value.nil? or key.nil?
case key
when 'Charge remaining (mAh)'
self.charge_remaining = value.to_i
when 'Fully charged'
self.is_fully_charged = value == 'Yes'
when 'Charging'
if current_branch == 'Charge Information'
self.is_charging = value == 'Yes'
end
when 'Full charge capacity (mAh)'
self.charge_capacity = value.to_i
when 'Cycle count'
self.charge_cycles = value.to_i
when 'Current Power Source'
if current_branch == 'Battery Power'
self.is_in_use = value == 'Yes'
end
end
end
end
def status
if self.is_charging
'charging'
elsif self.is_fully_charged
'fully charged'
elsif self.is_in_use
'in use'
end
end
def percent_charged
sprintf("%.2f", ((self.charge_remaining.to_f / self.charge_capacity.to_f) * 100))
Uplynulá doba od zapnutí MACu:
ShellScript příkaz:
ahoj, tento nastroj se mi moc libi, jen otazka, jak mas ten vlastni text, jak udelam kdyz tam nechci mit nastalo text, ale aby tam zobrazoval text z nejakyho textovyho souboru??
fuha nezavidim ti hrania sa v tom ale diki za navod nieco si z toho hodim aj ja :)
fuha nezavidim ti hrania sa v tom ale diki za navod nieco si z toho hodim aj ja :)
ahoj, tento nastroj se mi moc libi, jen otazka, jak mas ten vlastni text, jak udelam kdyz tam nechci mit nastalo text, ale aby tam zobrazoval text z nejakyho textovyho souboru??
myslis ze by slo: echo (a pak cesta k souboru??)
Na plochu lze umístit i ikonu počasí z yahoo.com tady je příklad pro Prahu
curl http://weather.yahoo.com/czech-republic/hlavni-mesto-praha/prague-796597/ | grep „obs-current-weather“ | awk ‚{ print $5 }‘ | cut -d „‚“ -f2 | xargs curl –silent -o /kam/uložit/obrázek/název.png