flattr

take a peek, go vote

the "pre-blog polls", now reside bellow the blog. please jump to the end of the page to have a little vote in them, just for fun. :)

... now, on with the rambling blog!

Showing posts with label xmonad. Show all posts
Showing posts with label xmonad. Show all posts

Saturday, 13 August 2011

stuff i love n other stuff.

been using blender again.  i forgot how much i love it.  ok, so i'm not fluent n free flowing with it, able to get it to do what i want without looking up manuals, tutorials and so on like i could with softimage|XSI (especially since 2.5 changed it so much), but the potential is there.

uzbl is still as much a treat as ever.  ... though there are "addons" that would make it all the sweeter, such as a script manager... for easier portability of whole configurations, not just the config file, which, unless u have no additional scripts, is not entirely convenient on it's own.  "uzballs" are planned, but no work done on them yet i hear.  good to know it's at least been thought of and is in the pipeline.

xmonad.... xmonad xmonad xmonad.  oh how i love xmonad.
scrotwm too...  i'm using it more these days, and even find it the superior to xmonad in a couple of ways... though sorely lacking in a couple others.

oops, almost forgot... tilda.  ^_^  it's so standard to me now i dont even notice it.

i suppose i should also at least mention, gentoo.   i mean gentoo for "real men".  i'm no longer on toorox, (nor sabayon nor papug or whatever).  a proper stage3 gentoo install from the ground up.  :)  and oh boy do i love it.  got a make.conf sorted nice n minimal, and am keeping my system nice n lean.  a speed machine!  :)



here's the biggie... the new guy to the list.  if you know me, or have been through this blog a few times, you'll likely have witnessed my apraisals of the previous apps (and distro), this one, i just discovered a couple days ago (thnx cog).

gmusicbrowser.

gmusic browser utterly trounces all other music players for linux (and for any other system for that matter).  ok, sure, it's still kinda young, n has a rare ocassional scabby edge, but you can see it's already kicking bottoms.  the customiseability of the interface layouts, the choice of backends, ratings, web features, scalable (designed with >10,000 tracks in mind), fast, clean, light... they done good, boys.  they done good.  one to watch.




+

i tried google+ for less than a day.  that was enough to know "NO!".  what epic chain fail.  yes, i had to coin a new phrase to depict it.  chain fail.   ok, so lets say you can overlook the privacy/security/bigbrother concerns about letting google in that far into your social life and to know all that more about you than they already do from your searchings, and that you can even overlook that they report it all to govs (as they've now admitted), the chain fail kicks in hardest if you're not on one of the 4 big name browsers, explorer, firefox, opera and safari (iirc), in which case, they wont even let you in.  ok, so no worries, just change what useragent your browser is broadcasting, right?  nope.  you can get into it then, but stuff wont work right.  i dont like a site that tells me which browser i'm supposed to use.  even if it told me i had to use uzbl, i would still not be pleased.  to highlight the stupidity of this... i can surf facebook, with a text browser, and still have acceptible levels of functionality. .... ok, i can rant on about this for a while.  suffice to say, google plus is actually google minus.

... and i'm not happy with facebook either.  bring on diaspora or anon+.

"anon+.. what is anon+?"
:)  a bright future for the net.  huzzah!   bring it on.

... and if they dont....
........me and some of the boys have been talking about how we could create better (than facebook).

Thursday, 12 May 2011

uzbl the return.

uzbl the return.
rome wasn't built in a day, uzbl-love was though.

i've been getting rather increasingly miffed with firefox. it's never really been my "favorite" browser, just the one i've ended up using for various features i felt i couldnt live without, n couldnt find in other browsers without making bigger compromises.

well.. it's time to make a serious effort to change.

as with tiling window managers, you have to stick with them for about a week before yu realise how much better it is... and after hearing fabsh on linux outlaws recently suggest people spend at least two weeks with gnome3... i plan to do the same with uzbl.

uzbl-tabbed to be precise. not readdy to give up tabs just yet, even if i do use a tiling window manager. (i did consider using surf too, but since it's based on uzbl i hear, i thought i'd skip the middleman).

currently, as i start to type this, i have both uzbl-tabbed and firefox running, and am just working out a few details to ease the transition, but i realise, the sooner i just close firefox and make a dedicated decision to stop using it, i'll transition all the more expediently (if a little more uncomfortably at the start.) ... so i plan to do that in a few minutes.

