You are not logged in.

#476 2011-07-06 12:42:54

hobonix
Member
From: Seattle
Registered: 2009-02-17
Posts: 31

Re: xmonad Hacking Thread

Ashren wrote:
xwininfo: Window id: 0x320001f "GNOME MPlayer"

So you should enter "GNOME MPlayer" in your floats array.

Use xwininfo to get window ids.

Great, thanks. I've seen mention of window ids elsewhere, but forgot about them before I tried to figure this out.

EDIT:It's not working sad  I double checked xwininfo and came up with the same Window id that you did.

I deleted Gimp from 'where floats =' and it still floats, so I'm guessing that's default and that code isn't doing anything. Silly. I thought since it didn't throw an error, it must be right.

It'd be swell if someone could check and see what I'm missing here. Also 'myTerminal      = "lxterminal"' doesn't have any effect either.
xmonad.hs:

import XMonad
import XMonad.Layout.IndependentScreens
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Util.Run(spawnPipe)
import qualified XMonad.StackSet as W
import XMonad.Util.EZConfig(additionalKeys)
import System.IO

myTerminal      = "lxterminal"

-- Whether focus follows the mouse pointer.
myFocusFollowsMouse :: Bool
myFocusFollowsMouse = True

main = do
    nScreens <- countScreens
    xmproc <- spawnPipe "xmobar"
    spawn "sh /home/tony/.xmonad/autostart.sh"
    xmonad $ defaultConfig
        { manageHook = manageDocks <+> manageHook defaultConfig
        , layoutHook = avoidStruts  $  layoutHook defaultConfig
        , logHook = dynamicLogWithPP xmobarPP
                        { ppOutput = hPutStrLn xmproc
                        , ppTitle = xmobarColor "steelblue" "" . shorten 50
                        }
        , workspaces = withScreens nScreens (workspaces defaultConfig)
        , modMask = mod4Mask     -- Rebind Mod to the Windows key
        } `additionalKeys`
        [ ((mod4Mask .|. shiftMask, xK_z), spawn "xscreensaver-command -activate")
        , ((controlMask, xK_Print), spawn "sleep 0.2; scrot -s")
        , ((0, xK_Print), spawn "scrot")
        , ((mod4Mask .|. shiftMask, xK_F12), spawn ".screenlayout/external.sh")
        , ((mod4Mask .|. shiftMask, xK_F1), spawn "lastfm")
        , ((mod4Mask .|. shiftMask, xK_F2), spawn "chromium-browser")
        , ((mod4Mask .|. shiftMask, xK_F3), spawn "lxterminal -e packer -Syyu --noedit --noconfirm --devel")
        , ((mod4Mask .|. shiftMask, xK_F4), spawn "gedit")
        , ((mod4Mask .|. shiftMask, xK_F5), spawn "thunar")
        , ((mod4Mask .|. shiftMask, xK_F6), spawn "gpodder")
        , ((mod4Mask .|. shiftMask, xK_F7), spawn "lxterminal")
        , ((mod4Mask .|. shiftMask, xK_F8), spawn "oblogout")
        , ((mod4Mask .|. shiftMask, xK_F9), spawn "Ted")
        , ((mod4Mask .|. shiftMask, xK_F10), spawn "emacs")
        ]

myManageHook = composeAll . concat $
                [ [ className =? c --> doFloat | c <- floats]
                , [ resource =? r --> doIgnore | r <- ignore]]
 where floats = ["GNOME MPlayer"]
       ignore = ["trayer"]

Last edited by hobonix (2011-07-06 13:35:52)


I think Lisp is funny, double semi-colons and unmatched parentheses crack me up.

Offline

#477 2011-07-06 20:49:49

owain
Member
Registered: 2009-08-24
Posts: 233

Re: xmonad Hacking Thread

I've sometimes had trouble matching with className and have used appName instead, and xprop will identify this for you.  Try this:

myManageHook = composeAll . concat $
                [ [ appName =? c --> doFloat | c <- floats]
                , [ resource =? r --> doIgnore | r <- ignore]]
 where floats = ["gnome-mplayer"]
       ignore = ["trayer"]

