You are not logged in.
Offline
sir, which you prefer, installing xmonad using cabal or pacman?
right now, i'm installing xmonad using cabal.
just looking around.
Offline
sir, which you prefer, installing xmonad using cabal or pacman?
right now, i'm installing xmonad using cabal.
Are you crazy? Use pacman... there's little benefit building it directly from cabal =/. If you want more "bleeding edge", use the xmonad-darcs package.
Geeks & Linux Atelier
An eye for an eye ... ends in making everybody blind -- Mahatma Gandhi
dotfiles
Offline
sir, which you prefer, installing xmonad using cabal or pacman?
right now, i'm installing xmonad using cabal.
Pacman with [haskell-core] repository.
Offline
andjeng wrote:sir, which you prefer, installing xmonad using cabal or pacman?
right now, i'm installing xmonad using cabal.Are you crazy? Use pacman... there's little benefit building it directly from cabal =/. If you want more "bleeding edge", use the xmonad-darcs package.
oh, thank you sir. i'll consider using darcs.
andjeng wrote:sir, which you prefer, installing xmonad using cabal or pacman?
right now, i'm installing xmonad using cabal.Pacman with [haskell-core] repository.
thanks for the link sir. i'll check it out.
just looking around.
Offline
Hey here's my five minutes of "shame" It is mostly "stolen" from real coders as i'm not that good, but nevertheless I'v put it toghetter by myself. I'm shure there are better ways to do it and I am looking forward to suggestions.
I like to use as much space as possible so I just have a tiny dock(actualy made from three parts). First is from xmonad.hs and it shows workspaces with icons and also it outputs window-title. Next one is just buttons to controll my mpd. and the last one is conky with mpd song info, ethernet, wireless, clock, cpu usage and AC power state + battery. Volume, wireless and battery icons are changing according to the system states(volume 5 different startes, wireless 5 and battery 10). I know it is a bit too much...but I had too much time.
xmonad.hs
import XMonad hiding ( (|||) )
import XMonad.Layout.LayoutCombinators
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.UrgencyHook
import XMonad.Util.Run(spawnPipe)
import System.IO
import XMonad.Actions.DynamicWorkspaces
import XMonad.Prompt
import qualified XMonad.StackSet as W
import qualified Data.Map as M
import XMonad.Layout.PerWorkspace
import XMonad.Util.EZConfig
myManageHook = composeAll
[ className =? "MPlayer" --> doShift "media" <+> doFloat
, className =? "feh" --> doShift "pics" <+> doFloat
, className =? "Chromium" --> doShift "www"
, className =? "Wine" --> doShift "games" <+> doFloat
, className =? "Gimp" --> doShift "art" <+> doFloat
, className =? "URxvt" --> doShift "term"
, className =? "ncmpcpp" --> doShift "media"
, className =? "rdesktop" --> doShift "9" <+> doFloat
, className =? "Dwb" --> doShift "www"
, className =? "Xfburn" --> doFloat
, className =? "Računalo" --> doFloat
, className =? "Vlc" --> doFloat
, manageDocks
]
myStatusBar = "dzen2 -ta l -x 0 -y 0 -w 550 -h 16 -fn inconsolata-10 -fg #ffffff -bg black"
musicBar = "/bin/cat ~/musicBar | dzen2 -p -x 550 -y 0 -w 100 -h 16 -fn inconsolata-10 -fg #ffffff -bg black"
rightBar = "conky -c ~/.conky/conkyrc | dzen2 -e 'button4=exec:amixer -q set Master 1+;button5=exec:amixer -q set Master 1-;button2=exec:amixer -q sset Master toggle' -x 650 -h 16 -fn inconsolata-10 -y 0 -w 950 -ta r -fg #ffffff -bg black"
myUrgencyHook = withUrgencyHook dzenUrgencyHook
{ args = ["-y 1000"] }
myDzenPP h = defaultPP
{ ppCurrent = wrap "^fg(#ffffff)^bg(#333333)^i(/home/simon/.xmonad/xbm/corner.xbm)^fg(#ffffff)" "^bg()^fg()" . \wsId -> dropIx wsId
, ppVisible = wrap "^fg(#ffffff)^i(/home/simon/.xmonad/xbm/corner.xbm)^fg(#ffffff)" "^fg()" . \wsId -> dropIx wsId
, ppHidden = wrap "^i(/home/simon/.xmonad/xbm/corner.xbm)^fg(#ffffff)" "^fg()" . \wsId -> dropIx wsId
, ppHiddenNoWindows = \wsId -> if wsId `notElem` staticWs then "" else wrap "^fg(#444444)^i(/home/simon/.xmonad/xbm/corner.xbm)" "^fg()" . dropIx $ wsId
, ppUrgent = wrap "^fg(#ffffff)" "^fg()" . \wsId -> dropIx wsId
, ppSep = " "
, ppWsSep = " "
, ppTitle = dzenColor ("#ffffff") "" . wrap "-[ " " ]-"
, ppLayout = dzenColor ("#a0a0a0") "" .
(\x -> case x of
"Full" -> "^fg(#666666)^i(/home/simon/.xmonad/xbm/layout_full.xbm)"
"Tall" -> "^fg(#666666)^i(/home/simon/.xmonad/xbm/layout_tall.xbm)"
"Mirror Tall" -> "^fg(#666666)^i(/home/simon/.xmonad/xbm/layout_mirror_tall.xbm)"
_ -> x
)
, ppOutput = hPutStrLn h
}
where
dropIx wsId = replacews wsId
where
replacews x
| x=="term" = "^i(/home/simon/.xmonad/xbm/term.xbm)"
| x=="www" = "^i(/home/simon/.xmonad/xbm/www.xbm)"
| x=="docs" = "^i(/home/simon/.xmonad/xbm/docs.xbm)"
| x=="media" = "^i(/home/simon/.xmonad/xbm/media.xbm)"
| x=="art" = "^i(/home/simon/.xmonad/xbm/art.xbm)"
| x=="games" = "^i(/home/simon/.xmonad/xbm/games.xbm)"
| x=="code" = "^i(/home/simon/.xmonad/xbm/code.xbm)"
| x=="pics" = "^i(/home/simon/.xmonad/xbm/pics.xbm)"
| otherwise = x
staticWs = ["term", "www", "media", "docs", "pics", "games", "art"]
myLayoutHook = Full ||| tall ||| Mirror tall
where
tall = Tall 1 (3/100) (2/3)
main = do
dzen <- spawnPipe myStatusBar
conkyexample <- spawnPipe rightBar
musicConky <- spawnPipe musicBar
xmonad $ myUrgencyHook $ defaultConfig
{ manageHook = myManageHook
, layoutHook = avoidStruts $ myLayoutHook
, workspaces = ["term", "www", "media", "docs", "pics", "games", "art"] ++ (map show [8..10])
, logHook = dynamicLogWithPP $ myDzenPP dzen
, focusFollowsMouse = True
, modMask = mod4Mask
, terminal = "urxvt"
, normalBorderColor = "#000000"
, focusedBorderColor = "#ffffff"
, borderWidth = 0
}`additionalKeysP`
[ ("M-b", sendMessage ToggleStruts),
("<XF86ScreenSaver>", spawn "slock") ]
musicBar
^ca(1,ncmpcpp stop)^i(/home/simon/.xmonad/xbm/stop.xbm)^ca() ^ca(1,ncmpcpp toggle)^i(/home/simon/.xmonad/xbm/playpause.xbm)^ca() ^ca(1,ncmpcpp prev)^i(/home/simon/.xmonad/xbm/prev.xbm)^ca() ^ca(1,ncmpcpp next)^i(/home/si
getVolume.sh
#!/bin/bash
#Get volume from alsa
mixer=$(amixer get Master | grep 'Front Left:' | sed -e 's/^[^\[]*//' -e 's/^.//' -e 's/%.*$//')
echo $mixer
musicConky
out_to_console yes
update_interval 1.0
out_to_x no
use_xft yes
use_spacer right
TEXT
^fg(\#ffffff)^bg(\#333333)#
${if_match ${exec ~/.xmonad/bin/getVolume} >= 75}^i(~/.xmonad/xbm/volume100.xbm) ${else} #
${if_match ${exec ~/.xmonad/bin/getVolume} >= 50}^i(~/.xmonad/xbm/volume75.xbm) ${else} #
${if_match ${exec ~/.xmonad/bin/getVolume} >= 25}^i(~/.xmonad/xbm/volume50.xbm) ${else} #
${if_match ${exec ~/.xmonad/bin/getVolume} >= 1}^i(~/.xmonad/xbm/volume25.xbm) ${else} #
${if_match ${exec ~/.xmonad/bin/getVolume} < 1}^i(~/.xmonad/xbm/volume0.xbm) #
${endif}${endif}${endif}${endif}${endif}#
${exec /home/simon/.xmonad/bin/getVolume} % #
${if_mpd_playing}^i(/home/simon/.xmonad/xbm/music.xbm)${mpd_artist}:${mpd_title}${endif}
conkyrc
out_to_console yes
update_interval 1
if_up_strictness address
use_xft yes
out_to_x no
TEXT
^fg(\#ffffff)#
${if_match ${exec /home/simon/.xmonad/bin/getVolume} >= 75}^i(/home/simon/.xmonad/xbm/volume100.xbm) ${else} #
${if_match ${exec /home/simon/.xmonad/bin/getVolume} >= 50}^i(/home/simon/.xmonad/xbm/volume75.xbm) ${else} #
${if_match ${exec /home/simon/.xmonad/bin/getVolume} >= 25}^i(/home/simon/.xmonad/xbm/volume50.xbm) ${else} #
${if_match ${exec /home/simon/.xmonad/bin/getVolume} >= 1}^i(/home/simon/.xmonad/xbm/volume25.xbm) ${else} #
${if_match ${exec /home/simon/.xmonad/bin/getVolume} < 1}^i(/home/simon/.xmonad/xbm/volume0.xbm) #
${endif}${endif}${endif}${endif}${endif}#
${if_mpd_playing}^i(/home/simon/.xmonad/xbm/music.xbm)${mpd_artist}:${mpd_title}${endif} #
${if_up eth0}^i(/home/simon/.xmonad/xbm/lan.xbm) ${addrs eth0}${endif} #
${if_existing /sys/class/net/wlan0/operstate down}No Wireless${else}#
${if_match ${wireless_link_qual_perc wlan0} >= 80}^i(/home/simon/.xmonad/xbm/wireless5.xbm) ${wireless_essid wlan0} ${else} #
${if_match ${wireless_link_qual_perc wlan0} >= 60}^i(/home/simon/.xmonad/xbm/wireless4.xbm) ${wireless_essid wlan0} ${else} #
${if_match ${wireless_link_qual_perc wlan0} >= 40}^i(/home/simon/.xmonad/xbm/wireless3.xbm) ${wireless_essid wlan0} ${else} #
${if_match ${wireless_link_qual_perc wlan0} >= 20}^i(/home/simon/.xmonad/xbm/wireless2.xbm) ${wireless_essid wlan0} ${else} #
${if_match ${wireless_link_qual_perc wlan0} >= 1}^i(/home/simon/.xmonad/xbm/wireless1.xbm) ${wireless_essid wlan0} #
${endif}${endif}${endif}${endif}${endif}${endif} #
${addrs wlan0} #
^i(/home/simon/.xmonad/xbm/calendar.xbm) ${time %d/%m/%y }^i(/home/simon/.xmonad/xbm/time.xbm) ${time %H}${blink :}${time %M } #
^i(/home/simon/.xmonad/xbm/cpu.xbm) ${cpu cpu1} ${cpu cpu2} #
${if_match ${battery_percent BAT0} >= 90}^i(/home/simon/.xmonad/xbm/battery90.xbm)${else}#
${if_match ${battery_percent BAT0} >= 80}^i(/home/simon/.xmonad/xbm/battery80.xbm)${else}#
${if_match ${battery_percent BAT0} >= 70}^i(/home/simon/.xmonad/xbm/battery70.xbm)${else}#
${if_match ${battery_percent BAT0} >= 60}^i(/home/simon/.xmonad/xbm/battery60.xbm)${else}#
${if_match ${battery_percent BAT0} >= 50}^i(/home/simon/.xmonad/xbm/battery50.xbm)${else}#
${if_match ${battery_percent BAT0} >= 40}^i(/home/simon/.xmonad/xbm/battery40.xbm)${else}#
${if_match ${battery_percent BAT0} >= 30}^i(/home/simon/.xmonad/xbm/battery30.xbm)${else}#
${if_match ${battery_percent BAT0} >= 20}^i(/home/simon/.xmonad/xbm/battery20.xbm)${else}#
${if_match ${battery_percent BAT0} >= 10}^fg(\#ff0000)^i(/home/simon/.xmonad/xbm/battery10.xbm)${else}#
${endif}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${endif}#
${if_existing /sys/class/power_supply/AC/online 1} ^i(/home/simon/.xmonad/xbm/ac.xbm)
Offline
http://s4.postimage.org/skdsz5k89/xmonmad.jpg
Hey here's my five minutes of "shame" It is mostly "stolen" from real coders as i'm not that good, but nevertheless I'v put it toghetter by myself. I'm shure there are better ways to do it and I am looking forward to suggestions.
I like to use as much space as possible so I...
Could I get your xbm images?
Offline
$imon wrote:http://s4.postimage.org/skdsz5k89/xmonmad.jpg
Hey here's my five minutes of "shame" It is mostly "stolen" from real coders as i'm not that good, but nevertheless I'v put it toghetter by myself. I'm shure there are better ways to do it and I am looking forward to suggestions.
I like to use as much space as possible so I...Could I get your xbm images?
I hope I did this correctly
Offline
Got some awesome status bar applets working.
ANIMATED GIF!!!
These were taken a little before those status applets were written...
As you can see, they save me quite a bit of status bar real estate, and allow me to display more then would fit on that bar. They also consume less CPU since I can poll for updates once every 5 seconds instead of constantly updating CPU / MEM / etc...
Last edited by earsplit (2013-02-20 20:30:30)
Offline
^ Those gaps are huge!
If you can't sit by a cozy fire with your code in hand enjoying its simplicity and clarity, it needs more work. --Carlos Torres
Offline
1) Having my windows separated like that is easier for me to read with such a small font
2) Using such a small font, programs rarely take up any more terminal width then that
3) I use 3 layouts: 1 with one window centered, 1 with gaps like that, 1 with no gaps, 1 fullscreen. I find it more intuitive to set up this "zoom" method based on what i'm doing in that workspace.
Relavent part of xmonad.hs
defaultLayouts = onWorkspace (myWorkspaces !! 0) (avoidStruts (Circle ||| tiled) ||| fullTile)
$ onWorkspace (myWorkspaces !! 1) (avoidStruts (Circle ||| noBorders (fullTile)) ||| fullScreen)
$ onWorkspace (myWorkspaces !! 2) (avoidStruts simplestFloat)
$ avoidStruts ( tiledSpace ||| tiled ||| fullTile ) ||| fullScreen
where
tiled = spacing 10 $ ResizableTall nmaster delta ratio []
tiledSpace = spacing 60 $ ResizableTall nmaster delta ratio []
fullScreen = noBorders(fullscreenFull Full)
fullTile = ResizableTall nmaster delta ratio []
borderlessTile = noBorders(fullTile)
nmaster = 1
delta = 5/100
ratio = toRational (2/(1 + sqrt 5 :: Double))
Offline
Of course it depends also on screen size. On my 15.6" screen, I probably wouldn't want to have gaps that big. But hey, to each his own
If you can't sit by a cozy fire with your code in hand enjoying its simplicity and clarity, it needs more work. --Carlos Torres
Offline
Offline
Got some awesome status bar applets working.
ANIMATED GIF!!!
http://i.imgur.com/bZegioRs.gif
These were taken a little before those status applets were written...Clean
http://ompldr.org/taGo5NQ
Busy
http://ompldr.org/taGo5NgAs you can see, they save me quite a bit of status bar real estate, and allow me to display more then would fit on that bar. They also consume less CPU since I can poll for updates once every 5 seconds instead of constantly updating CPU / MEM / etc...
I really love it. Great job! What do you use for compositing?
Offline
Got some awesome status bar applets working.
ANIMATED GIF!!!
http://i.imgur.com/bZegioRs.gif
These were taken a little before those status applets were written...Clean
http://ompldr.org/taGo5NQ
Busy
http://ompldr.org/taGo5NgAs you can see, they save me quite a bit of status bar real estate, and allow me to display more then would fit on that bar. They also consume less CPU since I can poll for updates once every 5 seconds instead of constantly updating CPU / MEM / etc...
Wow, those applets are indeed awesome.
I might steal your configs
Offline
earsplit wrote:Got some awesome status bar applets working.
ANIMATED GIF!!!
http://i.imgur.com/bZegioRs.gif
These were taken a little before those status applets were written...Clean
http://ompldr.org/taGo5NQ
Busy
http://ompldr.org/taGo5NgAs you can see, they save me quite a bit of status bar real estate, and allow me to display more then would fit on that bar. They also consume less CPU since I can poll for updates once every 5 seconds instead of constantly updating CPU / MEM / etc...
I really love it. Great job! What do you use for compositing?
Thanks! Compton, the fork of xcompmgr that is actually updated. I only really use it when i'm taking a screenshot to pretty up the corners and such
compton -cCfb -D 3.5
For those of you skeptical about the mouse, I assure you I have all of those scripts bound to alt+F1-F7 for easy keyboard action
Offline
Archlinux :: Xmonad
dotfiles | deviantart
Offline
Xmonad, docky, tint2, dzen!
That sort of status bar, what is it? dzen with some scripts?
Geeks & Linux Atelier
An eye for an eye ... ends in making everybody blind -- Mahatma Gandhi
dotfiles
Offline
earsplit wrote:Xmonad, docky, tint2, dzen!
That sort of status bar, what is it? dzen with some scripts?
Applets are dzen scripts, as shown in the animated gif below...
http://i.imgur.com/4NmZcNY.gif
The window list is a tint2 panel embedded within the dzen bar. The whole bar is clickable.
Configs on my github under .xmonad/scripts if you want to take a look...
Offline
-- mod edit: read the rules and only post thumbnails https://bbs.archlinux.org/viewtopic.php?id=61754 [jwr] --
Offline
Slowly getting towards a desktop setup I'm happy with.
Xmonad, xmobar and trayer.
Scratchpad for "quake console"
Terminal: urxvt and tmux
Mozilla Firefox with Pentadactyl
irssi with bitlbee for Facebook, GTalk, MSN and Skype
mopidy and ncmpcpp for Spotify
vim with spf-13 as base and wombat256 colorscheme
I'm trying to harmonize my life by moving everything save the browser to the terminal and having vi style keybindings everywhere. Biggest thing left to solve if possible is shared paste buffer between tmux sessions and other apps if possible.
Last edited by Legogris (2013-07-08 22:59:03)
Offline
Offline