You are currently browsing the tag archive for the ‘configuration’ tag.

Replying to the comment to the post I let myself to post my .conkyrc here (with the new screenshot- LOL).

It seems that people like it. Well – I am the fan of conky, too.

I have to mention here – that the conky is originally based on the work of lyrea submitted to gnome-look.org and you can find it here:

 http://www.gnome-look.org/content/show.php/Fawn?content=58426

So here it goes:

.conkyrc

#avoid flicker
double_buffer yes

#own window to run simultanious 2 or more conkys
own_window  yes
own_window_transparent no
own_window_type normal
own_window_hints undecorate,sticky,skip_taskbar,skip_pager

#borders
draw_borders no
border_margin 1

#shades
draw_shades no

#position
gap_x 6
gap_y 6
alignment top_left

#behaviour
update_interval 1

#colour
default_color  6d6d6d

#default_shade_color 000000
own_window_colour 303030

#font
use_xft yes
xftfont proggyclean:pixelsize=11

#to prevent window from moving
use_spacer no
minimum_size 1262 0

#mpd
mpd_host localhost
mpd_port 6600

TEXT
${alignc}Kernel: ${color A0A0A0}$kernel   |  ${time %a, %d %B} ${color A0A0A0}${time  %H:%M}  |  ${color} Up: ${color A0A0A0}${uptime_short}   |   ${color}Processes: ${color A0A0A0}$processes  ${color}Running: ${color A0A0A0}$running_processes   |  ${color}Cpu: ${color A0A0A0}${cpu}%   ${color}${cpugraph 10,80 AEA08E 9F907D} ${color A0A0A0}    |   ${color }Mem: ${color A0A0A0}$mem/$memmax – $memperc% ${color} ${membar 6,80}${color A0A0A0}    |   ${color }Net: ${color A0A0A0}${font}${downspeed eth0} Kb/s(D) ${color A0A0A0}${font}${upspeed eth0} Kb/s(U)  |  ${color }Hddtemp: ${color A0A0A0}${texeci 300 ~/bin/hddt_conky.sh}°C ${color 303030}
${alignc} ${color }Root: ${color A0A0A0}${font}${fs_free_perc /}%(free)  |  ${color} Home: ${color A0A0A0}${fs_free_perc /home}%(free)   | ${color} Arch-pkg: ${color A0A0A0}${font}${texeci 1800 python ~/bin/conkypac.py}  |   ${color}Email: ${color A0A0A0}${execi 300 ~/bin/check_gmail.sh} ${color A0A0A0}   | ${color} Weather: ${color A0A0A0} ${execi 1800 ~/bin/accuweather.sh “EUR|NO|NO011|OSLO”} | ${color} Moc: ${color A0A0A0} ${execi 30 ~/bin/mocinf.sh} | ${color} Shell-fm: ${color A0A0A0} ${execi 30 cat ~/.shell-fm/now-playing} ${color 303030}

There are few scripts used here, as you can see. And here they go:

hddt_conky.sh

 #!/bin/bash
echo “$(nc localhost 7634 | cut -d’|’ -f4)”

conkypac.py (big thanks to Michal Orlik from Archlinux)

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Description: Python script for notifying archlinux updates.
# Usage: Put shell script with command ‘pacman -Sy’ into /etc/cron.hourly/
# Conky: e.g. put in conky ‘${texeci 1800 python path/to/this/file}’
# Author: Michal Orlik <thror.fw@gmail.com>, sabooky <sabooky@yahoo.com>

################################################################################
# SETTINGS – main settings
# set this to True if you just want one summary line (True/False)
brief = True
# number of packages to display (0 = display all)
num_of_pkgs = 5
#show only important packages
onlyImportant = False
########################################

# OPTIONAL SETTINGS
# PACKAGE RATING – prioritize packages by rating
# pkgs will be sorted by rating. pkg rating = ratePkg + rateRepo for that pkg
# pkg (default=0, wildcards accepted)
ratePkg = {
‘kernel*’:10,
‘pacman’:9,
‘nvidia*’:8,
}
# repo (default=0, wildcards accepted)
rateRepo = {
‘core’:5,
‘extra’:4,
‘community’:3,
‘testing’:2,
‘unstable’:1,
}
# at what point is a pkg considered “important”
iThresh = 5
########################################