Offline

#478 2011-07-06 21:06:33

lswest
Member
From: Munich, Germany
Registered: 2008-06-14
Posts: 453
Website

Re: xmonad Hacking Thread

I'm currently trying to get output from Conky piped into xmobar properly.  So far, no luck.  The script works fine when I run it by hand, and the file is created with the right content...I just can't get it to show up in xmobar.  Does anyone have any better suggestions?

.xmobarrc

Config { font = "xft:Togoshi Gothic:pixelsize=12"
       , bgColor = "#0c0c0c"
       , fgColor = "#9c9c9c"
       , position = TopW L 100 
       , lowerOnStart = False 
       , commands = [ Run Date "%a %b %_d %k:%M" "date" 10
                    , Run StdinReader
                    , Run Com "~/.xmonad/conky_xmonad" ["&"] "conky" 300 
                    ]                    ]   
       , sepChar = "%" 
       , alignSep = "}{"
       , template = "%StdinReader% }{ %conky% <fc=#ee9a00>%date%</fc>"
       } 

.xmonad/conky_xmonad (the line commented out was for testing purposes)

#!/bin/bash
# Filename: ~/.xmonad/conkyscript
conky -c ~/.conky_xmonad -i1 -q > ~/.xmonad/conkystat &
sleep 4
killall -q conky
echo `cat ~/.xmonad/conkystat`
#rm ~/.xmonad/conkystat

.conky_xmonad

background no
out_to_console yes
out_to_x no
update_interval 2
total_run_times 0
use_spacer none

TEXT
${execi 1 /usr/bin/mpd-info} | $memperc% ($mem) | Updates: ${execi 300 python ~/Dropbox/Scripts/conky/packages-short} | ${execi 60 python ~/Dropbox/Scripts/conky/gmail.py} Email(s)}

Last edited by lswest (2011-07-06 21:07:38)


Lswest <- the first letter of my username is a lowercase "L".
"...the Linux philosophy is "laugh in the face of danger". Oops. Wrong one. "Do it yourself". That's it." - Linus Torvalds

Offline

#479 2011-07-06 21:09:08

count-corrupt
Member
From: Germany
Registered: 2009-02-01
Posts: 111

Re: xmonad Hacking Thread

lswest wrote:

I'm currently trying to get output from Conky piped into xmobar properly.  So far, no luck.  The script works fine when I run it by hand, and the file is created with the right content...I just can't get it to show up in xmobar.  Does anyone have any better suggestions?

Most of us use dzen2 for that. Is there any particular reason you want to stick with xmobar?


Desktop: Arch64/Gentoo | XMonad | E6600@2x3Ghz | 4G RAM | Geforce 9800 GTX+ | 2TB 4-Disk Raid 5
Laptop: Arch64 | XMonad | Lenovo X200s with AFFS display mod | L9400@2x1.86Ghz | 4G RAM | 945G

Offline

#480 2011-07-06 21:11:10

lswest
Member
From: Munich, Germany
Registered: 2008-06-14
Posts: 453
Website

Re: xmonad Hacking Thread

count-corrupt wrote:

Most of us use dzen2 for that. Is there any particular reason you want to stick with xmobar?

The reason is mainly that I have no experience with dzen2 smile  I'm not at all hooked on using xmobar (after all, clicking on the workspaces isn't possible), so if you can give me an example of how to get xmonad's workspaces and conky in dzen2, I'd be more than happy to do it like that.

Last edited by lswest (2011-07-06 21:12:16)


Lswest <- the first letter of my username is a lowercase "L".
"...the Linux philosophy is "laugh in the face of danger". Oops. Wrong one. "Do it yourself". That's it." - Linus Torvalds

Offline

#481 2011-07-06 21:24:42

count-corrupt
Member
From: Germany
Registered: 2009-02-01
Posts: 111

Re: xmonad Hacking Thread

lswest wrote:

The reason is mainly that I have no experience with dzen2 smile  I'm not at all hooked on using xmobar (after all, clicking on the workspaces isn't possible), so if you can give me an example of how to get workspaces and conky in dzen2, I'd be more than happy to do it like that.

