You are not logged in.

#1 2017-02-14 02:32:49

cemsbr
Member
From: Brazil
Registered: 2008-05-03
Posts: 111
Website

[SOLVED] xmobar below windows

I believe it has something to do with the last updates of xmonad or xmobar. The windows are fully maximized covering xmobar and trayer. Sometimes, after reloading (meta-q), xmobar is above the windows and trayer is below (i.e. I can't read tab names that are below xmobar in my current virtual desktop). My config files are:

~/.xmonad/xmonad.hs

import XMonad
import XMonad.Util.Run(spawnPipe)
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.DynamicLog
import System.IO
import XMonad.Util.EZConfig(additionalKeysP)
import XMonad.Layout.NoBorders(smartBorders)
import XMonad.Hooks.ManageHelpers

main = do
    xmproc <- spawnPipe "/usr/bin/xmobar /home/cadu/.xmobarrc"
    xmonad $ defaultConfig
        { manageHook = ( isFullscreen --> doFullFloat ) <+> manageDocks <+> manageHook defaultConfig
        , layoutHook = smartBorders (avoidStruts  $  layoutHook defaultConfig)
        , logHook = dynamicLogWithPP xmobarPP
            { ppOutput = hPutStrLn xmproc
            , ppTitle = xmobarColor "green" "" . shorten 68
            }
        , terminal = "urxvtcd"
        , borderWidth = 2
        , modMask = mod4Mask
        } `additionalKeysP`
        [ ("<XF86MonBrightnessUp>", spawn "xbacklight -inc 10")
        , ("<XF86MonBrightnessDown>", spawn "xbacklight -dec 5")
        , ("<XF86KbdBrightnessUp>", spawn "/archive/repos/backlights/xkb_backlight_key up 10")
        , ("<XF86KbdBrightnessDown>", spawn "/archive/repos/backlights/xkb_backlight_key down 10")
        , ("<XF86AudioMute>", spawn "amixer -q set Master togglemute")
        , ("<XF86AudioLowerVolume>", spawn "amixer -c 0 -q set Master 2dB-")
        , ("<XF86AudioRaiseVolume>", spawn "amixer -c 0 -q set Master 2dB+")
        , ("<XF86AudioPlay>", spawn "playerctl play-pause")
        , ("<XF86AudioNext>", spawn "playerctl next")
        , ("<XF86AudioPrev>", spawn "playerctl prev")
        , ("M1-C-l", spawn "xautolock -locknow || (killall xautolock; xautolock -time 10 -locker slock & sleep 1; xautolock -locknow)")
        ]

~/.xmobarrc

-- Config { font = "xft:Terminus:pixelsize=14,ipagothic:pixelsize=14:antialias=false"
Config { font = "-*-terminus-medium-*-*-*-14-*-*-*-*-*-*-*,-*-ipagothic-*-*-*-*-*-*-*-*-*-*-*-*"
       , borderColor = "black"
       , border = NoBorder
       , position = TopW L 85
       , lowerOnStart = False
       , overrideRedirect = False
       , commands = [ Run Cpu ["-L","3","-H","50","--normal","green","--high","red"] 100
                    , Run Memory ["-t","Mem: <usedratio>%"] 100
                    , Run BatteryP ["BAT0"] ["-t", "<acstatus>"
                                             ,"-L", "10", "-H", "80"
                                             ,"--low", "red"
                                             ,"--high", "green"
                                             ,"--"
                                             ,"-O", "<fc=green>AC</fc> <left>%"
                                             ,"-i", "Charged"
                                             ,"-o", "<fc=red>Batt</fc> <left>% <watts>W <timeleft>"
                                             ,"-L", "-15", "-H", "-5"
                                             ,"-l", "red"
                                             ,"-m", "blue"
                                             ,"-h", "green"
                                             ,"-f", "ADP1/online"] 600
    		    , Run Date "%m-%d %a %H:%M" "date" 150
                    , Run StdinReader
                    ]
       , sepChar = "%"
       , alignSep = "}{"
       , template = "%StdinReader% }{ %cpu%, %memory%, %battery%, <fc=#ee9a00>%date%</fc>"
       }

Last edited by cemsbr (2017-02-14 14:16:07)

Offline

#2 2017-02-14 04:39:14

jt512
Member
Registered: 2009-02-19
Posts: 262

Re: [SOLVED] xmobar below windows

I am having a similar problem after updating today.  xmobar gets hidden behind other windows.

~/.xmonad/xmonad.hs

import XMonad
import Data.Monoid  --new
import System.Exit  --new
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.ManageHelpers
import XMonad.Hooks.SetWMName
import XMonad.Util.Run(spawnPipe)
import XMonad.Util.EZConfig(additionalKeys)
import XMonad.Layout.NoBorders
import XMonad.Layout.ResizableTile
import XMonad.Layout.ThreeColumns
import XMonad.Layout.LayoutHints
import XMonad.Layout.LayoutModifier
import XMonad.Layout.Tabbed
import XMonad.Actions.RotSlaves(rotSlavesUp, rotSlavesDown)
import XMonad.Actions.UpdatePointer
import qualified XMonad.StackSet as W
import qualified Data.Map        as M  
import System.IO

main = do
    xmproc <- spawnPipe "xmobar"
    xmonad $ defaultConfig
        { manageHook = manageDocks <+> myManageHook <+> manageHook defaultConfig
        , layoutHook = avoidStruts $ 
        smartBorders (layoutHintsWithPlacement (0.5, 0) (ResizableTall 1 (2/100) 0.618 [])) ||| 
        smartBorders (layoutHintsWithPlacement (0.5, 0) simpleTabbed ) |||
        smartBorders (Mirror (ResizableTall 1 (2/100) (1/2) [])) |||
        noBorders Full ||| 
        smartBorders (layoutHintsWithPlacement (0.5, 0) (ThreeCol 1 (2/100) (1/3)))
        , modMask = modMask'
        , terminal = "urxvt"
        , borderWidth = 2
        , workspaces = ["1","2","3","4","5","6","7","8","9"]
        , focusedBorderColor = "red"
        , logHook = 
            (dynamicLogWithPP $ xmobarPP
                    { ppOutput = hPutStrLn xmproc
                    , ppTitle = xmobarColor "green" "" . shorten 50
                    })
        , startupHook = setWMName "LG3D"
        --    >> updatePointer (Relative 0.995 0.99)
        }
        `additionalKeys`
        [ ((controlMask, xK_Up), spawn "sudo /home/jay/scripts/bright_incr")
        , ((controlMask, xK_Down), spawn "sudo /home/jay/scripts/bright_decr")
        , ((0, 0x1008ff11), spawn "amixer set Master 3%-")    
        , ((0, 0x1008ff13), spawn "amixer set Master 3%+")    
        , ((0, 0x1008ff12), spawn "amixer set Master toggle") 
        --, ((0, 0x1008ff11), spawn "pactl set-sink-volume 'alsa_output.pci-0000_00_1b.0.hdmi-surround71' +2%")
        --, ((0, 0x1008ff13), spawn "pactl set-sink-volume 'alsa_output.pci-0000_00_1b.0.hdmi-surround71' -2%")
        --, ((0, 0x1008ff12), spawn "pactl set-sink-mute 'alsa_output.pci-0000_00_1b.0.hdmi-surround71' toggle")
        , ((modMask', xK_equal), spawn "pactl set-sink-volume 'alsa_output.usb-1130_USB_AUDIO-00.analog-stereo' +2%")
        , ((modMask', xK_minus), spawn "pactl set-sink-volume 'alsa_output.usb-1130_USB_AUDIO-00.analog-stereo' -2%")
        , ((modMask', xK_0), spawn "pactl set-sink-mute 'alsa_output.usb-1130_USB_AUDIO-00.analog-stereo' toggle")
        , ((modMask', xK_z), sendMessage MirrorShrink)
        , ((modMask', xK_a), sendMessage MirrorExpand)
        , ((modMask', xK_Up), sendMessage MirrorExpand)
        , ((modMask', xK_Down), sendMessage MirrorShrink)
        , ((modMask', xK_Left), sendMessage Shrink)
        , ((modMask', xK_Right), sendMessage Expand)
        , ((modMask', xK_b), sendMessage ToggleStruts)
        , ((modMask', xK_c), spawn "xdotool getwindowfocus mousemove --clearmodifiers --window %1 5 30 && sleep 0.5 && xdotool click --clearmodifiers 1")
        , ((modMask', xK_d), spawn "sleep 1 && xset dpms force off")
        , ((modMask' .|. shiftMask, xK_Up), rotSlavesUp) 
        , ((modMask' .|. shiftMask, xK_Down), rotSlavesDown)
        , ((modMask', xK_p), spawn "exe=`dmenu_path | dmenu -fn -*-Fixed-Bold-R-normal-*-13-*-*-*-*-*-*-*` && eval \"exec $exe\"")
        , ((modMask', xK_f), spawn  "firefox")
        , ((modMask', xK_e), spawn "emacs")
        , ((modMask', xK_v), spawn "urxvt -e vim")
        , ((modMask' .|. shiftMask, xK_e), spawn "urxvt -e emacs -nw -f menu-bar-mode")
        , ((modMask', xK_m), spawn "urxvt -T Mutt -e mutt")
        , ((modMask', xK_u), spawn "uzbl-browser")
        , ((modMask', xK_r), spawn "google-chrome-stable")
        ]

modMask' :: KeyMask
modMask' = mod4Mask

myManageHook = composeOne
        [ className =? "Ui" -?> doFloat 
        , resource =? "VCLSalFrame" <&&> isDialog -?> unfloat -- Sink openoffice dialog windows
        , className =? "libreoffice-base" -?> unfloat
        , className =? "Impact3" -?> unfloat
        , className =? "Gimp" -?> unfloat
        , className =? "Gnubiff" -?> doF W.focusDown  -- Prevent Gnubiff popup from stealing focus
        ]
    where unfloat = ask >>= doF . W.sink

~/.xmobarrc

Config { font = "-*-Fixed-Bold-R-Normal-*-13-*-*-*-*-*-*-*"
       , bgColor = "black"
       , fgColor = "gray"
       , position = TopP 0 67
       --, position = TopP 0 37
       --, position = TopW L 96
       , lowerOnStart = True
       , commands = [ Run Weather "KBUR" ["-t"," <tempF>°F   ","-L","64","-H","77","--normal","green","--high","red","--low","lightblue"] 6000
                    , Run Cpu ["-L","3","-H","50","--normal","green","--high","red"] 10
		    , Run CpuFreq ["-t","<cpu0> / <cpu1>","-L","1","-H","2","-n","lightblue","-h","green"] 50
                    , Run Memory ["-t","Mem: <usedratio>%"] 10
                    , Run Swap [] 10
                    , Run Network "wlp4s0" ["-t","<dev>: <tx> KB / <rx> KB","-L","0","-H","32","--normal","green","--high","red"] 10
		    --, Run Network "wlp4s0" ["-t","<dev>: <tx> <rx>"] 10
		    , Run Battery ["-t","Batt: <left>","-L","15","-H","99","-l","red","-n","yellow"] 300
                    , Run Date "%a %b %_d %l:%M" "date" 10
                    , Run StdinReader
                    ]
       , sepChar = "%"
       , alignSep = "}{"
       , template = "%StdinReader% } %cpu%  %cpufreq%   %memory% * %swap% %wlp4s0%   %battery% {<fc=#ee9a00>%date%</fc> %KBUR%"  
       }

Offline

#3 2017-02-14 13:09:41

cemsbr
Member
From: Brazil
Registered: 2008-05-03
Posts: 111
Website

Re: [SOLVED] xmobar below windows

Offline

#4 2017-02-14 14:15:42

cemsbr
Member
From: Brazil
Registered: 2008-05-03
Posts: 111
Website

Re: [SOLVED] xmobar below windows

Based on https://wiki.archlinux.org/index.php/Xm … nfigurable , I changed my ~/.xmonad/xmonad.hs to:

import XMonad
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.DynamicLog
import XMonad.Util.EZConfig(additionalKeysP)
import XMonad.Layout.NoBorders(smartBorders)
import XMonad.Hooks.ManageHelpers

myConfig = defaultConfig
	{ manageHook = ( isFullscreen --> doFullFloat ) <+> manageDocks <+> manageHook defaultConfig
	, layoutHook = smartBorders (avoidStruts  $  layoutHook defaultConfig)
	, terminal = "urxvtcd"
	, borderWidth = 2
	, modMask = mod4Mask
	} `additionalKeysP`
	[ ("<XF86MonBrightnessUp>", spawn "xbacklight -inc 10")
	, ("<XF86MonBrightnessDown>", spawn "xbacklight -dec 5")
	, ("<XF86KbdBrightnessUp>", spawn "/archive/repos/backlights/xkb_backlight_key up 10")
	, ("<XF86KbdBrightnessDown>", spawn "/archive/repos/backlights/xkb_backlight_key down 10")
	, ("<XF86AudioMute>", spawn "amixer -q set Master togglemute")
	, ("<XF86AudioLowerVolume>", spawn "amixer -c 0 -q set Master 2dB-")
	, ("<XF86AudioRaiseVolume>", spawn "amixer -c 0 -q set Master 2dB+")
	, ("<XF86AudioPlay>", spawn "playerctl play-pause")
	, ("<XF86AudioNext>", spawn "playerctl next")
	, ("<XF86AudioPrev>", spawn "playerctl prev")
	, ("M1-C-l", spawn "xautolock -locknow || (killall xautolock; xautolock -time 10 -locker slock & sleep 1; xautolock -locknow)")
	]

-- The main function.
main = xmonad =<< statusBar myBar myPP toggleStrutsKey myConfig

-- Command to launch the bar.
myBar = "xmobar"

-- Custom PP, configure it as you like. It determines what is being written to the bar.
myPP = xmobarPP { ppCurrent = xmobarColor "green" "" . wrap "<" ">" . shorten 68}

-- Key binding to toggle the gap for the bar.
toggleStrutsKey XConfig {XMonad.modMask = modMask} = (modMask, xK_b)

Now, it is even better because I can use mod+b to hide/show the bar.

Offline

#5 2017-02-14 19:04:28

jt512
Member
Registered: 2009-02-19
Posts: 262

Re: [SOLVED] xmobar below windows

The solution by cemsbr, above, seems to work for me, too.

Offline

#6 2017-04-11 11:13:20

paul_axe
Member
Registered: 2015-11-14
Posts: 3

Re: [SOLVED] xmobar below windows

had same issue, solved it with applying "docks" to xmonad xonfig

main = do
    xmonad $ docks $ myConfig

Offline

Board footer

Powered by FluxBB