# OUTPUT SETINGS – configure the output format
# change width of output
width = 52
# pkg template – this is how individual pkg info is displayed (” = disabled)
# valid keywords – %(name)s, %(repo)s, %(size).2f, %(ver)s, %(rate)s
pkgTemplate = ” %(repo)s/%(name)s %(ver)s”
# important pkg tempalte – same as above but for “important” pkgs
ipkgTemplate = ” *!* %(repo)s/%(name)s %(ver)s”
# summary template – this is the summary line at the end
# valid keywords – %(numpkg)d, %(size).2f, %(inumpkg), %(isize).2f, %(pkgstring)s
summaryTemplate = ” %(numpkg)d %(pkgstring)s”
# important summary template – same as above if “important” pkgs are found
isummaryTemplate = summaryTemplate + ” (%(inumpkg)d important %(isize).2f MB)”
# pkg right column template – individual pkg right column
# valid keywords – same as pkgTemplate
pkgrightcolTemplate = “%(size).2f MB”
# important pkg right column template – same as above but for important pkgs
ipkgrightcolTemplate = pkgrightcolTemplate
# summary right column template – summay line right column
# valid keywords – same as summaryTemplate
summaryrightcolTemplate = “%(size).2f MB”
# important summary right column template – same as above if “important” pkgs are found
isummaryrightcolTemplate = summaryrightcolTemplate
# seperator before summary (” = disabled)
block = ‘-‘ * 12
# up to date msg
u2d = ‘ Your system is up-to-date’
################################################################################

import subprocess
import re

from time import sleep
from glob import glob
from fnmatch import fnmatch

program = []
pkgs = []
url = None

