Monday, October 20, 2014

Theme from a movie

In which your humble author explores ways to help Linux Mint finally break free of its "Any Colour You Like As Long As It's Green" shackles...


One of my favourite movies of recent years is "Berberian Sound Studio", a psychological thriller in which a foley artist (played by the superb Toby Jones, currently to be seen in TV's "Detectorists") lands a job in a CineCitta recording facility and then becomes a little too involved in his work. Throughout the film, the red studio safelight is used as a leitmotif to cut between scenes. Okay, says I, that's another desktop theme project that's waiting to happen!

NB: I am doing this project on my Lenovo laptop running Linux Mint 17 ("Qiana") 64-bit MATE edition. But I'm pretty sure you will have no problem applying it to other flavours of your favourite Linux distro.

Wallpaper - I trawled that internet thingy to find film stills that featured the safelight and the "silenzio" sign. I found a couple that I liked, but nothing that was 'readymade'. After some judicious cropping and application of a little 'smart blur' to get rid of the pixellation that results from such vicious enlargement, I ended up with this.


Red Theme - To colorize the windowframes and menus, you will need to download and install the zoncolor themes pack from the excellent Noobslab concern. The only downside to this jolly useful package is that the themes (still) come with those rather dated and ugly Gnome icons. I happen to like the icons that come with Linux Mint, it's just a shame they are all designed to best suit the default green colour scheme...


Red Icons - ...so imagine my pleasant surprise when I found the Mint-X Colors icons package, also via those awfully nice folks at Noobslab. Rumour has it that future versions of Linux Mint will have the coloured Mint-X icons included as part of the installation. Hoorah! No more "green only"! But for now, you can get all you need from Noobslab.com (who are, I realise, getting a lot of free advertising in this article!)

Red Panel - As I explained in previous postings on this very blogspot, the MATE panel by default appears in a rather dull shade of off-white (It also comes with that big ugly MintMenu attached which defies all attempts to "style" it). You can make adjustments to the panel's transparency, but that's about it. To get it to match your scheme, the best approach is to create a background 'tile' to fill it with the glorious colour of your choice. I happen to like a bit of 'texture' to my desktops (not for me the flat, LegoLand features of modern Windoze). I used our old friend The GIMP to fountain-fill a 25-pixel square with a subtle blend of red and black, to get a nice gradient effect to match the ZonColor windows. Like this:-
Right-click on your panel and select "Properties" then "Background" to apply it. I keep a sub-folder in "Pictures" in which I store a number of "panel-fill*.png" files to suit different colour schemes. As for that menu... You can see (-> the last screenshot at the foot of this page) that I've replaced it with one of the other choices in the "Add To Panel" apps list, one which does adapt to the ZonColor scheme.

The Conky - Derived for the most part from Conky Hardy, this hasn't changed that much since the last posting. I simply fixed a couple of things and added a couple more! This time, I made most of the text match my colour scheme (I use a very useful colour picker plug-in for Firefox called Rainbow to do this kind of thing). I highlighted the "active" text in white and the digital clock in red. I have discovered some new features which have been added since last time, notably the ability to report the temperature of the CPU core(s), so I rearranged the CPU section slightly to accomodate this new info. You need to have Lm Sensors installed on your machine for this to work properly. Full instructions for setting it up can be found here. After a previous blog, where I demonstrated how to get your battery indicator to change colour according to its state of fullness, someone pointed out that it caused the whole conky to start flashing in a most unorthodox fashion when it got down below the 'red' level. I've now simplified the script so that it doesn't do this anymore. In addition, I increased the number of items on the "Highest CPU" list, did a couple more tweaks to the wireless/network section and replaced some of the icons with ones from the "ConkySymbols" and "Poky" fonts, which were part of yet another package from Noobslabs (On an unrelated note, I noticed that the Windoze symbols fonts such as Webdings and Wingdings stopped working properly on m'Linux, like these guys. I'd be glad if someone could suggest a way of fixing this that doesn't involve rolling back my installation in any way!). Anyway, once again, here's that blessed .conkyrc file in full:-


# Conky by http://jameshardy88.deviantart.com/art/Conky-JamesHardy88-122466724
# Modified by Umair - http://www.NoobsLab.com
# Further modified by ppMinty 2014

# Use Xft?
use_xft yes
xftfont Verdana:size=9
xftalpha 0.8
text_buffer_size 2048

# Update interval in seconds
update_interval 1

# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0

# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_transparent yes
own_window_type conky
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# Minimum size of text area
minimum_size 300 0
maximum_width 300

# Draw shades?
draw_shades yes

# Draw outlines?
draw_outline no

# Draw borders around text
draw_borders no

# Stippled borders?
stippled_borders 0

# border margins
border_margin 5

# border width
border_width 1

# Default colors and also border colors
default_color a05050
default_shade_color black
#default_outline_color white
own_window_colour white

# Text alignment, other possible values are commented
#alignment top_left
alignment top_right
#alignment bottom_left
#alignment bottom_right

# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 20
gap_y 20

# Subtract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase no

# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 1

# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2

# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes

# Add spaces to keep things from moving about? This only affects certain objects.
use_spacer none

TEXT
${alignc}${time %A} ${time %e %B %G}

${color red}${font LCDMono:size=50} ${tim %H:%M}${font}${color}
${voffset 4}${font ConkySymbols:size=30}U${font}${alignr}Linux Mint 17 "Qiana" MATE 64-bit
${font StyleBats:size=15} ${font}Kernel: ${alignr}${kernel}
${font StyleBats:size=15} ${font}Hostname: ${alignr}${nodename}


SYSTEM MONITOR ${hr 1}
${font ConkySymbols:size=13}F${font} CPU: ${color white}${cpu}%${color} (@ ${color white}${freq}MHz${color}) ${alignr}${cpubar cpu0 8,110}
${font StyleBats:size=15} ${font} Core 1:${alignr} ${color white}${cpu cpu1}%${color} ${cpubar cpu1 8,110}
${font StyleBats:size=15} ${font} Core 2:${alignr} ${color white}${cpu cpu2}%${color} ${cpubar cpu2 8,110}
${font StyleBats:size=15} ${font} CPU Temperature:${alignr}${color white}${execi 10 sensors | grep ^temp1 | tail -n 1 |awk '{print $2}'}${color}
${font ConkySymbols:size=13}j${font} RAM: ${color white}$memperc%${color}, SWAP: ${color white}$swapperc%${color} ${alignr}${membar 8,110}
${font ConkySymbols:size=13}K${font} Hard Drive: ${alignr}${color white}${fs_free /home}${color} available (of ${color white}${fs_size /home}${color})
${font Poky:size=12}R${font} Battery: ${color white}${battery_percent BAT1}%${color} ${alignr}${if_match ${battery_percent BAT1} <= 10}${color red}${battery_bar 8,110 BAT1}${color}${endif}${if_match ${battery_percent BAT1} >= 10}${if_match ${battery_percent BAT1} <=49}${color orange}${battery_bar 8,110 BAT1}${color}${endif}${endif}${if_match ${battery_percent BAT1} >= 50}${if_match ${battery_percent BAT1} <=79}${color yellow}${battery_bar 8,110 BAT1}${color}${endif}${endif}${if_match ${battery_percent BAT1} >= 80}${if_match ${battery_percent BAT1} <=99}${color green}${battery_bar 8,110 BAT1}${color}${endif}${endif}${if_match ${battery_percent BAT1} >= 100}${color white}${battery_bar 8,110 BAT1}${color}${endif}
${font Poky:size=12}x${font} Uptime: ${alignr}${color white}${uptime}${color}
${font Poky:size=12}a${font} Processes: ${alignr}${color white}$processes${color} (${color white}$running_processes${color} running)