i had a little hiccough earlier when i couldnt get youtube videos to play.... uninstalling gnash soon sorted that though, and it's as seemless as it aught to be again.

i was going to start to construct a firefox-esq set of keyboard controls, but looking in the config, i soon began to realise, there was so much more potential in uzbl, and i'd be better off learning the defaults, so put that config construction on hold. i'm going to try to give the default controls the full fortnight test.

i always like to test the waters in a project's irc channel. #uzbl on freenode has a reasonably healthy 52 people in it, and rather amusingly, when i got a quirky snide unhelpful remark from one user, (to which i replied "mkay. i thought uzbl users would have more inteligent responces than that.") another user came along and apologised for them. :) a good sign of a healthy community spirit.

they* engage with issues, and enjoy learning more as they use their greater experience and knowledge to more expediently get to the nub of whatever issue you may be having.

(* of course, i cant say everyone in there is like that, but that's the general vibe and jist i picked up from my interactions.)

... i dont suggest you go in there with a wont-rtfm help-leach attitude though. .... not that you likely would if you're interested in the likes of uzbl though. ;)

about those few little niggles i mentioned earlier...

one is adblock. i've found a couple scripts for that, just looking into how to implement them now.

the other is the ability to download streamed video.

without these two features, i'll just give up on uzbl. ^_^

oh, and also ensuring i can delete all flash cookies is a biggie too... but that's such a simple little issue, i could EASILY write a script for that myself, n bind a key for it.


... ok, after spending an age trying to get uzbl-tabbed to accept this paste keybind:

@cbind c = sh "xclip -o | xclip -selection clipboard"

i discover it works fine with uzbl-browser. so, i'll see how well i get on without tabs. i dont mind. i have an ace window manager. ... and i'd rather be able to copy selected text with a ctrl-c (without having to press "i" first) than have tabs that i navigate clumsily, if i'm only allowed one or the other. (i'll check out some of those other tabbing scripts later anyways, i'm just glad i have my ctrl-c workflow restored... no more pressing i, or righclick-copy, or relying on select-middleclick (which i like to have as-well-as, not instead-of/only).

ok, it's late when i'm writing this after all that faffing around reading up about xclip not realising it's just uzbl-tabbed playing up, and it works fine in uzbl-brower. ~ i'll check on that in the morning with a fresh head...


it's not even a day in, and i already love it more than firefox.

PS. hehe... added XMonad.Layout.Tabbed and simpleTabbed, et viola, i have tabs again, sorta. ;) works well enough, so long as i dont want tabbed windows beyond full screen. ... i might finally end up getting around to XMonad-Layout-Combo or XMonad-Layout-Combinators because of this. ^_^


so, thats the jist of the state of things on day 1 of my 14 day uzbl trial run.


#####
todo
####

####
in progress.
###

2. video download
3. flash cookie purge
!4. open in new tab, in right click menu
7. no script

####
complete.
###

1. adblock
5. flashblock
6. copy selected text without right click

Saturday, 12 March 2011

ugh, that's not what i like to see...

[digit@LevinRhan ~]$ sudo pacman -S kdepim-akregator
resolving dependencies...
warning: provider package was selected (phonon-gstreamer provides phonon-backend)
looking for inter-conflicts...

Targets (43): clucene-0.9.21b-1 exiv2-0.21.1-1 strigi-git20110107-2 attica-0.2.0-1 raptor-1.4.21-2 rasqal-0.9.21-1 redland-1.0.12-5
libiodbc-3.52.7-4 virtuoso-6.1.2-1 soprano-2.6.0-1 shared-desktop-ontologies-0.6.0-1 qca-2.0.3-1 libdbusmenu-qt-0.8.0-1
polkit-qt-0.99.0-1 grantlee-0.1.8-1 jasper-1.900.1-6 phonon-gstreamer-4.4.4-1 phonon-4.4.4-1 upower-0.9.8-2
docbook-xml-4.5-4 docbook-xsl-1.76.1-1 kdelibs-4.6.1-2 pth-2.0.7-3 gnupg-1.4.11-2 pinentry-0.8.1-1 libksba-1.0.8-1
libassuan-2.0.1-1 dirmngr-1.1.0-1 gnupg2-2.0.17-1 gpgme-1.3.0-1 mysql-clients-5.5.9-1 mysql-5.5.9-1 akonadi-1.5.1-1
libical-0.46-1 kdepimlibs-4.6.1-1 kde-agent-20090801-2 ntrack-009-1 libssh-0.4.8-1 oxygen-icons-4.6.1-1
kdebase-runtime-4.6.1-1 kdepim-runtime-4.4.10-1 kdepim-libkdepim-4.4.10-1 kdepim-akregator-4.4.10-1

