diff options
author | Kostas Agnantis <kagnadis@gmail.com> | 2022-10-27 01:21:25 +0300 |
---|---|---|
committer | Kostas Agnantis <kagnadis@gmail.com> | 2022-11-06 23:43:46 +0200 |
commit | 0554a448bb27985e8d66940d077f54eda58d8e5a (patch) | |
tree | 375d548623dad7dc420c5d6de1185689c43384bb /src/Xmobar | |
parent | fa38f5dd3d31bf54a2105bf341e247376b8e9422 (diff) | |
download | xmobar-0554a448bb27985e8d66940d077f54eda58d8e5a.tar.gz xmobar-0554a448bb27985e8d66940d077f54eda58d8e5a.tar.bz2 |
Adds new position configuration
- TopHM: Top position with left/right/top margins and specific height
- BottomHM: Bottom position with left/right/bottom margins and specific height
Diffstat (limited to 'src/Xmobar')
-rw-r--r-- | src/Xmobar/Config/Types.hs | 2 | ||||
-rw-r--r-- | src/Xmobar/X11/Window.hs | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/Xmobar/Config/Types.hs b/src/Xmobar/Config/Types.hs index df39f6d..1172034 100644 --- a/src/Xmobar/Config/Types.hs +++ b/src/Xmobar/Config/Types.hs @@ -89,11 +89,13 @@ data Config = data XPosition = Top | TopH Int + | TopHM Int Int Int Int -- left right top height | TopW Align Int | TopSize Align Int Int | TopP Int Int | Bottom | BottomH Int + | BottomHM Int Int Int Int -- left right bottom height | BottomP Int Int | BottomW Align Int | BottomSize Align Int Int diff --git a/src/Xmobar/X11/Window.hs b/src/Xmobar/X11/Window.hs index ad7ebf7..61d701e 100644 --- a/src/Xmobar/X11/Window.hs +++ b/src/Xmobar/X11/Window.hs @@ -86,10 +86,12 @@ setPosition c p rs ht = T.Top -> X.Rectangle rx ry rw h T.TopP l r -> X.Rectangle (rx + fi l) ry (rw - fi l - fi r) h T.TopH ch -> X.Rectangle rx ry rw (mh ch) + T.TopHM l r t ch -> X.Rectangle (rx + fi l) (ry + fi t) (rw - fi l - fi r) (mh ch) T.TopW a i -> X.Rectangle (ax a i) ry (nw i) h T.TopSize a i ch -> X.Rectangle (ax a i) ry (nw i) (mh ch) T.Bottom -> X.Rectangle rx ny rw h T.BottomH ch -> X.Rectangle rx (ny' ch) rw (mh ch) + T.BottomHM l r b ch -> X.Rectangle (rx + fi l) (ry + fi rh - fi b - fi (mh ch)) (rw - fi l - fi r) (mh ch) T.BottomW a i -> X.Rectangle (ax a i) ny (nw i) h T.BottomP l r -> X.Rectangle (rx + fi l) ny (rw - fi l - fi r) h T.BottomSize a i ch -> X.Rectangle (ax a i) (ny' ch) (nw i) (mh ch) @@ -163,11 +165,13 @@ getStrutValues r@(X.Rectangle x y w h) p rwh = T.OnScreen _ p' -> getStrutValues r p' rwh T.Top -> [0, 0, st, 0, 0, 0, 0, 0, nx, nw, 0, 0] T.TopH _ -> [0, 0, st, 0, 0, 0, 0, 0, nx, nw, 0, 0] + T.TopHM {} -> [0, 0, st, 0, 0, 0, 0, 0, nx, nw, 0, 0] T.TopP _ _ -> [0, 0, st, 0, 0, 0, 0, 0, nx, nw, 0, 0] T.TopW _ _ -> [0, 0, st, 0, 0, 0, 0, 0, nx, nw, 0, 0] T.TopSize {} -> [0, 0, st, 0, 0, 0, 0, 0, nx, nw, 0, 0] T.Bottom -> [0, 0, 0, sb, 0, 0, 0, 0, 0, 0, nx, nw] T.BottomH _ -> [0, 0, 0, sb, 0, 0, 0, 0, 0, 0, nx, nw] + T.BottomHM {} -> [0, 0, 0, sb, 0, 0, 0, 0, 0, 0, nx, nw] T.BottomP _ _ -> [0, 0, 0, sb, 0, 0, 0, 0, 0, 0, nx, nw] T.BottomW _ _ -> [0, 0, 0, sb, 0, 0, 0, 0, 0, 0, nx, nw] T.BottomSize {} -> [0, 0, 0, sb, 0, 0, 0, 0, 0, 0, nx, nw] |