Highest CPU $alignr CPU% MEM%
${hr 1}
${color white}${top name 1}$alignr${top cpu 1} ${top mem 1}
${top name 2}$alignr${top cpu 2} ${top mem 2}
${top name 3}$alignr${top cpu 3} ${top mem 3}
${top name 4}$alignr${top cpu 4} ${top mem 4}
${top name 5}$alignr${top cpu 5} ${top mem 5}
${top name 6}$alignr${top cpu 6} ${top mem 6}${color}

NETWORK ${hr 1}
${if_existing /proc/net/route wlan0}${voffset 4}${font ConkySymbols:size=10}d${font} Total Upload: ${alignr}${color white}${totalup wlan0}${color} ${upspeedgraph wlan0 8,110}
${voffset 4}${font ConkySymbols:size=10}e${font} Total Download: ${alignr}${color white}${totaldown wlan0}${color} ${downspeedgraph wlan0 8,110}
${voffset 4}${font ConkySymbols:size=10}I${font} Local IP Address: ${alignr}${addr wlan0}
${voffset 4}${font ConkySymbols:size=10}g${font} Wi-Fi ID: ${alignr}${wireless_essid wlan0}
${voffset 4}${font ConkySymbols:size=10}b${font} Signal Strength: ${alignr}${color white} ${wireless_link_qual_perc wlan0}%${color}
${else}${if_existing /proc/net/route eth1}
${voffset 4}${font ConkySymbols:size=10}d${font} Total Upload: ${alignr}${color white}${totalup eth1}${color} ${upspeedgraph eth1 8,110}
${voffset 4}${font ConkySymbols:size=10}e${font} Total Download: ${alignr}${color white}${totaldown eth1}${color} ${downspeedgraph eth1 8,110}
${voffset 4}${font ConkySymbols:size=10}I${font} Local IP Address: ${alignr}${addr eth1}
${voffset 4}${font ConkySymbols:size=10}g${font} Wi-Fi ID: ${alignr}${wireless_essid eth1}
${voffset 4}${font ConkySymbols:size=10}b${font} Signal Strength: ${alignr}${color white} ${wireless_link_qual_perc eth1}%${color}
${endif}
${else}${if_existing /proc/net/route eth0}
${voffset 4}${font ConkySymbols:size=10}d${font} Total Upload: ${alignr}${color white}${totalup eth0}${color} ${upspeedgraph eth0 8,110}
${voffset 4}${font ConkySymbols:size=10}e${font} Total Download: ${alignr}${color white}${totaldown eth0}${color} ${downspeedgraph eth0 8,110}
${voffset 4}${font ConkySymbols:size=10}I${font} Local IP Address: ${alignr}${addr eth0}
${voffset 4}${font ConkySymbols:size=10}g${font} Wi-Fi ID: ${alignr}${wireless_essid eth0}
${voffset 4}${font ConkySymbols:size=10}b${font} Signal Strength: ${alignr}${color white} ${wireless_link_qual_perc eth0}%${color}
${else}No network connection${endif}${endif}${endif}${hr 1}



Just for the record, here are the original wallpaper images I downloaded before I had a go at it myself. You might find these suit your screen size/layout better:-
http://riversofgrue.files.wordpress.com/2014/04/berberian_sound_studio_crimson_quill-10.jpg
http://www.karsikultur.com/wp-content/uploads/2013/02/berberiansoundstudiolist.jpg

For that finishing touch, I also installed this theme on my Firefox, which fits in rather nicely with the rest of it:- https://addons.mozilla.org/en-US/firefox/addon/glass-blood/













Saturday, May 17, 2014

Conky Update

PREVIOUSLY ON 'PEDANTIC PEDESTRIAN'... Although I said I'd arrived at a Conky design that I was happy with, there were still one or two things that needed 'solving'...


On the recommendation of a few folks over on the GooglePlus Linux Mint Community, I thought I'd give that Conky Manager a go. I was impressed with some of the 'readymade' themes that came bundled with it, even more so if you add the Deluxe Themes Pack. I enjoyed playing around with a few things for a day or two, although I concluded that there was nothing there that was quite my cup of tea.

The Conky Manager acts as (what amounts to) a WYSIWYG graphical interface for building your Conky. For me it felt much the same as using some Desktop Publishing or web design software, where you work from readymade templates. Some people are happy enough doing things this way, but they never venture far beyond the templates. Hence, a lot of pages (or, in this case, desktops) that all look rather too similar.

In the end, as a 'designer', I felt I'd got more of a sense of achievement having built my own Conky (almost) from scratch. Somehow, it seems to me a more 'Linux' way of doing things! Just as you will never really learn HTML or CSS by using a WYSIWYG editor, so you will never really learn how a Conky works until you get your hands a bit dirty...

However... The Conky Manager theme pack did provide me with a few useful commodities...

You recall that I was lamenting the fact that the original OpenLogos font did not having a character for Linux Mint (so I had to approximate something of my own, using Ubuntu Condensed)?

The ConkySymbols font, that came as part of one of the theme templates, does have Linux Mint logos! Hooray!