Well, this is how I use it:

In xmonad.hs:

myDzenFlags = " -bg " ++ escapeColor myBgColor
            ++ " -fg " ++ escapeColor myFontColor
            ++ " -e 'onstart=lower' "
            ++ " -h " ++ myPanelHeight
            ++ " -fn " ++ myFont
            ++ " -sa c "
            ++ " -y " ++ myPanelY
            ++ " -xs 2 "

statusBarCmd = "dzen2 "
             ++ myDzenFlags
             ++ " -w " ++ myMainPanelWidth
             ++ " -ta l "

main = do
     din <- spawnPipe statusBarCmd
     [...]
     xmonad $ ewmh defaultConfig
       { manageHook = newManageHook sp
        , layoutHook = myLayoutHook
        , [...]
        , logHook = myLogHook >> (dynamicLogWithPP $ myPP
                { ppOutput = hPutStrLn din
                })
}

This shows the workspaces in one dzen using my log hook and pretty printer (PP).
Then I start a second dzen for conky:

secondBarCmd = "conky -c ~/.xmonad/conkyrc | dzen2 "
             ++ myDzenFlags
             ++ " -w " ++ myConkyPanelWidth
             ++ " -x " ++ myMainPanelWidth
             ++ " -ta r "


main = do
     spawn secondBarCmd
     [...]
}

This is the same main of course. And then there's ~/.xmonad/conkyrc:

out_to_console yes
out_to_x no
background yes
update_interval 1
total_run_times 0
use_spacer none

TEXT
   \
