mirror of
https://github.com/xmonad/xmonad-contrib.git
synced 2025-05-19 03:20:21 -07:00
ShowWName: Fix flash location by screen rectangle
In case of using this hook with multiple monitors, the Tag flash was not following the screen's coordinates. This patch shifts the new window created for flash according to the Rectangle defined by the screen.
This commit is contained in:
parent
7789f18ce9
commit
3f39d34994
@ -86,15 +86,15 @@ doShow (SWN True c Nothing ) r wrs = flashName c r wrs
|
||||
doShow (SWN False _ _ ) _ wrs = return (wrs, Nothing)
|
||||
|
||||
flashName :: SWNConfig -> Rectangle -> [(a, Rectangle)] -> X ([(a, Rectangle)], Maybe (ShowWName a))
|
||||
flashName c (Rectangle _ _ wh ht) wrs = do
|
||||
flashName c (Rectangle sx sy wh ht) wrs = do
|
||||
d <- asks display
|
||||
n <- withWindowSet (return . S.currentTag)
|
||||
f <- initXMF (swn_font c)
|
||||
width <- textWidthXMF d f n
|
||||
(as,ds) <- textExtentsXMF f n
|
||||
let hight = as + ds
|
||||
y = (fi ht - hight + 2) `div` 2
|
||||
x = (fi wh - width + 2) `div` 2
|
||||
y = fi sy + (fi ht - hight + 2) `div` 2
|
||||
x = fi sx + (fi wh - width + 2) `div` 2
|
||||
w <- createNewWindow (Rectangle (fi x) (fi y) (fi width) (fi hight)) Nothing "" True
|
||||
showWindow w
|
||||
paintAndWrite w f (fi width) (fi hight) 0 "" "" (swn_color c) (swn_bgcolor c) [AlignCenter] [n]
|
||||
|
Loading…
x
Reference in New Issue
Block a user