By exploring the .conkyrc files of one or two of the Conky Manager themes, I was also able to find scripts that show my Wi-Fi signal strength (something I'd been searching high and low for!) and, just for the sheer heck of it, the ID of the Wi-Fi router. I was also able to substitute some nicer looking icons for the 'Network' section of the Conky as a whole.

Here's that updated .conkyrc, then - just a few subtle differences since last time, but they're all differences I'd been striving for! :-


# Conky by http://jameshardy88.deviantart.com/art/Conky-JamesHardy88-122466724
# Modified by Umair - http://www.NoobsLab.com
# Further modified by ppMinty 2014

# Use Xft?
use_xft yes
xftfont Verdana:size=9
xftalpha 0.8
text_buffer_size 2048

# Update interval in seconds
update_interval 1

# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0

# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_transparent yes
own_window_type conky
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# Minimum size of text area
minimum_size 300 0
#maximum_width 300

# Draw shades?
draw_shades yes

# Draw outlines?
draw_outline no

# Draw borders around text
draw_borders no

# Stippled borders?
stippled_borders 0

# border margins
border_margin 5

# border width
border_width 1

# Default colors and also border colors
default_color 60cc90
default_shade_color black
#default_outline_color white
own_window_colour white

# Text alignment, other possible values are commented
#alignment top_left
alignment top_right
#alignment bottom_left
#alignment bottom_right

# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 40
gap_y 30

# Subtract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase no

# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 1

# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2

# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes

# Add spaces to keep things from moving about? This only affects certain objects.
use_spacer none

TEXT
${alignc}${time %A} ${time %e %B %G}

${color green}${font LCDMono:size=40} ${time %H:%M}${font}${color}
${voffset 4}${font ConkySymbols:size=30}u${font}${alignr}Linux Mint Debian Edition MATE 64-bit
${font StyleBats:size=15} ${font}Kernel: ${alignr}${kernel}
${font StyleBats:size=15} ${font}Hostname: ${alignr}${nodename}


SYSTEM MONITOR ${hr 1}
${font StyleBats:size=15} ${font}${alignr}Core 1: ${color white}${cpu cpu1}%${color} ${cpubar cpu1 8,110}
${font StyleBats:size=15} ${font}${alignr}Core 2: ${color white}${cpu cpu2}%${color} ${cpubar cpu2 8,110}
${font StyleBats:size=15}A${font} CPU: ${color white}${cpu}%${color} (@ ${color white}${freq}MHz${color}) ${alignr}${cpubar cpu0 8,110}
${font StyleBats:size=15}g${font} RAM: ${color white}$memperc%${color}, SWAP: ${color white}$swapperc%${color} ${alignr}${membar 8,110}
${font StyleBats:size=15}f${font} Hard Drive: ${alignr}${color white}${fs_free /home}${color} available (of ${color white}${fs_size /home}${color})
${font Webdings:size=15}~${font} Battery: ${color white}${battery_percent BAT1}%${color} ${alignr}${if_match ${battery_percent BAT1} <= 9}${color red}${battery_bar 8,110 BAT1}${color}${endif}${if_match ${battery_percent BAT1} >= 10}${if_match ${battery_percent BAT1} <=49}${color orange}${battery_bar 8,110 BAT1}${color}${endif}${endif}${if_match ${battery_percent BAT1} >= 50}${if_match ${battery_percent BAT1} <=79}${color yellow}${battery_bar 8,110 BAT1}${color}${endif}${endif}${if_match ${battery_percent BAT1} >= 80}${if_match ${battery_percent BAT1} <=99}${color green}${battery_bar 8,110 BAT1}${color}${endif}${endif}${if_match ${battery_percent BAT1} >= 100}${color white}${battery_bar 8,110 BAT1}${color}${endif}
${font StyleBats:size=15}q${font} Uptime: ${alignr}${color white}${uptime}${color}
${font StyleBats:size=15}k${font} Processes: ${alignr}${color white}$processes${color} (${color white}$running_processes${color} running)

Highest CPU $alignr CPU% MEM%
${hr 1}
${color white}${top name 1}$alignr${top cpu 1} ${top mem 1}
${top name 2}$alignr${top cpu 2} ${top mem 2}
${top name 3}$alignr${top cpu 3} ${top mem 3}${color}


NETWORK ${hr 1}
${if_existing /proc/net/route wlan0}${voffset 4}${font ConkySymbols:size=10}d${font} Total Upload: ${alignr}${color white}${totalup wlan0}${color} ${upspeedgraph wlan0 8,110}
${voffset 4}${font ConkySymbols:size=10}e${font} Total Download: ${alignr}${color white}${totaldown wlan0}${color} ${downspeedgraph wlan0 8,110}
${voffset 4}${font ConkySymbols:size=10}I${font} Local IP Address: ${alignr}${addr wlan0}
${voffset 4}${font ConkySymbols:size=10}g${font} Wi-Fi ID: ${alignr}${wireless_essid wlan0}
${voffset 4}${font ConkySymbols:size=10}b${font} Signal Strength: ${alignr}${color white} ${wireless_link_qual_perc wlan0}%${color}
${else}${if_existing /proc/net/route eth1}
${voffset 4}${font ConkySymbols:size=10}d${font} Total Upload: ${alignr}${color white}${totalup eth1}${color} ${upspeedgraph eth1 8,110}
${voffset 4}${font ConkySymbols:size=10}e${font} Total Download: ${alignr}${color white}${totaldown eth1}${color} ${downspeedgraph eth1 8,110}
${voffset 4}${font ConkySymbols:size=10}I${font} Local IP Address: ${alignr}${addr eth1}
${voffset 4}${font ConkySymbols:size=10}g${font} Wi-Fi ID: ${alignr}${wireless_essid eth1}
${voffset 4}${font ConkySymbols:size=10}b${font} Signal Strength: ${alignr}${color white} ${wireless_link_qual_perc eth1}%${color}
${endif}
${else}${if_existing /proc/net/route eth0}
${voffset 4}${font ConkySymbols:size=10}d${font} Total Upload: ${alignr}${color white}${totalup eth0}${color} ${upspeedgraph eth0 8,110}
${voffset 4}${font ConkySymbols:size=10}e${font} Total Download: ${alignr}${color white}${totaldown eth0}${color} ${downspeedgraph eth0 8,110}
${voffset 4}${font ConkySymbols:size=10}I${font} Local IP Address: ${alignr}${addr eth0}
${voffset 4}${font ConkySymbols:size=10}g${font} Wi-Fi ID: ${alignr}${wireless_essid eth0}
${voffset 4}${font ConkySymbols:size=10}b${font} Signal Strength: ${alignr}${color white} ${wireless_link_qual_perc eth0}%${color}
${else}No network connection${endif}${endif}${endif}${hr 1}


That's not to say, of course, that there won't be any more changes, as I pick up an occasional tweak or handy hint from here and there...





Wednesday, May 7, 2014

More fun with a Linux desktop

Further explorations with the MATE desktop, including finally getting that Conky to be JUST as I wanted it (well almost...)

Since last I explored the possibilities of Conky (and other such esoteric matters) on these pages, my Lenovo laptop has had a slight change of scenery.

I'm sticking with Linux Mint and I still prefer the MATE desktop over the Cinnamon flavour, but now I've switched over to the Debian Edition (LMDE). This has its advantages and disadvantages, as you find with all things Linux.  

Pro: Instead of feeling the need to completely replace your Linux Mint installation every time there a new version (you say you're not going to do this, but you always end up wanting to try new things in Linuxland!), with Debian the updates are 'rolling' - that is to say a few simple scripts typed into the terminal window and you're dragged screaming up to date without having to remove anything or back up the old stuff first (in theory!).  

Con: because it skips over the Ubuntu way of doing things and doesn't use Personal Package Archive repositories for your update manager to get its data from, all those cool Ubuntu add-ons that you would 'ppa' before (like the noobslab.com themes that I explored on my previous bloggy project here) are no longer so easily accessible or compatible (There are 'ways', of course...)

The Conky

When I last blogged about customizing my Conky, I mentioned that there were a couple of things that I hadn't quite got right at the time, plus there were also some additional features that I wanted to include, but hadn't figured out yet. Well, I'm getting there!

These included adding some script that would make the battery indicator change colour according to the state of the power supply. So if the lappy is powered via the mains adaptor, then the bar stays white. When I find myself relying on batteries, then the colour will change from green to yellow to orange and finally to red just as it's about to give up the ghost. I must admit, I've never let it go any lower than green (except in 'tests' for this project), but it's nice to know that it finally does what I wanted.

I've also trimmed some of my previous Conky's text - some of the network/wi-fi stuff was a tad redundant (Really, I'd be satisfied with just an indicator that tells me the strength of the wi-fi connection, if anyone knows how to do this?). I didn't see why the swapfile needed a whole line of its own as it so rarely gets accessed by the system, if at all.

For obscure reasons of my own that are now lost among the ancients, I wanted to make the clock look more like an LCD digital display. I downloaded a bunch of free fonts until I settled on one that looked the part - LCDMono, it's called. There's a wee bit of trial and error involved in getting the clock to centre on the column like that, because the ${alignc} command seemed to push it off the edge of the screen everytime. I used some manual spacing instead. Conky's approach to typographical correctness leaves a lot to be desired! Oh, for good old CSS!

Having chosen a tasteful new background wallpaper that I could comfortably live with, I wanted to colour-coordinate the Conky to match. (Ah! now you've got me... I can't remember where this wallpaper originally came from! I have a hunch it was part of a previous Noobslab collection?). I'm on more familiar territory here, since with Conky scripts you can specify colours as hexadecimal values, the same as you do in HTML or CSS. I used my favourite Firefox color-picker plug-in Rainbow to get the exact shade of green I wanted to match. Most of the 'active' information on the display is in white, apart from the 'glowing' green digital clock and the aforementioned, colour-shifting battery bar... Anyway, here's my .conkyrc script in its entirety...


# Conky by http://jameshardy88.deviantart.com/art/Conky-JamesHardy88-122466724
# Modified by Umair - http://www.NoobsLab.com
# Further modified by ppMinty 2014

# Use Xft?
use_xft yes
xftfont Verdana:size=9
xftalpha 0.8
text_buffer_size 2048

# Update interval in seconds
update_interval 1

# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0

# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_transparent yes
own_window_type conky
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# Minimum size of text area
minimum_size 300 0
#maximum_width 300

# Draw shades?
draw_shades yes
# Draw outlines?
draw_outline no
# Draw borders around text
draw_borders no
# Stippled borders?
stippled_borders 0
# border margins
border_margin 5
# border width
border_width 1

# Default colors and also border colors
default_color 60cc90
default_shade_color black
#default_outline_color white
own_window_colour white

# Text alignment, other possible values are commented
#alignment top_left
alignment top_right
#alignment bottom_left
#alignment bottom_right


# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 40
gap_y 30

# Subtract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase no

# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 1
# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2

# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes

# Add spaces to keep things from moving about? This only affects certain objects.
use_spacer none

TEXT
${alignc}${time %A} ${time %e %B %G}

${color green}${font LCDMono:size=40} ${time %H:%M}${font}${color}

${hr 1}
${font Ubuntu Condensed:size=16}linux mint${font}${alignr}Debian Edition MATE 64-bit
${font StyleBats:size=15} ${font}Kernel: ${alignr}${kernel}
${font StyleBats:size=15} ${font}Hostname: ${alignr}${nodename}

SYSTEM MONITOR ${hr 1}
${font StyleBats:size=15} ${font}${alignr}Core 1: ${color white}${cpu cpu1}%${color} ${cpubar cpu1 8,110}
${font StyleBats:size=15} ${font}${alignr}Core 2: ${color white}${cpu cpu2}%${color} ${cpubar cpu2 8,110}
${font StyleBats:size=15}A${font} CPU: ${color white}${cpu}%${color} (@ ${color white}${freq}MHz${color}) ${alignr}${cpubar cpu0 8,110}
${font StyleBats:size=15}g${font} RAM: ${color white}$memperc%${color}, SWAP: ${color white}$swapperc%${color} ${alignr}${membar 8,110}
${font StyleBats:size=15}f${font} HARD DRIVE: ${alignr}${color white}${fs_free /home}${color} available (of ${color white}${fs_size /home}${color})
${font Webdings:size=15}~${font} BATTERY: ${color white}${battery_percent BAT1}%${color} ${alignr}${if_match ${battery_percent BAT1} <= 9}${color red}${battery_bar 8,110 BAT1}${color}${endif}${if_match ${battery_percent BAT1} >= 10}${if_match ${battery_percent BAT1} <=49}${color orange}${battery_bar 8,110 BAT1}${color}${endif}${endif}${if_match ${battery_percent BAT1} >= 50}${if_match ${battery_percent BAT1} <=79}${color yellow}${battery_bar 8,110 BAT1}${color}${endif}${endif}${if_match ${battery_percent BAT1} >= 80}${if_match ${battery_percent BAT1} <=99}${color green}${battery_bar 8,110 BAT1}${color}${endif}${endif}${if_match ${battery_percent BAT1} >= 100}${color white}${battery_bar 8,110 BAT1}${color}${endif}
${font StyleBats:size=15}q${font} Uptime: ${alignr}${color white}${uptime}${color}
${font StyleBats:size=15}k${font} Processes: ${alignr}${color white}$processes${color} (${color white}$running_processes${color} running)

Highest CPU $alignr CPU% MEM%
${hr 1}
${color white}${top name 1}$alignr${top cpu 1} ${top mem 1}
${top name 2}$alignr${top cpu 2} ${top mem 2}
${top name 3}$alignr${top cpu 3} ${top mem 3}${color}

NETWORK ${hr 1}
${if_existing /proc/net/route wlan0}${voffset 4}${font PizzaDude Bullets:size=12}N${font} Total Upload: ${alignr}${color white}${totalup wlan0}${color} ${upspeedgraph wlan0 8,110}
${voffset 4}${font PizzaDude Bullets:size=12}T${font} Total Download: ${alignr}${color white}${totaldown wlan0}${color} ${downspeedgraph wlan0 8,110}
${voffset 4}${font PizzaDude Bullets:size=12}a${font} Local IP: ${alignr}${addr wlan0}
${else}${if_existing /proc/net/route eth1}
${voffset 4}${font PizzaDude Bullets:size=12}N${font} Total Upload: ${alignr}${color white}${totalup eth1}${color} ${upspeedgraph eth1 8,110}
${voffset 4}${font PizzaDude Bullets:size=12}T${font} Total Download: ${alignr}${color white}${totaldown eth1}${color} ${downspeedgraph eth1 8,110}
${voffset 4}${font PizzaDude Bullets:size=12}a${font} Local IP: ${alignr}${addr eth1}
${endif}
${else}${if_existing /proc/net/route eth0}
${voffset 4}${font PizzaDude Bullets:size=12}N${font} Total Upload: ${alignr}${color white}${totalup eth0}${color} ${upspeedgraph eth0 8,110}
${voffset 4}${font PizzaDude Bullets:size=12}T${font} Total Download: ${alignr}${color white}${totaldown eth0}${color} ${downspeedgraph eth0 8,110}
${voffset 4}${font PizzaDude Bullets:size=12}a${font} Local IP: ${alignr}${addr eth0}
${else}No network connection${endif}${endif}${endif}${hr 1}


The Panel

Once again I've created a 'shiny' background texture for the panel bar that is more interesting to look at than the flat off-white one that is MATE's default. I previously experimented with various 'tints of colour', but here I've gone for something more 'silver'-looking, which matches the big silver MintMenu. I've now gone back to using that 'advanced' menu option instead of the simplified version I was using previously - although I still can't for the life of me understand why anyone would want a search function there on the menu itself. Still, horses for courses! I know of at least one Brazilian gentleman who is doing wonderful things with 'configurable' menus that seem to do everything, but they're not for me.

I tweaked some of the colour settings for the menu (the tool-tips, the section headings) to match my scheme, but mostly I left it alone this time. In a previous installation, I'd had a 'disaster' when I tried to customize the icons. Having the aluminium-look panel bar means that the minimized window tile thingies no longer clash or stick out like a sore thumb. You can see that I'm still obstinately sticking to a 'classic' Windows-type layout ("other layouts are available") with the bar at the bottom of the screen, a "start menu" in the bottom left where it belongs and the barest minimum of desktop icons, as is my long-established wont.



The Sources

Conky Hardy
http://www.noobslab.com/2012/07/install-conky-hardy-in-ubuntulinux.html
for LMDE, follow "wget Installation Method", scroll down to where it says "For Gnome Classic, Mate, and other:" and read on... This, of course, is the original Conky Hardy before I got my hands on it! You will need to install it first, then replace the .conkyrc script with one like mine.

Wallpaper
http://www.noobslab.com/2013/06/zoncolor-themes-and-icons-package-for.html
Here we go! I found it! This page contains loads of other zonColor themes (icons, colour schemes, etc etc). You might recall that I used some zonColor icons for my King Crimson-themed project last time. The wallpaper I'm using now is part of a collection called zonColor Wallpapers (not surprisingly!). Scroll down this page to where it says "Download zonColor Wallpapers" and save the ZIP file.

Fonts used in Conky
I've used standard Linux fonts that come with any distro - most of the text is set in Verdana, which is part of the Microsoft Windows Core Fonts set. If you don't have that already, then you can add it with sudo apt-get install ttf-mscorefonts-installer. (DejaVu Sans is a pretty good match though). I typeset the words 'linux mint' in Ubuntu Condensed - because the symbols font OpenLogos has characters for all the other Linux distros but, sadly, not Mint. I had to 'make my own'. It's not a bad approximation. All the other little icons are either from StyleBats, Webdings or PizzaDude Bullets. The font used for the glowing green digital clock is LCDMono, which is part of this collection:
http://www.dafont.com/lcd-lcd-mono.font
When you add any fonts to your system, remember to run sudo fc-cache -fv to complete the installation.




Thursday, February 27, 2014

desKtop projeKt

Putting a touch of PROG-ROCK in your laptop... a distinctively ungreen look for my Linux Mint!


Now you know me... if I've said it a thousand times on these pages, I don't like a cluttered desktop. But I often look on those screenshots posted on the GooglePlus Linux communities, bestrewn with all manner of dockies and conkies, weird backdrops, weird fonts and even weirder colour combinations and think "I ought to try some of that, even if just for the purposes of education!". I mean I couldn't actually live with all that stuff for long, but you don't know how it's done until you try it...

So... I needed a theme for my project. I didn't have to look very far, as the iconic sleeve for a certain pioneering 1969 release on Island Records stares out at me on a daily basis. It literally screams out to be turned into a desktop theme...

What you need

A Wallpaper... Out there on that internet, there are lots of naughty copies (of widely varying provenance and quality) of that famous Barry Godber painting, but I found this one to be the best quality for my laptop screen. The 'gatefold' layout of the picture, with the face itself to the right side of the screen, will affect the 'typographic' design of the screen. You don't want to position any permanent widgets on the desktop in a place that will obscure the poor distraught fellow's face. I also decided that, with all those other launching options available to me now, I don't need any icons on the desktop. This will be a controversial issue with some, I'm sure.

A Dock... There are some really fancy docking stations available, some of them clones of the one featured on a certain fruity computer, some them with a uniquely Linux flavour of their own. Some of them are demanding on your graphics chip and will require that you are running an equally 'intense' Cinnamon desktop to take advantage of all their features. I'm often baffled, when I look at those screenshots I mentioned, as to why people go to the trouble of building a docking bar to launch their apps, yet they still have a desktop full of duplicate icons. But maybe that's just me and my 'minimalism' talking... I'm running a MATE version of Linux, with its Gnome ancestry and all, so I googled-about until I saw something suitable for my own needs. DockBarX sure ain't fancy... but it does what I wanted, which is to sit in the corner and hide itself away when not required, as well as lending itself to a little graphical customization to suit my scheme.

A Conky... As you will know if you read my previous bloggy here, I plumped for the relatively simple Conky-Hardy as being the most suitable for my needs. As you will also know from that same blog, I've modified my own version somewhat. For this project, I applied some further changes to the '.conkyrc' file. Usually, I like my system feedback to run down the right side of the screen, but for this layout I put it over on the left, rather like the sleevenotes on the back of an album (oh yes, prog-pedants... I do know that the original "ItCotCK" gatefold didn't have any typography on the outside!). I also gave the text a pinker shade of off-white to suit, and I edited the time and date line so that the time is still visible when I have windows open.

A Colour Theme... My MATE version of Mint is a bit lacking in themes of its own. How 'bout yours? You go to the "Appearance" section of your preferences and you find that there is just the option to tweak the Mint-X scheme by replacing the icons with some rather dull looking old Gnome ones. There's a link at the foot of the screen that says something like "Add more themes"... but it doesn't do anything! Not much help there. No, the best repository for all those themes and icons and much else besides in the wonderful world of Linux Personalisation is NoobsLabs.com. That's where I found my Conky and this is also where I found page after page of additional themes that will work with my flavour of Linux. There's some really nice, well-designed stuff there (there's also quite a lot that wasn't to my taste at all!), but I eventually settled on the zonColor collection as being a likely source for what I needed for this scheme, as well as offering a large and varied selection to keep in my "Appearances" for any future whimsies. My immediate requirement was for something with a touch of 'crimson' to match my background. There is a very nice 'zoncolor-red' theme that does exactly that.

A Customized Panel... Obviously, the first thing you want to do is put the regular panel at the top of the screen, because your dock panel now occupies the bottom. I also decided to set both panels to 'autohide' (Did I mention I don't like clutter?) The default MATE version of the panel is a bit dull - it's normally just this plain off-white thing that won't compliment your wallpaper whatever colour that is. I figured at first that this might be somewhere where my knowledge of CSS would come in handy, but in the end, I've found a more painterly solution. Using our old friend the GIMP, I created a gradient-filled tile (27 px square) that would act as the background texture for the panel. In fact, I've now created a number of these in different tints of shininess which will go with different colour schemes. My customary Minty one is 'shiny-with-a-hint-of-green', but for this exercise I made one that was the same shade of purply-pink as the bottom dock panel... As for the contents of the panel, I apply the same Rule of Redundant Duplication as I mentioned when talking about desktop icons. If you've created launchers for all your apps on the new docky, then why do you need those extra icons on the panel anymore? Strip it down to the basics. A menu array in the top-left corner, some handy additional widgets in the right (stuff that you might need occasionally, but don't necessarily need for immediate call-up via your dock. In my case, that includes the AntiVirus scanner, the network doobry, the preferences for the DockBarX app and the Update Manager) ...and that's all you need from a panel, folks.

There you have it. I've now reverted my own Mint back to the business-like 'study in green' that it was before, but I enjoyed exploring the possibilities offered by all those bolt-on goodies that folks are so clearly fond of. Just goes to show how versatile Linux is. You can make it work exactly like a Windoze or a Mac, but it's also possible to build something that is uniquely your own. It helps that MATE is a particularly robust version of the Linux Mint distro, based as it is on the well-tried Gnome architecture. It's pretty hard to make anything go too horribly wrong when you muck about with it (I'm afraid I didn't find that to be the case with Mint's much heralded Cinnamon flavour... but maybe that's just me).


Being a graphic designer, here I've tried to take a more holistic approach, a way of keeping things tasteful by colour-coordinating the elements and making sure that none of those add-ons look too added-on (or thrown together!)



Wednesday, February 5, 2014

Conky? HARD[L]Y!

Everybody loves a good Conky! At least that's the impression I get, every time I cast a glimpse at the Linux Mint Community pages on GooglePlus...


A Conky sits on your PC's desktop and provides all manner of realtime visual feedback about the health of your computer... or even, for those of you who are really 'indoorsy', what the weather is like outside. Some folks like to go overboard, their desktops festooned with all manner of dials and clocks, gauges and weather maps. No Linux can truly be said to have been personalized unless it has one. A Conky is less of a necessity than it is a conceit. There are any number of other ways of keeping an eye on what your PC is up to, but this is more fun! Let's be honest, it's really a way of showing off what your Linux computer can do, or more important, what you can do with it. It's expressive and impressive.

I've never been given a definitive answer as to why it's called a 'Conky'. That Wikipedia They Have Now says that it was named after a Canadian cartoon character, but that only throws up a whole other question 'Why?'.

Have a bit of a Google-about and eventually you will find that a good place to start, if you're looking for a Conky to suit you, is Noobslab.com (in fact, it's a good place to start if you're doing anything with Linux for the first time, if you ask me!). Here you'll find plenty of screenshots of all the different Conkies in action, to give you an idea of what you're in for, and full instructions about how to install them, on whatever Linux variant you are using (so I won't reiterate that too much here!)

Anyone who knows me will know that I like my worklife in general (and desktops in particular) to be a bit more minimal. I don't really enjoy clutter. So while I can gaze upon those screengrabs every time they have a "Share Your Desktop Friday", and admire the work that's gone into incorporating all those icons and gauges in an aesthetically pleasing manner, it's not what I'd choose to have on my own lappy. So I plumped for the one called Conky-Hardy, after its creator... um, Mr Hardy. James of that ilk. It's a nice neat column of (mostly) text that will sit unobtrusively to one side of your desktop without gobbling up too much in the way of system resources (I know that because it tells me!). 

A couple of variants on the basic Conky-Hardy

Carefully follow all the instructions on the Noobslab pages and you're laughing. It's really a doddle, even for the 'noobs' to which their website is clearly aimed.

Now here comes the fun part! Once you have a working Conky on your PC - admit it, you'll soon want to start personalizing it a little (tweak the settings, change the colours, edit the text, add some bits or discard others). No problemo! To do this you have to edit a text file that lives in your '/home' folder, called '.conkyrc'. Open your '/home', click on 'Show Hidden Files' in the 'View' menu. Scroll down the window past all those (green?) folders and you will eventually find the hidden file '.conkyrc'. Before I had a go at it, the default '.conkyrc' for Conky-Hardy looked like this:-

##################################################################################
## Conky by http://jameshardy88.deviantart.com/art/Conky-JamesHardy88-122466724 ##
## Modified by Umair - http://www.NoobsLab.com ##
##################################################################################

# Use Xft?
use_xft yes
xftfont DejaVu Sans:size=8
xftalpha 0.8
text_buffer_size 2048

# Update interval in seconds
update_interval 1

# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0

# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_transparent yes
#own_window_type conky
own_window_argb_visual yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# Minimum size of text area
minimum_size 160 0
#maximum_width 200

# Draw shades?
draw_shades no

# Draw outlines?
draw_outline no

# Draw borders around text
draw_borders no

# Stippled borders?
stippled_borders 0

# border margins
border_outer_margin 5

# border width
border_width 1

# Default colors and also border colors
default_color FFFFFF
#default_shade_color black
#default_outline_color white
own_window_colour white

# Text alignment, other possible values are commented
alignment top_left
#alignment top_right
#alignment bottom_left
#alignment bottom_right

# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 15
gap_y 20

# Subtract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase no

# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 1

# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2

# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes

# Add spaces to keep things from moving about? This only affects certain objects.
use_spacer none

TEXT
${if_running rhythmbox}
${font j.d.:size=10}${color3}${execi 5 lyricsdownloader -t 35 | fold -sw25}
${else}
SYSTEM ${hr 2}
${voffset 2}${font OpenLogos:size=16}u${font} Kernel: ${alignr}${kernel}
${font StyleBats:size=16}A${font} CPU: ${cpu}% ${alignr}${cpubar cpu0 8,60}
${font StyleBats:size=16}g${font} RAM: $memperc% ${alignr}${membar 8,60}
${font StyleBats:size=16}j${font} SWAP: $swapperc% ${alignr}${swapbar 8,60}
#${font Webdings:size=16}~${font} Battery: ${battery_percent BAT1}% ${alignr}${battery_bar 8,60 BAT1}
${font StyleBats:size=16}q${font} Uptime: ${alignr}${uptime}
${font StyleBats:size=16}k${font} Processes: ${alignr}$processes ($running_processes running)

Highest CPU $alignr CPU% MEM%
${hr 1}
${top name 1}$alignr${top cpu 1}${top mem 1}
${top name 2}$alignr${top cpu 2}${top mem 2}
${top name 3}$alignr${top cpu 3}${top mem 3}
${top name 4}$alignr${top cpu 4}${top mem 4}

HD ${hr 2}
${font Pie charts for maps:size=14}SDA5${font} ${voffset -5}Root:
${voffset 4}${fs_free /}/${fs_size /} ${alignr}${fs_bar 8,60 /}
${font Pie charts for maps:size=14}SDA6${font} ${voffset -5}Home:
${voffset 4}${fs_free /home}/${fs_size /home} ${alignr}${fs_bar 8,60 /home}
#${font Pie charts for maps:size=14}7${font}

NETWORK ${hr 2}
${if_existing /proc/net/route wlan0}
${voffset -6}${font PizzaDude Bullets:size=14}O${font} Up: ${upspeed wlan0}/s ${alignr}${upspeedgraph wlan0 8,60}
${voffset 4}${font PizzaDude Bullets:size=14}U${font} Down: ${downspeed wlan0}/s ${alignr}${downspeedgraph wlan0 8,60}
${voffset 4}${font PizzaDude Bullets:size=14}N${font} Upload: ${alignr}${totalup wlan0}
${voffset 4}${font PizzaDude Bullets:size=14}T${font} Download: ${alignr}${totaldown wlan0}
${voffset 4}${font PizzaDude Bullets:size=14}Z${font} Signal: ${wireless_link_qual wlan0}% ${alignr}${wireless_link_bar 8,60 wlan0}
${voffset 4}${font PizzaDude Bullets:size=14}a${font} Local Ip: ${alignr}${addr wlan0}
${voffset 4}${font PizzaDude Bullets:size=14}b${font} Public Ip: ${alignr}${execi 1 /home/tom/dotfiles/conky/hardy/conky/ip.sh}
${else}${if_existing /proc/net/route enp0s3}
${voffset -6}${font PizzaDude Bullets:size=14}O${font} Up: ${upspeed enp0s3}/s ${alignr}${upspeedgraph enp0s3 8,60}
${voffset 4}${font PizzaDude Bullets:size=14}U${font} Down: ${downspeed enp0s3}/s ${alignr}${downspeedgraph enp0s3 8,60}
${voffset 4}${font PizzaDude Bullets:size=14}N${font} Upload: ${alignr}${totalup enp0s3}
${voffset 4}${font PizzaDude Bullets:size=14}T${font} Download: ${alignr}${totaldown enp0s3}
${voffset 4}${font PizzaDude Bullets:size=14}a${font} Local Ip: ${alignr}${addr enp0s3}
${voffset 4}${font PizzaDude Bullets:size=14}b${font} Public Ip: ${alignr}${execi 1 /home/tom/dotfiles/conky/hardy/conky/ip.sh}
${endif}${else}${if_existing /proc/net/route eth1}
${voffset -6}${font PizzaDude Bullets:size=14}O${font} Up: ${upspeed eth1}/s ${alignr}${upspeedgraph eth1 8,60}
${voffset 4}${font PizzaDude Bullets:size=14}U${font} Down: ${downspeed eth1}/s ${alignr}${downspeedgraph eth1 8,60}
${voffset 4}${font PizzaDude Bullets:size=14}N${font} Upload: ${alignr}${totalup eth1}
${voffset 4}${font PizzaDude Bullets:size=14}T${font} Download: ${alignr}${totaldown eth1}
${voffset 4}${font PizzaDude Bullets:size=14}a${font} Local Ip: ${alignr}${addr eth1}
${voffset 4}${font PizzaDude Bullets:size=14}b${font} Public Ip: ${alignr}${execi 1 /home/tom/dotfiles/conky/hardy/conky/ip.sh}
${endif}${else}
${font PizzaDude Bullets:size=14}4${font} Network Unavailable
${endif}
${endif}

There were a number of issues I wanted to fix on my own version:-
- I wanted the font colour to be not-so-glaringly white, less 'in yer face' if you will. I wished to 'colour-coordinate' it with my own [mainly Mint green] desktop theme. To specify a 'color', you use 6-character Hex values (000000 to FFFFFF), just like you do in CSS and HTML.

- Having done that, I added a touch of drop-shadow to make it readable against my wallpaper.

- The 'Network' part of the readout only showed anything when I connected my lappy to the 'net using an Ethernet cable. Nothing at all showed when I was on wireless. So I needed to tweak the code to suit my own set-up. It's a question of putting all those 'wlan's and 'eth's in the right order.

- The icon next to the 'kernel' text is for the wrong Linux. Unfortunately, I discovered that, although the 'OpenLogos.ttf' font features characters for all the other Linuxes (Linuces?) out there, there isn't one for Linux Mint! So I had to approximate something of my own by typesetting the words 'linux mint' in a condensed font that sort of looked the part.

- I needed to change the CPU readouts to suit my own set-up: a bar for each of the two cores, plus an 'average' percentage for the total processor.

- I changed the way it displays the hard-drive capacity.

- I eventually took out the 'public IP' bit of the 'network' readout and a couple of other things I didn't need, like the thing that tells you what song is playing if you are using a certain media player. Which I'm not.

- I added more information about my own Linux version and 'hostname'.

- I added a date and local time.

- I finally 'tidied up' the typography a little (tabs and alignment). I made the column wider and set the maximum and minimum sizes to the same value, so that things don't shift about when the content updates.
So the content of the '.conkyrc' file for my version now reads like this. Most of the changes are to the "TEXT" section:-

# Conky by http://jameshardy88.deviantart.com/art/Conky-JamesHardy88-122466724
# Modified by Umair - http://www.NoobsLab.com
# Further modifications by 'ppminty' JANUARY 2014

# Use Xft?
use_xft yes
xftfont DejaVu Sans:size=8
xftalpha 0.8
text_buffer_size 2048

# Update interval in seconds
update_interval 1

# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0

# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_transparent yes
own_window_type conky
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# Minimum size of text area
minimum_size 245 0
#maximum_width 245

# Draw shades?
draw_shades yes

# Draw outlines?
draw_outline no

# Draw borders around text
draw_borders no

# Stippled borders?
stippled_borders 0

# border margins
border_margin 5

# border width
border_width 1

# Default colors and also border colors
default_color 99FF99
#default_shade_color black
#default_outline_color white
own_window_colour white

# Text alignment, other possible values are commented
#alignment top_left
alignment top_right
#alignment bottom_left
#alignment bottom_right

# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 20
gap_y 28

# Subtract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase no

# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 1

# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2

# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes

# Add spaces to keep things from moving about? This only affects certain objects.
use_spacer none

TEXT
${time %A} ${time %e %B %G} ${alignr}GMT ${time %I:%M %p}

${hr 1}
${font Ubuntu Condensed:size=14}linux mint${font}${alignr}16 "Petra" MATE 64-bit #type own LM version here
${font StyleBats:size=14} ${font}Kernel: ${alignr}${kernel}
${font StyleBats:size=14} ${font}Hostname: ${alignr}${color}${nodename}

SYSTEM MONITOR ${hr 1}
${font StyleBats:size=14} ${font}${alignr}Core 1: ${cpu}% ${cpubar cpu1 8,60}
${font StyleBats:size=14} ${font}${alignr}Core 2: ${cpu}% ${cpubar cpu2 8,60}
${font StyleBats:size=14}A${font} CPU: ${cpu}% (@ ${freq}MHz) ${alignr}${cpubar cpu0 8,60}
${font StyleBats:size=14}g${font} RAM: $memperc% (of ${memmax}) ${alignr}${membar 8,60}
${font StyleBats:size=14}j${font} SWAP: $swapperc% (of ${swapmax}) ${alignr}${swapbar 8,60}
${font StyleBats:size=14}f${font} HARD DRIVE ${alignr}${fs_free /home} (of ${fs_size /home})

${font Webdings:size=14}~${font} Battery: ${battery_percent BAT1}% ${alignr}${battery_bar 8,60 BAT1}
${font StyleBats:size=14}q${font} Uptime: ${alignr}${uptime}
${font StyleBats:size=14}k${font} Processes: ${alignr}$processes ($running_processes running)

Highest CPU $alignr CPU% MEM%
${hr 1}
${top name 1}$alignr${top cpu 1}${top mem 1}
${top name 2}$alignr${top cpu 2}${top mem 2}
${top name 3}$alignr${top cpu 3}${top mem 3}

NETWORK ${hr 1}
${if_existing /proc/net/route wlan0}
${voffset -6}${font PizzaDude Bullets:size=12}O${font} Up: ${upspeed wlan0} kb/s ${alignr}${upspeedgraph wlan0 8,60}
${voffset 4}${font PizzaDude Bullets:size=12}U${font} Down: ${downspeed wlan0} kb/s ${alignr}${downspeedgraph wlan0 8,60}
${voffset 4}${font PizzaDude Bullets:size=12}N${font} Upload: ${alignr}${totalup wlan0}
${voffset 4}${font PizzaDude Bullets:size=12}T${font} Download: ${alignr}${totaldown wlan0}
${voffset 4}${font PizzaDude Bullets:size=12}Z${font} Signal: ${wireless_link_qual wlan0}% ${alignr}${wireless_link_bar 8,60 wlan0}
${voffset 4}${font PizzaDude Bullets:size=12}a${font} Local IP: ${alignr}${addr wlan0}

${else}${if_existing /proc/net/route eth1}
${voffset -6}${font PizzaDude Bullets:size=12}O${font} Up: ${upspeed eth1} kb/s ${alignr}${upspeedgraph eth1 8,60}
${voffset 4}${font PizzaDude Bullets:size=12}U${font} Down: ${downspeed eth1} kb/s ${alignr}${downspeedgraph eth1 8,60}
${voffset 4}${font PizzaDude Bullets:size=12}N${font} Upload: ${alignr}${totalup eth1}
${voffset 4}${font PizzaDude Bullets:size=12}T${font} Download: ${alignr}${totaldown eth1}
${voffset 4}${font PizzaDude Bullets:size=12}a${font} Local IP: ${alignr}${addr eth1}
${endif}

${else}${if_existing /proc/net/route eth0}
${voffset -6}${font PizzaDude Bullets:size=12}O${font} Up: ${upspeed eth0} kb/s ${alignr}${upspeedgraph eth0 8,60}
${voffset 4}${font PizzaDude Bullets:size=12}U${font} Down: ${downspeed eth0} kb/s ${alignr}${downspeedgraph eth0 8,60}
${voffset 4}${font PizzaDude Bullets:size=12}N${font} Upload: ${alignr}${totalup eth0}
${voffset 4}${font PizzaDude Bullets:size=12}T${font} Download: ${alignr}${totaldown eth0}
${voffset 4}${font PizzaDude Bullets:size=12}a${font} Local IP: ${alignr}${addr eth0}
${endif}

${else}Not Connected ${endif}

${endif}

Here's the 'before & after' shot...

I still have one or two other tweaks under consideration. For example, it is possible to make the battery life indicator change colour according to its current state (so it might be green when it's healthy and turn red when it's about to run out of steam). I did have a fiddle about with some code that tells me what time it is in other time zones as well as the local one, but I'm not sure how useful that would be for me. I've also tried a couple of the weather add-ons, but they seemed to be mainly geared up to telling you the weather in various parts of America. They didn't prove all that accurate locally. I think I'll just stick to looking out of the window...

http://www.noobslab.com/2012/07/install-conky-hardy-in-ubuntulinux.html
http://gnome-look.org/content/show.php/Conky+%5BJamesHardy88%5D?content=104814
http://en.wikipedia.org/wiki/Conky_%28software%29
https://gist.github.com/thriveth/5216313

Oh... and I just found this from the Noobslab folks as well:










Tuesday, January 14, 2014

Add some better screensavers to Linux Mint

I'm loving Linux Mint 16 (64-bit MATE Edition). For the most part, it's cute as a button... but why don't we do something about those naff screensavers?


The selection of screensavers that comes bundled with Linux Mint 16 is pretty feeble, you have to admit. (I'm talking about the MATE edition here - I can't really speak for the Cinnamon flavour or Xfce). Okay, so you can create some kind of a slideshow using all of the contents of your 'home/pictures' folder. But apart from that, you're left with a coloured slabby tiley thing or a bunch of monochrome MATE logos, drifting around the screen in the manner of mid-eighties toasters. Or a blank screen. You're definitely not going to impress your Linux-sceptic friends with any of that stuff, are you?

The solution is to install X-Screensaver. This is a collection of more than a hundred different screensavers (I haven't counted!), so there should be something in there to suit anyone's taste. Not all of them are exactly fantastic, of course, but hidden amongst all the usual pipes and cubes and tunnels and bouncing balls and references to "The Matrix", there's some pretty impressive 'savers. Everything from beautifully rendered firework displays and volcano effects, to trampolining cows (I kid you not!).

Now it has been suggested elsewhere that you could configure the existing 'mate-screensaver' , adding all the 'x-screensaver' features, but I've Googled around and none of the methods worked for me. I admit, I tried piecing together a solution by cherrypicking bits from here and and there on the old Double-You-Double-You-Double-You, but in the end, the only way I could get 'x-screensaver' to work properly was to remove the old 'mate-screensaver' aka 'gnome-screensaver' setup altogether and then replace it entirely from scratch.
_________________________________

Method

1. Remove the existing 'mate-screensaver' package. Open a terminal and type:

sudo apt-get purge mate-screensaver

Enter your password if prompted and wait for it to do its thing until you are asked "Do you want to continue [y/n]" . Enter 'y' to continue, then wait for it to finish.

2. Install the new 'x-screensaver' package. Type into the terminal:

sudo apt-get install xscreensaver xscreensaver-gl-extra xscreensaver-data-extra

Again, after it has loaded up, you will be asked if you want to continue. Enter 'y' and wait for it to finish installing.

3. You now have to create an 'autostart' file for the new screensaver. To do this, you have to call up the text editor Pluma (or maybe Gedit, depending on your setup), and write a new '*.desktop' text file. Type this into the terminal:

sudo pluma /etc/xdg/autostart/screensaver.desktop

Your text editor will open. Type this into the empty document:

[Desktop Entry]
Name=Screensaver
Type=Application
Exec=xscreensaver -demo


Save and close the file.

4. Search in your Menu for the 'Screensavers' icon. It should now be in 'system/preferences'. I found first of all that there were two icons in mine, because the old one was still there! You might find that the top one does nothing at all and the second one opens up the 'new' screensavers dialogue window as expected (You can edit the menu to remove the old one). The 'Screensavers' dialogue deals with the appearance of the screensaver (natch!) and there is a 'Power Management' dialogue to control the other screen-blanking and powering-down procedures.

You might also find that you have to remove or uncheck the old Screensaver item from the 'Startup Applications' dialogue window (that's also in 'system/preferences' or via the Control Center). Make sure that only the new 'xscreensaver' one is checked in the Startups.



And there you have it! You just installed X-Screensaver on Linux Mint! You will notice when you open the Screensaver Preferences dialogue that this piece of software hasn't been updated since 2011, but that shouldn't worry you, as long as it works. If it ain't broke, then why try and fix it, eh kids? Have fun!

Credit Where It's Due...

http://forums.linuxmint.com/viewtopic.php?f=42&t=112849

http://www.distrogeeks.com/install-x-screensaver-mint-linux/

http://www.jwz.org/xscreensaver/man1.html

http://linuxg.net/replace-gnome-screensaver-with-xscreensaver-on-ubuntu-12-10/