Total Download Size: 74.21 MB
Total Installed Size: 358.85 MB

Proceed with installation? [Y/n] n


...all that, just for a news ticker.... i think not!

i may be desperate, but not that desperate.

i may miss akregator, but not that much.

i'll stick with procrastinating on properly integrating news in xmonad with layout.gaps.

Thursday, 11 November 2010

*EXPLETIVE* I LOVE

Fuck i love linux! (which i now sometimes abreviate to merely "fill"

Fuck i love xmonad!

Fuck i love uzbl!


that last one is new.

:) just started playing around with it for the first time today. ok, not strictly the first time. i poked around fleetingly a couple other times when checking out a bunch of different browsers.

idk what prompted me to check it out again this time... but i'm glad i did.

i am very surprised!

it's now slotted to be the main browser in witch linux methinks. ... ok, it's not actually that small, but it's minimal and elegent, and renders sites really well *coughnetsurfcough*... and it claims to fit the unix philosophy, of an app should do one job and do it well... rather than apps bloating up in feature-lust.

ok, so it's like 55mb install here in arch. :/ it's not exactly small [(by my hardcore standards)], i accept this. there are smaller browsers.

i got my biggest surprise tho when i opened a youtube link... AND IT PLAYED!

i thought for sure a little browser like this wouldnt have such a feature.

it seems they've got it right... build it for the geeks n u will attract the geeks. more geeks in the userbase = more geeks to contribute to the development.

some brief hanging around in #uzbl on irc.freenode.net has given me the impression that it's progressing at pace. features missing 6 montsh ago, now available, and such like.

so anyways, i'm currently running uzbl to write this blog. uzbl-tabbed to be precise. i have my first uzbl youtube link opened in the previous tab. there's still loads n loads of controls i dont yet know in the default config, like how to close tabs (eep! better not go too crazy), but no doubt i'll be considering changing a few keybinds later on, knowing it's a configulurvable unix-philosophy app.

oh, yeah, and this blog entry isnt gonna be jsut for the lovely lovely uzbl...

