mirror of
				https://forge.katzen.cafe/schrottkatze/nix-configs.git
				synced 2025-10-31 01:27:57 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Haskell
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Haskell
		
	
	
	
	
	
| import Xmobar
 | |
| import System.Statgrab
 | |
| 
 | |
| -- TODOS:
 | |
| -- - custom cpu module
 | |
| -- - custom mem module
 | |
| -- - custom network/ping module with avg of n pings and blah
 | |
| -- - custom graph rendering based on braille characters
 | |
| -- - custom "ramp" thingies 
 | |
| -- - newsticker?
 | |
| -- - mail/message monitoring
 | |
| -- - if possible, different bars per workspace
 | |
| 
 | |
| data CustomCpu = CustomCpu
 | |
|   deriving (Read, Show)
 | |
| 
 | |
| instance Exec CustomCpu where
 | |
|   alias CustomCpu = "cpu"
 | |
|   run CustomCpu = do 
 | |
|     -- return (show :: IO String (snapshot :: Stats CPUPercent))
 | |
|     return "meow"
 | |
| 
 | |
| fc code content = "<fc=" ++ code ++ ">" ++ content ++ "</fc>"
 | |
| 
 | |
| sep = fc "#7c6f64"
 | |
| icon = fc "#d65d0e"
 | |
| 
 | |
| config :: Config
 | |
| config =
 | |
|   defaultConfig
 | |
|     { font = "FiraCode Nerd Font",
 | |
|       allDesktops = True,
 | |
|       alpha = 255,
 | |
|       bgColor = "#282828",
 | |
|       fgColor = "#ebdbb2",
 | |
|       commands =
 | |
|         [ Run $ Xmobar.Memory ["t", "Mem: <usedratio>%"] 10,
 | |
|           Run $ CustomCpu,
 | |
|           Run $ Date (icon "\983277" ++ " %Y" ++ sep "-" ++ "%m" ++ sep "-" ++ "%d " ++ icon "\988236" ++ " %H" ++ sep ":" ++ "%M" ++ sep ":" ++ "%S ") "date" 10
 | |
|         ],
 | |
|       template = "%memory% }{ %cpu% }{ %date%",
 | |
|       alignSep = "}{",
 | |
|       position = TopH 24
 | |
|     }
 | |
| 
 | |
| main :: IO ()
 | |
| main = xmobar config  -- or: configFromArgs config >>= xmobar
 | 
