
Hi! You mean you want to reuse your `myColorizer` for spawnSelected, correct? Then you'll need to rewrite colorRangeFromClassName a bit, because that one expects Window and you have a String. Something like this may work (haven't compiled it, just copied&tweaked the source for colorRangeFromClassName): colorRangeFromString :: (Word8, Word8, Word8) -- ^ Beginning of the color range -> (Word8, Word8, Word8) -- ^ End of the color range -> (Word8, Word8, Word8) -- ^ Background of the active window -> (Word8, Word8, Word8) -- ^ Inactive text color -> (Word8, Word8, Word8) -- ^ Active text color -> Window -> Bool -> X (String, String) colorRangeFromString startC endC activeC inactiveT activeT str active = if active then (rgbToHex activeC, rgbToHex activeT) else (rgbToHex $ mix startC endC $ stringToRatio str, rgbToHex inactiveT) where rgbToHex :: (Word8, Word8, Word8) -> String rgbToHex (r, g, b) = '#':twodigitHex r ++twodigitHex g++twodigitHex b stringColorizer :: String -> Bool -> X (String, String) stringColorizer = colorRangeFromString (0x31,0x2e,0x39) -- lowest inactive bg (0x31,0x2e,0x39) -- highest inactive bg (0x78,0x3e,0x57) -- active bg (0xc0,0xa7,0x9a) -- inactive fg (0xff,0xff,0xff) -- active fg windowColorizer :: Window -> Bool -> X (String, String) windowColorizer w active = runQuery className w >>= flip stringColorizer active Best regards, Platon Pronko On 2020-08-10 15:13, Dave Macias wrote:
Thank you for the reply. That helped me to figure it out. But I had to create a separate *Colorizer*. (see below) Is there a way to use the same colorizer as goToSelected? Thanks!
myGSFont = "xft:Noto Sans CJK KR:bold:pixelsize=10" myColorizer :: Window -> Bool -> X (String, String) myColorizer = colorRangeFromClassName (0x31,0x2e,0x39) -- lowest inactive bg (0x31,0x2e,0x39) -- highest inactive bg (0x78,0x3e,0x57) -- active bg (0xc0,0xa7,0x9a) -- inactive fg (0xff,0xff,0xff) -- active fg
*gridColorizer :: a -> Bool -> X (String, String) gridColorizer _ True = return ("#00aa00", "black") gridColorizer _ False = return ("#333333", "#cccccc")*
myGSConfig :: t -> GSConfig Window myGSConfig colorizer = (buildDefaultGSConfig myColorizer) { gs_cellheight = 30 , gs_cellwidth = 200 , gs_cellpadding = 6 , gs_originFractX = 0.5 , gs_originFractY = 0.5 , gs_colorizer = myColorizer , gs_font = myGSFont }
-- spawnSelected Redefine spawnSelected' :: [(String, String)] -> X () spawnSelected' lst = gridselect conf lst >>= flip whenJust spawn where conf = def { gs_cellheight = 30 , gs_cellwidth = 200 , gs_cellpadding = 6 , gs_originFractX = 0.5 , gs_originFractY = 0.5 * , gs_colorizer = gridColorizer * , gs_font = myGSFont }
, ((mod4Mask, xK_g), goToSelected $ myGSConfig myColorizer) * , ((mod4Mask, xK_y), spawnSelected' myAppGrid) * , ((mod4Mask, xK_u), runSelectedAction (buildDefaultGSConfig gridColorizer) [ ("Chromium", spawnHere "chromium") , ("Hexchat", spawnHere "hexchat")
On Sat, Aug 8, 2020 at 8:46 AM Platon Pronko
mailto:platon7pronko@gmail.com> wrote: Hi!
Your spawnSelected' has one argument [(String, String)], but you try to invoke it with two - myAppGrid and winconfig. I'd remove winconfig argument and instead stick it into gs_colorizer field in your GSConfig constructor.
Best regards, Platon Pronko
On 2020-08-07 17:13, Dave Macias wrote: > Hello, > > Apologies for the repost....i had posted here: https://www.reddit.com/r/xmonad/comments/hvaug9/xagridselect_spawnselected_c... but no response for some time now. So I want to try here. > > Basically, I am trying to custom colorize spawnSelected grid apps. > I was able to do this with goToSelected and I really like the color scheme. > > Was hoping to use the same color scheme that i use for goToSelected applied to spawnSelected. > > Any input is much appreciated! > > Stay safe. > > -Dave > > _______________________________________________ > xmonad mailing list > xmonad@haskell.org mailto:xmonad@haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/xmonad > _______________________________________________ xmonad mailing list xmonad@haskell.org mailto:xmonad@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/xmonad