i'm gonna share my xmonad config now too.
i've now got tiles resizeable by mouse! aw yeah. so if there are any "awesome" noobs out there who were too scared to try a real man's window manager like xmonad, you can try out my config, n see if it apeases your distrust of the keyboard. ^_^ (just some friendly teasing, dont get uppity with me if you're a awesome fanboy wanting to have a go at me for that.)

it's still a work in progress, but it's all i use in arch.

... come to think of it, when i'm in crunchbang10.04LTS (upped from 9.04), or in Toorox (a lovely gentoo-based distro if u dont know), xmonad is all i use in it too. although, still earlier versions of this config in each... with a couple distro-specific changes... like synaptic and porthole keybind.

suffice to say, it's production ready, to my standards. :)

one admission though... i have noticed it's not quite as zippy and responsive anymore as the default xmonad config is. :/ but still a few cuts above the bloated "Desktop Environment" interfaces.

import XMonad
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Util.Run(spawnPipe)
import XMonad.Util.EZConfig(additionalKeys)
import XMonad.Hooks.EwmhDesktops
import XMonad.Config.Desktop
import XMonad.Actions.CycleWS
import XMonad.Layout.MouseResizableTile --and shrink/expand slave layout
import System.IO

-- initially created with help of: http://www.haskell.org/haskellwiki/Xmonad/Config_archive/John_Goerzen%27s_Configuration
-- use "xmonad --recompile" to check it's syntactically correct if making changes (better than just modQ)
-- list of key codes http://haskell.org/haskellwiki/Xmonad/Key_codes
-- may also prove useful for some keys and commands http://hackage.haskell.org/packages/archive/X11/1.4.5/doc/html/Graphics-X11-Types.html


-- also used
-- http://hackage.haskell.org/packages/archive/xmonad-contrib/0.8/doc/html/XMonad-Doc-Extending#Editing_mouse_bindings.html
-- http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Layout-MouseResizableTile.html
---- still need to learn how to change the size of the border gap between tiles now that a 6pixel gap has been adeed. :/


-- yet to be implimented:
-- resizing floating windows from any corner
-- http://hackage.haskell.org/packages/archive/xmonad-contrib/0.8/doc/html/XMonad-Actions-FlexibleResize.html
-- http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Actions-FlexibleResize.html


-- may want to encorporate:
-- http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Actions-GridSelect.html

-- DEFAULT TEMPATE : http://haskell.org/haskellwiki/Xmonad/Config_archive/Template_xmonad.hs_%280.9%29

myManageHook = composeAll
[ className =? "Gimp" --> doFloat
, className =? "pidgin" --> doFloat
, className =? "skype" --> doFloat
, className =? "vlc" --> doFloat
, className =? "tilda" --> doFloat
, className =? "Tilda" --> doFloat
, className =? "Vncviewer" --> doFloat
, className =? "gpicview" --> doFloat
, className =? "Gpicview" --> doFloat
, className =? "BetterPrivacy" --> doFloat
, className =? "Pidgin" --> doFloat
, className =? "Skype" --> doFloat
]

main = do
xmproc <- spawnPipe "/usr/bin/tint2 /home/digit/.config/tint2/tint2rc" xmonad $ ewmh desktopConfig { manageHook = manageDocks <+> myManageHook -- make sure to include myManageHook definition from above
<+> manageHook desktopConfig
, layoutHook = avoidStruts $ layoutHook defaultConfig { layoutHook = myLayout } --see "myLayout" bellow
, startupHook = spawn "starterscripts"
, modMask = mod4Mask -- Rebind Mod to the Windows key
} `additionalKeys`
[ ((mod4Mask, xK_F2), spawn "gmrun")
, ((mod4Mask .|. shiftMask, xK_F2), spawn "gedit ~/.gmrunrc")
, ((mod4Mask, xK_F3), spawn "~/.config/dmenu/dmenu-bind.sh")
, ((mod4Mask .|. shiftMask, xK_F3), spawn "gedit ~/.config/dmenu/dmenu-bind.sh") -- edit dmenu
, ((mod4Mask, xK_F4), kill) -- close focused window
, ((mod1Mask, xK_F4), kill) -- oldskool close focused window
, ((mod4Mask, xK_F5), spawn "xfce4-appfinder")
, ((mod4Mask, xK_F6), spawn "xkill")
, ((mod4Mask, xK_a), spawn "audacity")
, ((mod4Mask, xK_b), spawn "firefox")
, ((mod4Mask .|. mod1Mask, xK_b), spawn "seamonkey")
, ((mod4Mask, xK_c), spawn "pidgin & skype")
, ((mod4Mask, xK_d), spawn "gedit")
, ((mod4Mask .|. controlMask, xK_d), spawn "gksudo gedit")
, ((mod4Mask, xK_f), spawn "pcmanfm")
, ((mod4Mask .|. controlMask, xK_f), spawn "gksudo pcmanfm")
, ((mod4Mask .|. shiftMask, xK_f), spawn "searchmonkey")
, ((mod4Mask .|. shiftMask .|. mod1Mask, xK_f), spawn "catfish")
, ((mod4Mask, xK_g), spawn "gimp")
, ((mod4Mask, xK_i), spawn "inkscape")
, ((mod4Mask, xK_m), spawn "vlc")
, ((mod4Mask .|. mod1Mask, xK_m), spawn "deadbeef")
, ((mod4Mask .|. controlMask .|. mod1Mask, xK_m), spawn "gedit ~/.config/openbox/menu.xml") -- edit openbox menu
, ((mod4Mask, xK_n), sendMessage ToggleStruts) -- toggle panel visability.
, ((mod4Mask .|. mod1Mask, xK_n), spawn "pkill tint2 && tint2") -- restart panel.
, ((mod4Mask .|. controlMask .|. mod1Mask, xK_n), spawn "gedit ~/.config/tint2/tint2rc") -- edit panel config
, ((mod4Mask, xK_o), spawn "openbox --replace") -- switch to openbox
, ((mod4Mask .|. controlMask .|. mod1Mask, xK_o), spawn "gedit ~/.config/openbox/rc.xml") -- edit openbox config
, ((mod4Mask .|. shiftMask, xK_p), spawn "gksudo gparted")
, ((mod4Mask, xK_p), spawn "gksudo gtkpacman")
-- , ((mod4Mask, xK_q), spawn "xmonad --restart")
, ((mod4Mask .|. mod1Mask, xK_t), spawn "tilda") -- launch tilda
, ((mod4Mask, xK_v), spawn "VirtualBox")
, ((mod4Mask, xK_x), spawn "xmonad --recompile") -- recompile xmonad
, ((mod4Mask .|. mod1Mask, xK_x), spawn "xmonad --restart") -- restart xmonad
, ((mod4Mask .|. controlMask .|. mod1Mask, xK_x), spawn "gedit ~/.xmonad/xmonad.hs") -- edit xmonad config
, ((mod4Mask, xK_y), spawn "conky")
, ((mod4Mask .|. mod1Mask, xK_y), spawn "pkill conky && conky") --restart conky
, ((mod4Mask .|. controlMask .|. mod1Mask, xK_y), spawn "gedit ~/.conkyrc") --edit conky
, ((0, xK_Print), spawn "scrot '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/images/screenshots/ & gpicview ~/images/screenshots/$f'")
-- , ((modMask, next), nextWS)
-- , ((modMask, prev), prevWS)
, ((mod1Mask .|. controlMask, xK_Left), prevWS)
, ((mod1Mask .|. controlMask, xK_Right), nextWS)
-- , ((mod1Mask .|. controlMask .|. shiftMask, xK_Left), shiftToPrev)
-- , ((mod1Mask .|. controlMask .|. shiftMask, xK_Right), shiftToNext)
, ((mod1Mask .|. shiftMask, xK_Left), shiftToPrev)
, ((mod1Mask .|. shiftMask, xK_Right), shiftToNext)
--
, ((mod4Mask .|. mod1Mask, xK_h), sendMessage ShrinkSlave) -- %! Shrink a slave area
, ((mod4Mask .|. mod1Mask, xK_l), sendMessage ExpandSlave) -- %! Expand a slave area
]



--myLayout
myLayout = mouseResizableTile ||| mouseResizableTileMirrored ||| Full
where
-- default tiling algorithm partitions the screen into two panes
-- tiled = Tall nmaster delta ratio --need to figure out how to correctly impliment this line, if i want to adjust the nmaster, ratio and delta.... and i do very much want to adjust the delta. .. but its not essential, now that i have mouse resize

-- The default number of windows in the master pane
nmaster = 1

-- Default proportion of screen occupied by master pane
ratio = 1/2

-- Percent of screen to increment by when resizing panes
delta = 2/100
--

so anyways...

i love gnu|linux and xmonad, and now uzbl too.

probably indicative that i dont have a girlfriend right? lol.

Saturday, 23 October 2010

a long way to go and a short time to get there, we shouldnt have stopped for a picnic.

okies...

first sign of trouble in my new arch install:

i copied over my perfectly functional (accidental pun!) xmonad.hs from my previous system (ubuntu-based crunchbang)

and i get:[code]

$ xmonad --recompile
Error detected while loading xmonad configuration file: /home/digit/.xmonad/xmonad.hs

xmonad.hs:7:7:
Could not find module `XMonad.Config.Desktop':
Use -v to see a list of the files searched for.

Please check the file for errors.

[/code]

some time later, and some fiddling with cabal, and failing to get xmonad-contrib...

seems it's likely missing C libs.

so i try n get libX, libXext and libXinerama. (as the xmonad C requirements are stated here: http://xmonad.org/intro.html )

presuming libX = libX11, since simply libX alone is nowhere to be found, this one is up to date.

libXext install attempt returns (much the same for merely "libX" and libXinerama):[code]error: 'libXext': could not find or read package[/code]

so am i thinking arch has different names for these packages?

.... aaaah! lowercase "X"s.

ok, so i've updated those three now,
...and "cabal install xonad-contrib" tells me:[code]# cabal install xmonad-contrib
Resolving dependencies...
Configuring X11-xft-0.3...
cabal: pkg-config version >=0.9.0 is required but it could not be found.
cabal: Error: some packages failed to install:
X11-xft-0.3 failed during the configure step. The exception was:
ExitFailure 1
xmonad-contrib-0.9.1 depends on X11-xft-0.3 which failed to install.
[/code]
so... "X11-xft-0.3" it says. :/ some searching later, n i presume it's after "haskell-x11-xft"
...

so i install that.... where was i now?
/me feels like he's starting to contract some disease probably called something like bizantianitits. :P

ok, lets try it from the top again... or, work backwards through what i've come to at least.

the xft was needed for the xmonad-contrib, ah, that's right...

/me tries "cabal install xmonad-contrib" again.

and we have much action! yay! scrolling text! XD "nn of 180"

bkadoctaj my old friend... you're right, i am learning a lot with using arch... i'm learning it's a lot of fuss!

XD


so anyways, i started writing this in a text editor, thinking it was gonna be a forum post asking for help... but now it's looking more like my typical blog post. XD

so, i may as well elaborate on the story much more, comforted by the freedom my blog intro blurb caveat/disclaimer gives me to ramble endlessly...

...though i wont, bcause, the background jist of this is here...

i'm trying to get my perfect arch setup in 24 hours.

bkadoctaj said it takes 3 days from scrath to perfection.

___day one: scratch.
___day two: to.
_day three: perfection.

and he said it normally takes 5 days, but he was knocking a couple days off for me, percieving some level of expertise, which i think an accolade i'm worthy of.


.. but still, even with my leisserly pace through the first parts, i'm now determined to get it all up as i want in 24 hours... and that includes the 8 hours i was asleep, all the time spent dilly-dallying in chat, and all the time spent writing this load. XD

... i better get back to it.

my "cabal install xmonad-contrib" is complete, and now hopefully, when i attempt my next "xmonad --recompile" all will be well, and i'll be using my own config, rather than the more stoic default.

... i'll leave the rest of this adventure for the next post. :)

Thursday, 21 October 2010

pimped you a desktop for great good.

:)

i've been busy.

:)

some might say not the most productive use of my time... but what do they know.

i've been learning, and enhancing my skillset, all the while improving my desktop work environment for greater expediency.

it's that old cliche, that linux users spend 51 weeks configuring their desktop, so they can do their years work in an hour. XD

so...

i have xmonad back on the go.

it's very nice.

it's very nice as it comes outta the box, very useable as is.

however...

it's even nicer once a few customisations are added, most pertinently, some shortcuts for launching applications and doing other bits n bobs.

what pleases me most about my xmonad configuration just now though... is not xmonad itself...

it's that i have now got it working perfectly with my favorite panel application, tint2.

tint2 is another immensely customizable app, like xmonad is.

.... me likes the customizability. ^_^

i've tint2 set up much the same as i had it in openbox. ... um, pretty much identically actually.

and also ... i have a simple conky working nicely with tint2 and xmonad too, simply informing me of my network up and down speeds, regardless of which connection i'm using (wired or wireless), in the same space.

here's one bit of this setup i'm especially chuffed with...

i have a shortcut to toggle the panel visibility.

:)_:)_:)__:)___:)______:)_________:)_____________:)_____________________:)

here's a couple links to threads i made marking my little landmark accomplishments. ^_^
http://crunchbanglinux.org/forums/post/89967/#p89967
http://crunchbanglinux.org/forums/topic/9965/my-xmonad-adventures/

of course, there's all the keyboard shortcuts too... and that's (besides xmonad's inherent greatness) where the real productivity expedience boon comes in.

... much as i had it in my openbox configuration. :)

clever little systematic logic that makes it intuitive.

i didnt want to disrupt the xmonad vi-alike controls, so qwerthjlk were all out. the rest though, i considered fair game for remapping. i still might remap q... i dont like how risky it is having the equivalent of ctrl alt bksp (to restart the graphics server, and thus lose everything being worked on in gui) being so close (one key away) from other regularly used shortcuts.

so, the tux button (or "windows button" to the man on the street) i use as my primary modifier, so it doesnt clash with some applications which use alt. a combination with a single key would start an application, like g for the GNU Image Manipulation Program, or D for Gedit (since E is taken up for multi monitor setups, and there's no need for a "show desktop" shortcut in xmonad).

editing configs happens with a triple modifier, of ctrl, tux and alt... and the key of whatever is being modified, F2 and F3 for gmrun, x for xmonad, n for the tint2 panel... i havnt fully decided on where to put conky yet, having just added it, and already using c for communications (starting pidgin and skype, and perhaps mumble if i start using it too), and of course k is taken up... it's likely going to be y isnt it.

/me presses ctrl,tux,alt,x and makes a few edits quickly... ... and tux,alt,x the new changes are in effect.

:) there we go, just a quick few seconds, no having to type in a file location, no having to navigate to the file. :) conky start, restart and edit keys now set up. :)

and as well as the triple modifier for editing something, where you wish to control (ctrl) the system (tux) to alter (alt) it [(see the intuitive logic?)], i've a restart on a two key modifier of tux, alt, and then the same coresponding key. so i can restart the panel after making edits simply with tux, alt, n, which does a "pkill tint2 && tint2". i was very pleased first time i tried this in xmonad and it worked, thinking the way it uses a spawnpipe for it might cause complications, but no, it was simple n straight forward. which was nice.

anyways, i'll let you explore the rest if you're intereseted. ^_^ (hehe, yeah, i still write this as if someone will read it some day. lol. if you do, please, leave some comments. thnx.)

here's the configs code:

tint2:
#---------------------------------------------
# TINT2 CONFIG FILE
#---------------------------------------------

#---------------------------------------------
# BACKGROUND AND BORDER
#---------------------------------------------
rounded = 0
border_width = 1
background_color = #333333 19
border_color = #999999 70

rounded = 0
border_width = 1
background_color = #000000 00
border_color = #000000 00

rounded = 0
border_width = 1
background_color = #ffffff 60
border_color = #ffffff 99

#---------------------------------------------
# PANEL
#---------------------------------------------
panel_layer=top
panel_monitor = all
panel_position = bottom right
panel_size = 90% 19
panel_margin = 0 0
panel_padding = -1 -1 7
font_shadow = 0
panel_background_id = 2
#wm_menu = 1

#---------------------------------------------
# TASKBAR
#---------------------------------------------
taskbar_mode = multi_desktop
#taskbar_mode = single_desktop
taskbar_padding = -1 -1 -1
taskbar_background_id = 1

#---------------------------------------------
# TASKS
#---------------------------------------------
task_icon = 1
task_text = 0
task_maximum_size = 144 19
task_centered = 1
task_padding = -1 2
task_font = sans 8
task_font_color = #111111 100
task_active_font_color = #ffffff 100
task_background_id = 1
task_active_background_id = 3

#---------------------------------------------
# SYSTRAYBAR
#---------------------------------------------
systray_padding = -1 -1 -1
systray_background_id = 1

#---------------------------------------------
# CLOCK
#---------------------------------------------
time1_format = %H:%M:%S %A %d %B
time1_font = sans 13
#time2_format = %A %d
#time2_font = sans 8
clock_font_color = #ffffff 100
clock_padding = 0 0
clock_background_id = 1
clock_lclick_command = xclock
clock_rclick_command = zenity --calendar

#---------------------------------------------
# BATTERY
#---------------------------------------------
battery = 1
battery_low_status = 10
battery_low_cmd = notify-send "battery low"
bat1_font = sans 7
bat2_font = sans 7
battery_font_color = #ffffff 100
battery_padding = 0 0
battery_background_id = 1

#---------------------------------------------
# MOUSE ACTION ON TASK
#---------------------------------------------
mouse_middle = close
mouse_right = none
mouse_scroll_up = toggle
mouse_scroll_down = iconify

conky:

background yes
use_xft yes
xftfont Sans:size=8
xftalpha 1
update_interval 0.3
total_run_times 0
own_window yes
own_window_transparent yes
own_window_type desktop
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
minimum_size 1 1
maximum_width 134
draw_outline no
draw_borders no
draw_shades no
draw_graph_borders yes
default_color ff0000
#default_shade_color 000000
default_outline_color 000000
alignment bottom_left
gap_x 0
gap_y -108
no_buffers yes
uppercase no
cpu_avg_samples 2
override_utf8_locale no

TEXT
${voffset -6}${color #ffff00}${downspeedgraph 9,135 wlan0}
${voffset -4}${color}${upspeedgraph 9,135 wlan0}
${voffset -22}${color #00ff00}${downspeedgraph 9,135 eth0}
${voffset -4}${color}${upspeedgraph 9,135 eth0}
${voffset -22}${color #00ffff}${downspeedgraph 9,135 eth1}
${voffset -4}${color}${upspeedgraph 9,135 eth1}

and last, but certainly not least:
the xmonad.hs config, my pride n joy. lol.
import XMonad
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Util.Run(spawnPipe)
import XMonad.Util.EZConfig(additionalKeys)
import XMonad.Hooks.EwmhDesktops
import XMonad.Config.Desktop
import System.IO

-- initially created with help of: http://www.haskell.org/haskellwiki/Xmonad/Config_archive/John_Goerzen%27s_Configuration
-- use "xmonad --recompile" to check it's syntactically correct if making changes (better than just modQ)
-- list of key codes http://haskell.org/haskellwiki/Xmonad/Key_codes
-- may also prove useful for some keys and commands http://hackage.haskell.org/packages/archive/X11/1.4.5/doc/html/Graphics-X11-Types.html
-- may want to encorporate: http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Actions-GridSelect.html
myManageHook = composeAll
[ className =? "Gimp" --> doFloat
, className =? "pidgin" --> doFloat
, className =? "skype" --> doFloat
, className =? "vlc" --> doFloat
, className =? "tilda" --> doFloat
, className =? "Vncviewer" --> doFloat
]

main = do
xmproc <- spawnPipe "/usr/bin/tint2 /home/digit/.config/tint2/tint2rc" xmonad $ ewmh desktopConfig { manageHook = manageDocks <+> myManageHook -- make sure to include myManageHook definition from above
<+> manageHook desktopConfig
, layoutHook = avoidStruts $ layoutHook defaultConfig
, modMask = mod4Mask -- Rebind Mod to the Windows key
} `additionalKeys`
[ ((mod4Mask, xK_F2), spawn "gmrun")
, ((mod4Mask .|. controlMask .|. mod1Mask, xK_F2), spawn "gedit ~/.gmrunrc")
, ((mod4Mask, xK_F3), spawn "~/.config/dmenu/dmenu-bind.sh")
, ((mod4Mask .|. controlMask .|. mod1Mask, xK_F3), spawn "gedit ~/.config/dmenu/dmenu-bind.sh") -- edit dmenu
, ((mod4Mask, xK_F4), kill)
, ((mod4Mask, xK_F5), spawn "xfce4-appfinder")
, ((mod4Mask, xK_F6), spawn "xkill")
, ((mod4Mask, xK_a), spawn "audacity")
, ((mod4Mask, xK_b), spawn "firefox")
, ((mod4Mask .|. mod1Mask, xK_b), spawn "seamonkey")
, ((mod4Mask, xK_c), spawn "pidgin & skype")
, ((mod4Mask, xK_d), spawn "gedit")
, ((mod4Mask .|. controlMask, xK_d), spawn "gksudo gedit")
, ((mod4Mask, xK_f), spawn "pcmanfm")
, ((mod4Mask .|. controlMask, xK_f), spawn "gksudo pcmanfm")
, ((mod4Mask .|. shiftMask, xK_f), spawn "searchmonkey")
, ((mod4Mask .|. shiftMask .|. mod1Mask, xK_f), spawn "catfish")
, ((mod4Mask, xK_g), spawn "gimp")
, ((mod4Mask, xK_i), spawn "inkscape")
, ((mod4Mask, xK_m), spawn "vlc")
, ((mod4Mask, xK_n), sendMessage ToggleStruts) -- toggle panel visability.
, ((mod4Mask .|. mod1Mask, xK_n), spawn "pkill tint2 && tint2") -- restart panel.
, ((mod4Mask .|. controlMask .|. mod1Mask, xK_n), spawn "gedit ~/.config/tint2/tint2rc") -- edit panel config
, ((mod4Mask .|. shiftMask, xK_p), spawn "gksudo gparted")
, ((mod4Mask, xK_p), spawn "gksudo synaptic")
-- , ((mod4Mask, xK_q), spawn "xmonad --restart")
, ((mod4Mask, xK_x), spawn "xmonad --recompile") -- recompile xmonad
, ((mod4Mask .|. mod1Mask, xK_x), spawn "xmonad --restart") -- restart xmonad
, ((mod4Mask .|. controlMask .|. mod1Mask, xK_x), spawn "gedit ~/.xmonad/xmonad.hs") -- edit xmonad config
, ((mod4Mask, xK_y), spawn "conky")
, ((mod4Mask .|. mod1Mask, xK_y), spawn "pkill conky && conky") --restart conky
, ((mod4Mask .|. controlMask .|. mod1Mask, xK_y), spawn "gedit ~/.conkyrc") --edit conky
, ((0, xK_Print), spawn "scrot '%Y-%m-%d--%s_$wx$h_scrot.png' -e 'mv $f ~/images/screenshots/ & gpicview ~/images/screenshots/$f'")
]

i was gonna add in the dmenu and gmrun for an added bonus, but then realised, in quite a shock, that of course, the key combinations i've chosen conflict with (and dont supercede) the switching of tty. lol. oops, oh well. ^_^ its not like i ever really need to edit them anyway.

well, i hope u get even a millionth of a kick outta these as i did making them and do using them. :)

flattr