Zavřít reklamu

GeekTool2Tak 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.

ScreenShot TheSTAR Macbook 4.1

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)

Pozadí plochy:

Program DateLine:

DateLine

Web programu: http://www.machinecodex.com/software.php

Více o tomto programu v dalším článku.

Nastavení plochy:
Nastavení plochy

(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:

Datum,hodiny,den v týdnu
Hodiny:

date +"%H:%M"

Datum:

date +"%d / %m / %Y"

Den v týdnu:

date +"%A"

Počasí:

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.

RSS Yahoo ID

Přepište v ShellSriptu pod textem část EZXX0004&u=c vaší částí z odkazu z yahoo.

ShellScript příkaz:

curl --silent "http://xml.weather.yahoo.com/forecastrss?p=EZXX0004&u=c" | grep -E '(Current Conditions:|C

//' -e 's///' -e 's///' -e 's/
//' -e 's///' -e 's///'

IP adresy v síti (WiFi / Lan):

Síť
ShellScript příkaz:

#! /bin/bash
ifconfig | grep "inet" | grep -v 127.0.0.1 | grep -v inet6 | awk '{print $2}'
echo
exit
#original below
myen0=`ifconfig en0 | grep "inet " | grep -v 127.0.0.1 | awk '{print $2}'`

if [ "$myen0" != "" ]
then
    echo "Ethernet : $myen0"
else
    echo "Ethernet : INACTIVE"
fi

myen1=`ifconfig en1 | grep "inet " | grep -v 127.0.0.1 | awk '{print $2}'`

if [ "myen1" != "" ]
then
    echo "AirPort  : $myen1"
else
    echo "Airport  : INACTIVE"
fi

Externí adresa:

#!/bin/bash
echo "External :" `curl --silent http://checkip.dyndns.org | awk '{print $6}' | cut -f 1 -d "
Napájení (stav baterie / cykly):

Napájení
#!/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:

UpTime

ShellScript příkaz:
uptime | awk '{print $3" "$4" "$5" "$6}' | sed -e 's/ load//;s/ user[s,]*//;s/ [0-9]*$//;s/,$//;'

Stav disku:

Hdd
ShellScript příkaz:

df -h | grep disk0s2 | awk '{print "FREE:", $4, "" "\nUSED:", $3}'

Stav paměti:
Ram
ShellScript příkaz:

top -l 1 | awk '/PhysMem/ {print "FREE: " $8 "\nUSED: " $10}'

Výpis správce úloh (vytížení CPU a RAM):
Vytížení CPU & RAM
ShellScript příkaz:

ps -arcwwwxo "command %cpu %mem" | grep -v grep | head -13

Vlastní texty:

Texty

Text1

echo "MacBook Pro 15\" | 2x2GB RAM | 200GB HDD | INTEL DUAL CORE 2,4GHz | nVIDIA 8600GT 256MB"

Text2

echo "Owner: Tibor 'TheSTAR*'Racko"

Podklad pod spodní částí (černý obrázek a nastavení průhlednosti):

Pozadí

(obrázek si stáhněte a přidejte na plochu pomocí GeekToolu, pak už jen nastavte požadovanou průhlednost)

Dnes nejčtenější

.