def runpacman():
“””runs pacman returning the popen object”””
p = subprocess.Popen([‘pacman’,’-Qu’],
stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
return p

def cmpPkgs(x, y):
“””Compares packages for sorting”””
if x[‘rate’]==y[‘rate’]:
return cmp(x[‘size’], y[‘size’])
else:
return x[‘rate’]-y[‘rate’]

if onlyImportant:
pkgTemplate, pkgrightcolTemplate = ”,”

p = runpacman()
#parse pacmans output
for line in p.stdout:
if re.match(‘(Cíle|Pakete|Targets|Se procesará|Cibles|Pacchetti|’
‘Celuje|Pacotes|Цели):’, line):
program = line.split()[1:]
for line in p.stdout:
if not line.strip():
break
program += line.split()

for item in program:
pkg = {}
desc_path = False
desc_paths =  glob(‘/var/lib/pacman/sync/*/%s’%item)

if not desc_path:
desc_path = desc_paths[0] + ‘/desc’

pkg[‘repo’] = desc_path.split(‘/’)[-3]
desc = open(desc_path).readlines()
checkName = 0
checkSize = 0
checkVersion = 0
for index, line in enumerate(desc):
if line==’%NAME%\n’ and checkName == 0:
pkgName = desc[index+1].strip()
pkg[‘name’] = pkgName
checkName = 1
if line==’%CSIZE%\n’ and checkSize == 0:
pkgSize = int(desc[index+1].strip())
pkg[‘size’] = pkgSize / 1024.0 / 1024
checkSize = 1
if line==’%VERSION%\n’ and checkVersion == 0:
pkgVersion = desc[index+1].strip()
pkg[‘ver’] = pkgVersion
checkVersion = 1

pkgRate = [v for x, v  in ratePkg.iteritems()
if fnmatch(pkg[‘name’], x)]
repoRate = [v for x, v in rateRepo.iteritems()
if fnmatch(pkg[‘repo’], x)]
pkg[‘rate’] = sum(pkgRate + repoRate)

pkgs.append(pkg)

# echo list of pkgs
if pkgs:
summary = {}
summary[‘numpkg’] = len(pkgs)
summary[‘size’] = sum([x[‘size’] for x in pkgs])
if summary[‘numpkg’] == 1:
summary[‘pkgstring’] = ‘package’
else:
summary[‘pkgstring’] = ‘packages’
summary[‘inumpkg’] = 0
summary[‘isize’] = 0
lines = []
pkgs.sort(cmpPkgs, reverse=True)
for pkg in pkgs:
important = False

if pkg[‘rate’] >= iThresh:
summary[‘isize’] += pkg[‘size’]
summary[‘inumpkg’] += 1
pkgString = ipkgTemplate % pkg
sizeValueString = ipkgrightcolTemplate % pkg
else:
pkgString = pkgTemplate % pkg
sizeValueString = pkgrightcolTemplate % pkg

if len(pkgString)+len(sizeValueString)>width-1:
pkgString = pkgString[:width-len(sizeValueString)-4]+’…’

line = pkgString.ljust(width – len(sizeValueString)) + sizeValueString
if line.strip():
lines.append(line)

if not brief:
if num_of_pkgs:
print ‘\n’.join(lines[:num_of_pkgs])
else:
print ‘\n’.join(lines)
if block:
print block.rjust(width)

if summary[‘inumpkg’]:
overallString = isummaryTemplate % summary
overallMBString = summaryrightcolTemplate % summary
else:
overallString = summaryTemplate % summary
overallMBString = isummaryrightcolTemplate % summary

summaryline =  overallString.ljust(width – len(overallMBString)) \
+ overallMBString
if summaryline:
print summaryline
else:
print u2d

check_gmail.sh (this one I found on Polish Debian Forum – I am sorry – I forgot the athor…)

#!/bin/bash

gmail_login=”********” #your login
gmail_password=”*********” #your password

dane=”$(wget –secure-protocol=TLSv1 –timeout=3 -t 1 -q -O – \
https://${gmail_login}:${gmail_password}@mail.google.com/mail/feed/atom \
–no-check-certificate | grep ‘fullcount’ \
| sed -e ‘s/.*<fullcount>//;s/<\/fullcount>.*//’ 2>/dev/null)”

if [ -z “$dane” ]; then
echo “Connection Error !”
else
echo “$dane new”
fi

 accuweather.sh (thanks to Archlinux forum member – Michael Seiler)

#!/bin/sh
#AccuWeather (r) RSS weather tool for conky
#
#USAGE: weather.sh <locationcode>
#
#(c) Michael Seiler 2007

METRIC=1 #Should be 0 or 1; 0 for F, 1 for C

if [ -z $1 ]; then
echo
echo “USAGE: weather.sh <locationcode>” #find the code of your city on accuweather.com – my code for Oslo is: “EUR|NO|NO011|OSLO” – and put the right one in your .conkyrc
echo
exit 0;
fi

curl -s http://rss.accuweather.com/rss/liveweather_rss.asp\?metric\=${METRIC}\&locCode\=$1 | perl -ne ‘if (/Currently/) {chomp;/\<title\>Currently: (.*)?\<\/title\>/; print “$1”; }’

 mocinf.sh (this one is found probably on Archlinux forum, too – but AFAIR I modified it a bit to make it working)

#!/bin/sh

TITLE=”`mocp -i | grep ‘Title:’ | sed -e ‘s/^.*: //’`”;
if [ “$TITLE” != “” ]; then
ARTIST=”`mocp -i | grep ‘Artist:’ | sed -e ‘s/^.*: //’`”;
SONGTITLE=”`mocp -i | grep ‘SongTitle:’ | sed -e ‘s/^.*: //’`”;
if [ “$ARTIST” != “” ]; then ARTIST=”$ARTIST – “; fi
echo $ARTIST $SONGTITLE
else echo „paused”
fi

…and that’s it. Feel free to use it or modify it to your heart content – and enjoy “tweaking” your Linux desktop 🙂

Screenshot1 – my desktop today(with the conky) – featuring the wallpaper of IAmFreeman from deviantart (you can find it here: http://iamfreeman.deviantart.com/):

screenshot-2008-02-16-183633.png

and Screenshot2 – the conky in itself 😉 :

conky_screen.png

Enjoy!

tami 🙂

Advertisements

Hello, Time :)

October 2017
M T W T F S S
« Sep    
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Archives

cc -Some rights

by Tami

Blog Stats

  • 117,327 hits