${if_running amarok}^fg(\#418bd8)^i(/home/corrupt/.xmonad/images/mpd.xbm) ^fg(\#BFBFBF)${exec ~/.bin/amarokinfo} - \
^fg(\#418bd8)${exec /home/corrupt/.bin/amarokinfo -c}^fg(\#BFBFBF)| ${endif}\
${if_mpd_playing}$mpd_smart ($mpd_album) - $mpd_elapsed/$mpd_length |${endif} \
^i(/home/corrupt/.xmonad/images/pacman.xpm) ^ca(1,urxvt -e zsh -c "pacman -Qu && zsh")^fg(\#BFBFBF)${execi 30 pacman -Qu | wc -l} Updates^ca() | \
^fg(\#418bd8)^i(/home/corrupt/.xmonad/images/cpu.xbm) ^fg(\#BFBFBF)2x${freq_g 1}Ghz (${cpu cpu1}% ${cpu cpu2}%) | \
^fg(\#418bd8)^i(/home/corrupt/.xmonad/images/mem.xbm) ^fg(\#BFBFBF)$memperc% | \
^fg(\#418bd8)${time %A}^fg(\#BFBFBF) ${time %d.%m.%Y} |\
#^fg(\#E0DFDE)^bg(\#418bd8) ${time %H:%M}

Clickable workspaces can be achieved with xdotool. I'm doing it inside myPP.

ppVisible = ppVisibleColor . wrapClickable . (\a -> (a,a))
 wrapClickable (idx,str) = "^ca(1," ++ xdo "w;" ++ xdo index ++ ")" ++ "^ca(3," ++ xdo "e;" ++ xdo index ++ ")" ++ str ++ "^ca()^ca()"

All just examples. If you want to look at the bigger picture, here's my github. But it's essentially a huge working mess. My haskell is alright I'd say but I haven't yet gotten round to modularizing my config. On my laptop I'm also using keys to dynamically create workspaces and only allow to delete those that aren't part of my static config. But it's not finished yet and therefore not yet on github.


Desktop: Arch64/Gentoo | XMonad | E6600@2x3Ghz | 4G RAM | Geforce 9800 GTX+ | 2TB 4-Disk Raid 5
Laptop: Arch64 | XMonad | Lenovo X200s with AFFS display mod | L9400@2x1.86Ghz | 4G RAM | 945G

Offline

#482 2011-07-06 21:27:11

lswest
Member
From: Munich, Germany
Registered: 2008-06-14
Posts: 453
Website

Re: xmonad Hacking Thread

Wow, great!  I'll be looking through all this tomorrow (it's nearly midnight in Germany and I'm not awake enough to make big changes to my xmonad.hs right now).


Lswest <- the first letter of my username is a lowercase "L".
"...the Linux philosophy is "laugh in the face of danger". Oops. Wrong one. "Do it yourself". That's it." - Linus Torvalds

Offline

#483 2011-07-06 21:34:16

hobonix
Member
From: Seattle
Registered: 2009-02-17
Posts: 31

Re: xmonad Hacking Thread

owain wrote:

I've sometimes had trouble matching with className and have used appName instead, and xprop will identify this for you.  Try this:

myManageHook = composeAll . concat $
                [ [ appName =? c --> doFloat | c <- floats]
                , [ resource =? r --> doIgnore | r <- ignore]]
 where floats = ["gnome-mplayer"]
       ignore = ["trayer"]

Nope. Oh well, it's a minor thing really.


I think Lisp is funny, double semi-colons and unmatched parentheses crack me up.

Offline

#484 2011-07-06 21:41:59

count-corrupt
Member
From: Germany
Registered: 2009-02-01
Posts: 111

Re: xmonad Hacking Thread

lswest wrote:

it's nearly midnight in Germany

I know wink

<--------

Last edited by count-corrupt (2011-07-06 21:42:23)


Desktop: Arch64/Gentoo | XMonad | E6600@2x3Ghz | 4G RAM | Geforce 9800 GTX+ | 2TB 4-Disk Raid 5
Laptop: Arch64 | XMonad | Lenovo X200s with AFFS display mod | L9400@2x1.86Ghz | 4G RAM | 945G

Offline

#485 2011-07-07 08:40:53

lswest
Member
From: Munich, Germany
Registered: 2008-06-14
Posts: 453
Website

Re: xmonad Hacking Thread

count-corrupt wrote:
lswest wrote:

it's nearly midnight in Germany

I know wink

<--------

Woops, I really need to start reading locations... tongue

I've been trying to integrate your config and wrap my head around what your setup does, and so far I seems to be doing fine.  The only issue I have yet to solve is the following:

xmonad.hs:96:32: Not in scope: `elemIndex'
line 96:currentWsIndex w = case (elemIndex w myWorkspaces) of 

and my myWorkspaces:

myWorkspaces    = ["命令","文書","話","ウェブ","日本語","六","七","八","音楽"]

I imagine I need to either alter my myWorkspaces, or else I need to import something.


Lswest <- the first letter of my username is a lowercase "L".
"...the Linux philosophy is "laugh in the face of danger". Oops. Wrong one. "Do it yourself". That's it." - Linus Torvalds

Offline

#486 2011-07-07 09:05:33

count-corrupt
Member
From: Germany
Registered: 2009-02-01
Posts: 111

Re: xmonad Hacking Thread

lswest wrote:

or else I need to import something.

import Data.List


Desktop: Arch64/Gentoo | XMonad | E6600@2x3Ghz | 4G RAM | Geforce 9800 GTX+ | 2TB 4-Disk Raid 5
Laptop: Arch64 | XMonad | Lenovo X200s with AFFS display mod | L9400@2x1.86Ghz | 4G RAM | 945G

Offline

#487 2011-07-07 09:44:37

lswest
Member
From: Munich, Germany
Registered: 2008-06-14
Posts: 453
Website

Re: xmonad Hacking Thread

Thanks for the help.  All the errors are gone, but the dzen bar isn't showing up.

*EDIT* Solved it, I had to install dzen2 with xft support because I was trying to use Togoshi Gothic.

Last edited by lswest (2011-07-07 10:31:44)


Lswest <- the first letter of my username is a lowercase "L".
"...the Linux philosophy is "laugh in the face of danger". Oops. Wrong one. "Do it yourself". That's it." - Linus Torvalds

Offline

#488 2011-07-08 01:20:47

hobonix
Member
From: Seattle
Registered: 2009-02-17
Posts: 31

Re: xmonad Hacking Thread

I installed Xmonad on Archbang which ships with Openbox (I have run vanilla Arch before). In OB Thunar recognizes my mp3 player, but not when I'm running Xmonad. I've Googled this and the closest I've got is setting up Xmonad to run with Xfce. Archbang uses some Xfce stuff, but when I started down that path I found that there were tools missing. I could figure out what package those tools come with, but I'm hoping there is a simpler or at least more direct way (setting up Xmonad to run with Openbox, hopefully).


I think Lisp is funny, double semi-colons and unmatched parentheses crack me up.

Offline

#489 2011-07-08 06:54:19

count-corrupt
Member
From: Germany
Registered: 2009-02-01
Posts: 111

Re: xmonad Hacking Thread

hobonix wrote:

I installed Xmonad on Archbang which ships with Openbox (I have run vanilla Arch before). In OB Thunar recognizes my mp3 player, but not when I'm running Xmonad. I've Googled this and the closest I've got is setting up Xmonad to run with Xfce. Archbang uses some Xfce stuff, but when I started down that path I found that there were tools missing. I could figure out what package those tools come with, but I'm hoping there is a simpler or at least more direct way (setting up Xmonad to run with Openbox, hopefully).

I can't say I understand what your problem is. Thunar is not recognizing your applications?
There is absolutely no way to set up Xmonad to run with Openbox. Both are window managers and can only replace each other (though I do miss openbox' launcher menu at times). If there's a problem with thunar, it shouldn't be affected by the use of the window manager. You could try to start certain parts of XFCE in your .xinitrc as you would gnome-session or kdeinit4 (for gnome2/KDE4) or just use Xmonad directly in XFCE ad depicted here.


Desktop: Arch64/Gentoo | XMonad | E6600@2x3Ghz | 4G RAM | Geforce 9800 GTX+ | 2TB 4-Disk Raid 5
Laptop: Arch64 | XMonad | Lenovo X200s with AFFS display mod | L9400@2x1.86Ghz | 4G RAM | 945G

Offline

#490 2011-07-08 07:00:13

lswest
Member
From: Munich, Germany
Registered: 2008-06-14
Posts: 453
Website

Re: xmonad Hacking Thread

hobonix wrote:

I installed Xmonad on Archbang which ships with Openbox (I have run vanilla Arch before). In OB Thunar recognizes my mp3 player, but not when I'm running Xmonad. I've Googled this and the closest I've got is setting up Xmonad to run with Xfce. Archbang uses some Xfce stuff, but when I started down that path I found that there were tools missing. I could figure out what package those tools come with, but I'm hoping there is a simpler or at least more direct way (setting up Xmonad to run with Openbox, hopefully).

My Thunar refuses to recognize media and removable devices unless I launch XMonad like this:

exec ck-launch-session dbus-launch --sh-syntax --exit-with-session xmonad

(important part is the dbus-launch bit).

If you want to test this without restarting XMonad, simply run thunar with:

dbus-launch thunar

Hope that helps.

Last edited by lswest (2011-07-08 07:00:40)


Lswest <- the first letter of my username is a lowercase "L".
"...the Linux philosophy is "laugh in the face of danger". Oops. Wrong one. "Do it yourself". That's it." - Linus Torvalds

Offline

#491 2011-08-27 20:02:44

andre.ramaciotti
Member
From: Brazil
Registered: 2007-04-06
Posts: 649

Re: xmonad Hacking Thread

Two things:

First, I've made a slight modification to spawnSelected from XMonad.Actions.GridSelect, as explained here. I've been using it as the default way to start new applications and I like it. (If you would like to use it but don't know how, just ask and I'll write some example code).

Second, what do you use for your IM layout? "withIM" works as expected, but I can't find a nice layout to use with it. MosaicAlt works the best for me, but it still doesn't feel "right". I've tried Grid and GridRatio, but I didn't like them too.


(lambda ())

Offline

#492 2011-09-15 14:45:08

daedalus
Member
From: Mountain View
Registered: 2007-09-28
Posts: 50
Website

Re: xmonad Hacking Thread

Hey all -

I've used a Xmonad-only setup for years, but would really like to try out the Xmonad+Gnome combo.  That said, my Haskell is poor, and I'm having trouble finding a decent xmonad.hs that integrates with Gnome that I can use as a starting place.  I have a few questions, if anyone can help:

1) I want the convenience of the Gnome DE, but I don't want the Gnome tray or panel.  Has anyone successfully used Xmonad+Gnome + something like trayer? How would I do this?  I would like to have GTK/Gnome applets still in-use (e.g., Network Manager), but the Gnome interface just isn't my thing.

I've seen some people starting the gnome-settings-daemon alongside Xmonad.  Does this accomplish the above?  What about the gnome-notification daemon?

2) Does anyone have a good set of dotfiles + xmonad.hs they would recommend as a starting place for this kind of thing?

Thanks smile

Edit: Made my first question more clear.

Last edited by daedalus (2011-09-15 19:51:59)

Offline

#493 2011-09-15 21:27:20

Mr.Elendig
#archlinux@freenode channel op
From: The intertubes
Registered: 2004-11-07
Posts: 3,721

Re: xmonad Hacking Thread

I would suggest the xfce panel then, usually less painfull to get to behave than trayer/standalonetray/similar.


Evil #archlinux@freenode channel op and general support dude.
. files on github, Screenshots, Random pics and the rest

Offline

#494 2011-09-15 21:31:35

defears
Member
Registered: 2010-07-26
Posts: 218

Re: xmonad Hacking Thread

This is my xmonad.hs. Works with xfce4-panel,tint2,fbpanel, and gnome-panel.

import XMonad
import XMonad.Config.Desktop

main = xmonad desktopConfig

Offline

#495 2011-09-21 10:54:29

bloom
Member
Registered: 2010-08-18
Posts: 749
Website

Re: xmonad Hacking Thread

Any simple dzen2 configuration to simulate dwm statusbar?

Update
Never mind: I already found the shortest path.
Surprisingly, everything can be done from within xmonad.
And feeding extra informations is as easy as:

    , ppExtras = [dzenColorL "#A3CE69" "#1E1D1C" (date "^p(_RIGHT)^p(-55)%H:%M ")]

Last edited by bloom (2011-09-23 10:51:46)


gh · da · ds · cr · ab · fkr

Offline

#496 2011-10-10 20:03:03

nexus7
Member
From: brain dump
Registered: 2006-12-06
Posts: 285

Re: xmonad Hacking Thread

Hi all,

I'd like to display only my workspaces in an individual font, and though I use dzen for my statusbar, this must be configured directly in xmonad.hs, I guess.

First I tried the XMonad.Layout.ShowWName stuff, but this is not what I meant -- it just shows the name of ws in the center of the screen for a second or so (if you want, have a look eg at (1) (2)).

So how to do this? Maybe it's sth similar to showing icons as ws names...

echo "1 2 3 4 5 6 7 8 9 0" | dzen2 -fn "blah-20" -p &

for a ttf "blah" in the size of 20px works btw.


we are Arch.
you will be assimilated!
resistance is futile!

Offline

#497 2011-10-10 20:11:54

lswest
Member
From: Munich, Germany
Registered: 2008-06-14
Posts: 453
Website

Re: xmonad Hacking Thread

I'm not sure if this is what you're after, but I use two instances of dzen, and as such you could set two separate fonts.

The relevant sections of my xmonad.hs:

Configuration:

myFont = "'Togoshi Gothic:size=9'"
myBgColor   = "#0c0c0c"
myFontColor = "#ffffff"
myHighlightColor = "#9F6B00"

myPanelHeight = "18"
myPanelY      = "0"

myMainPanelWidth  = "660"
myConkyPanelWidth = "1040"

--Workspace dzen
myDzenFlags = " -bg " ++ escapeColor myBgColor
            ++ " -fg " ++ escapeColor myFontColor
            ++ " -h " ++ myPanelHeight
            ++ " -fn " ++ myFont
            ++ " -sa c "
            ++ " -y " ++ myPanelY
            ++ " -xs 2 "

statusBarCmd = "dzen2 "
             ++ myDzenFlags
             ++ " -w " ++ myMainPanelWidth
             ++ " -ta l "

--Conky dzen
secondBarCmd = "conky -c ~/.xmonad/.conkyrc_dwm_bar| dzen2 "
             ++ myDzenFlags
             ++ " -w " ++ myConkyPanelWidth
             ++ " -x " ++ myMainPanelWidth
             ++ " -ta r "

To create the bars put this at the start of your main = do function (before xmonad [...])

    din <- spawnPipe statusBarCmd
    spawn secondBarCmd

Hope that helps/points you in the right direction!


Lswest <- the first letter of my username is a lowercase "L".
"...the Linux philosophy is "laugh in the face of danger". Oops. Wrong one. "Do it yourself". That's it." - Linus Torvalds

Offline

#498 2011-10-10 21:18:54

nexus7
Member
From: brain dump
Registered: 2006-12-06
Posts: 285

Re: xmonad Hacking Thread

lswest wrote:

...

myFont = "'Togoshi Gothic:size=9'"
...

--Workspace dzen
myDzenFlags = " -bg " ++ escapeColor myBgColor
            ++ " -fg " ++ escapeColor myFontColor
            ++ " -h " ++ myPanelHeight
            ++ " -fn " ++ myFont
...

statusBarCmd = "dzen2 "
             ++ myDzenFlags
...

Yes, looks promising, thanks smile

Well, I use dzenPP, that looks like this:

myDzenPP = dzenPP
    { ppCurrent = dzenColor "#3399ff" "" . wrap " " " "
    , ppHidden = dzenColor "#dddddd" "" . wrap " " " "
    , ppHiddenNoWindows = dzenColor "#777777" "" . wrap " " " "
    , ppUrgent = dzenColor "#ff0000" "" . wrap " " " "
    , ppSep = " "
    , ppLayout = dzenColor "#aaaaaa" "" . wrap " " " "
    , ppTitle = dzenColor "#ffffff" ""
    }

while main is:

main = do
        status <- spawnPipe myDzenStatus -- xmonad status on the left
        conky <- spawnPipe myDzenConky -- conky stats on the right
        xmonad $ withUrgencyHook NoUrgencyHook $ defaultConfig
            { ... }

...unfortunately, there's no valid variable "ppFont". -- Is there a way to put sth like your myDzenFlags in here?


we are Arch.
you will be assimilated!
resistance is futile!

Offline

#499 2011-10-10 22:55:43

nexus7
Member
From: brain dump
Registered: 2006-12-06
Posts: 285

Re: xmonad Hacking Thread

Probably I'm close to the solution with sth looking like this:

myDzenPP = dzenPP
    { ppCurrent =  wrapFont myFont . dzenColor "#3399ff" "" . wrap " " " "
...

But "wrapFont" is out of scope and not mentioned here.

What to import, I already got XMonad.Hooks.DynamicLog?


Edit: Though it compiles well, the above is wrong anyhow. tongue

Edit2: What about that SWNConfig-stuff as seen here and there?

@ lswest: found your configs btw.
This one looks also nice.

...lost in the fog. tongue Let's see tomorrow.

Last edited by nexus7 (2011-10-11 00:52:03)


we are Arch.
you will be assimilated!
resistance is futile!

Offline

#500 2011-10-11 13:11:20

nnoell
Member
From: Spain
Registered: 2010-08-21
Posts: 99

Re: xmonad Hacking Thread

Hi nexus7,

This may not be the best solution but try to set your workspaces like so:

wsFont = "blah-20"

myWorkspaces = [ "^fn(" ++ wsFont ++ ")1"
               , "^fn(" ++ wsFont ++ ")2"
               , "^fn(" ++ wsFont ++ ")3"
               , "^fn(" ++ wsFont ++ ")4"
               , "^fn(" ++ wsFont ++ ")5"
               , "^fn(" ++ wsFont ++ ")6"
               , "^fn(" ++ wsFont ++ ")7"
               , "^fn(" ++ wsFont ++ ")8"
               , "^fn(" ++ wsFont ++ ")9"
               , "^fn(" ++ wsFont ++ ")0"
               ]

Offline

Board footer

Powered by FluxBB