Update to xmobar-0.20.1

diff by Jack Szmidt with tweaks by me
This commit is contained in:
dcoppa 2014-04-15 12:08:06 +00:00
parent d701a973f4
commit b0322aebe4
8 changed files with 78 additions and 202 deletions

View File

@ -1,8 +1,8 @@
# $OpenBSD: Makefile,v 1.28 2013/11/25 10:31:04 dcoppa Exp $
# $OpenBSD: Makefile,v 1.29 2014/04/15 12:08:06 dcoppa Exp $
COMMENT = minimalistic text based status bar
DISTNAME = xmobar-0.19
DISTNAME = xmobar-0.20.1
CATEGORIES = x11
HOMEPAGE = http://projects.haskell.org/xmobar
@ -19,14 +19,15 @@ MODULES = lang/ghc converters/libiconv
MODGHC_BUILD = cabal hackage nort
MODGHC_SETUP_CONF_ARGS = --flags="with_xft with_mpd with_mpris"
BUILD_DEPENDS = devel/hs-mtl \
devel/hs-parsec \
devel/hs-regex-pcre-builtin \
BUILD_DEPENDS = devel/hs-mtl>=2.0,<2.2 \
devel/hs-parsec>=3.1,<3.2 \
devel/hs-regex-compat \
devel/hs-stm>=2.3,<2.5 \
net/hs-HTTP>=4000 \
x11/hs-X11>=1.6.1 \
x11/hs-X11-xft>=0.2,<0.4 \
x11/hs-dbus>=0.10 \
audio/hs-libmpd>=0.8
audio/hs-libmpd>=0.8,<0.9
LIB_DEPENDS = textproc/libxml

View File

@ -1,2 +1,2 @@
SHA256 (ghc/xmobar-0.19.tar.gz) = AncPg9mH/xqMBpb0XnTtenq3segqYmrCjUzjuxPni9M=
SIZE (ghc/xmobar-0.19.tar.gz) = 81828
SHA256 (ghc/xmobar-0.20.1.tar.gz) = c8tLuxGG292Jud1135Xri/56dL1sQYmN5LnjyIx9Tpo=
SIZE (ghc/xmobar-0.20.1.tar.gz) = 83871

View File

@ -1,7 +1,7 @@
$OpenBSD: patch-samples_xmobar_config,v 1.6 2013/11/25 10:31:04 dcoppa Exp $
--- samples/xmobar.config.orig Mon Nov 25 10:01:53 2013
+++ samples/xmobar.config Mon Nov 25 10:06:36 2013
@@ -1,22 +1,20 @@
$OpenBSD: patch-samples_xmobar_config,v 1.7 2014/04/15 12:08:06 dcoppa Exp $
--- samples/xmobar.config.orig Fri Mar 14 00:17:19 2014
+++ samples/xmobar.config Tue Apr 15 13:33:17 2014
@@ -1,23 +1,21 @@
-Config { font = "-misc-fixed-*-*-*-*-10-*-*-*-*-*-*-*"
+Config { font = "fixed"
, borderColor = "black"
@ -11,6 +11,7 @@ $OpenBSD: patch-samples_xmobar_config,v 1.6 2013/11/25 10:31:04 dcoppa Exp $
, position = Top
+ , allDesktops = True
, lowerOnStart = True
, pickBroadest = False
+ , overrideRedirect = True
, persistent = False
, hideOnStart = False

View File

@ -1,69 +0,0 @@
$OpenBSD: patch-src_Actions_hs,v 1.2 2013/11/25 10:31:04 dcoppa Exp $
Due to our regex(3) library not supporting GNU extensions, xmobar
immediately fails at startup:
xmobar: user error (Text.Regex.Posix.String died: (ReturnCode 13,"repetition-operator operand invalid"))
when using the StdinReader plugin.
So do what's required with Text.Regex.PCRE instead of Text.Regex.Posix.
Code contributed by Alexander Polakov, thanks!
--- src/Actions.hs.orig Wed Jun 5 00:37:16 2013
+++ src/Actions.hs Fri Jul 12 14:47:17 2013
@@ -14,7 +14,8 @@ module Actions (Action(..), runAction, stripActions) w
import System.Process (system)
import Control.Monad (void)
-import Text.Regex (subRegex, mkRegex)
+import Text.Regex.PCRE
+import Data.Array ((!))
data Action = Spawn String
deriving (Eq)
@@ -23,5 +24,41 @@ runAction :: Action -> IO ()
runAction (Spawn s) = void $ system (s ++ "&")
stripActions :: String -> String
-stripActions s = subRegex actionRegex s "[action=\1]\2[action]"
- where actionRegex = mkRegex "<action=([^>])*>(.+)</action>"
+stripActions s = subRegex actionRegex s "[action=\\1]\\2[action]"
+ where actionRegex = makeRegex "<action=([^>]*)>(.+?)</action>"
+
+-- copy-pasted from regex-compat
+subRegex :: Regex -- ^ Search pattern
+ -> String -- ^ Input string
+ -> String -- ^ Replacement text
+ -> String -- ^ Output string
+subRegex _ "" _ = ""
+subRegex regexp inp repl =
+ let compile _i str [] = \ _m -> (str++)
+ compile i str (("\\",(off,len)):rest) =
+ let i' = off+len
+ pre = take (off-i) str
+ str' = drop (i'-i) str
+ in if null str' then \ _m -> (pre ++) . ('\\':)
+ else \ m -> (pre ++) . ('\\' :) . compile i' str' rest m
+ compile i str ((xstr,(off,len)):rest) =
+ let i' = off+len
+ pre = take (off-i) str
+ str' = drop (i'-i) str
+ x = read xstr
+ in if null str' then \ m -> (pre++) . ((fst (m!x))++)
+ else \ m -> (pre++) . ((fst (m!x))++) . compile i' str' rest m
+ compiled :: MatchText String -> String -> String
+ compiled = compile 0 repl findrefs where
+ -- bre matches a backslash then capture either a backslash or some digits
+ bre = makeRegex "\\\\(\\\\|[0-9]+)" :: Regex
+ findrefs = map (\m -> (fst (m!1),snd (m!0))) (matchAllText bre repl)
+ go _i str [] = str
+ go i str (m:ms) =
+ let (_,(off,len)) = m!0
+ i' = off+len
+ pre = take (off-i) str
+ str' = drop (i'-i) str
+ in if null str' then pre ++ (compiled m "")
+ else pre ++ (compiled m (go i' str' ms))
+ in go 0 inp (matchAllText regexp inp)

View File

@ -1,34 +0,0 @@
$OpenBSD: patch-src_Main_hs,v 1.1 2013/11/25 10:31:04 dcoppa Exp $
commit 1563fa8473d728486b7c86a1a4f818466ab64413
Author: Thiago Negri <evohunz@gmail.com>
Date: Tue Oct 29 21:40:50 2013 -0200
Fixed #133: xmobar was not reading ~/.xmobarrc
--- src/Main.hs.orig Sun Oct 27 21:43:04 2013
+++ src/Main.hs Mon Nov 25 10:52:10 2013
@@ -105,14 +105,16 @@ getXdgConfigFile = xmobarConfigDir >>= return . (</> "
-- | Read default configuration file or load the default config
readDefaultConfig :: IO (Config,[String])
readDefaultConfig = do
- xdgconf <- getXdgConfigFile
- x <- io $ fileExist xdgconf
+ xdgConfigFile <- getXdgConfigFile
+ xdgConfigFileExists <- io $ fileExist xdgConfigFile
home <- io $ getEnv "HOME"
- let path = home ++ "/.xmobarrc"
- f <- io $ fileExist path
- if x then readConfig path
- else if f then readConfig path
- else return (defaultConfig,[])
+ let defaultConfigFile = home ++ "/.xmobarrc"
+ defaultConfigFileExists <- io $ fileExist defaultConfigFile
+ if xdgConfigFileExists
+ then readConfig xdgConfigFile
+ else if defaultConfigFileExists
+ then readConfig defaultConfigFile
+ else return (defaultConfig,[])
data Opts = Help
| Version

View File

@ -1,15 +0,0 @@
$OpenBSD: patch-src_Plugins_Monitors_Weather_hs,v 1.3 2013/11/25 10:31:04 dcoppa Exp $
Use lynx(1) from base instead of curl
--- src/Plugins/Monitors/Weather.hs.orig Sun Oct 27 21:43:04 2013
+++ src/Plugins/Monitors/Weather.hs Mon Nov 25 09:45:37 2013
@@ -131,7 +131,7 @@ defUrl = "http://weather.noaa.gov/pub/data/observation
getData :: String -> IO String
getData url=
- do (i,o,e,p) <- runInteractiveCommand ("curl " ++ defUrl ++ url ++ ".TXT")
+ do (i,o,e,p) <- runInteractiveCommand ("lynx -source " ++ defUrl ++ url ++ ".TXT")
exit <- waitForProcess p
let closeHandles = do hClose o
hClose i

View File

@ -1,9 +1,9 @@
$OpenBSD: patch-src_Plugins_Monitors_hs,v 1.5 2013/11/25 10:31:04 dcoppa Exp $
--- src/Plugins/Monitors.hs.orig Mon Nov 25 09:48:32 2013
+++ src/Plugins/Monitors.hs Mon Nov 25 09:59:43 2013
$OpenBSD: patch-src_Plugins_Monitors_hs,v 1.6 2014/04/15 12:08:06 dcoppa Exp $
--- src/Plugins/Monitors.hs.orig Fri Mar 14 00:17:19 2014
+++ src/Plugins/Monitors.hs Tue Apr 15 13:33:17 2014
@@ -21,20 +21,20 @@ import Plugins
import Plugins.Monitors.Common (runM)
import Plugins.Monitors.Common (runM, runMD)
import Plugins.Monitors.Weather
-import Plugins.Monitors.Net
-import Plugins.Monitors.Mem
@ -43,10 +43,10 @@ $OpenBSD: patch-src_Plugins_Monitors_hs,v 1.5 2013/11/25 10:31:04 dcoppa Exp $
- | DynNetwork Args Rate
- | BatteryP Args Args Rate
- | BatteryN Args Args Rate Alias
+-- | Network Interface Args Rate
+-- | DynNetwork Args Rate
+-- | BatteryP Args Args Rate
+-- | BatteryN Args Args Rate Alias
+-- | Network Interface Args Rate
+-- | DynNetwork Args Rate
+-- | BatteryP Args Args Rate
+-- | BatteryN Args Args Rate Alias
| Battery Args Rate
- | DiskU DiskSpec Args Rate
- | DiskIO DiskSpec Args Rate
@ -62,20 +62,20 @@ $OpenBSD: patch-src_Plugins_Monitors_hs,v 1.5 2013/11/25 10:31:04 dcoppa Exp $
- | TopProc Args Rate
- | TopMem Args Rate
- | Uptime Args Rate
+-- | DiskU DiskSpec Args Rate
+-- | DiskIO DiskSpec Args Rate
+-- | Thermal Zone Args Rate
+-- | ThermalZone ZoneNo Args Rate
+-- | Memory Args Rate
+-- | Swap Args Rate
+-- | Cpu Args Rate
+-- | MultiCpu Args Rate
+-- | Brightness Args Rate
+-- | CpuFreq Args Rate
+-- | CoreTemp Args Rate
+-- | TopProc Args Rate
+-- | TopMem Args Rate
+-- | Uptime Args Rate
+-- | DiskU DiskSpec Args Rate
+-- | DiskIO DiskSpec Args Rate
+-- | Thermal Zone Args Rate
+-- | ThermalZone ZoneNo Args Rate
+-- | Memory Args Rate
+-- | Swap Args Rate
+-- | Cpu Args Rate
+-- | MultiCpu Args Rate
+-- | Brightness Args Rate
+-- | CpuFreq Args Rate
+-- | CoreTemp Args Rate
+-- | TopProc Args Rate
+-- | TopMem Args Rate
+-- | Uptime Args Rate
#ifdef IWLIB
| Wireless Interface Args Rate
#endif
@ -91,14 +91,14 @@ $OpenBSD: patch-src_Plugins_Monitors_hs,v 1.5 2013/11/25 10:31:04 dcoppa Exp $
- alias (Swap _ _) = "swap"
- alias (Cpu _ _) = "cpu"
- alias (MultiCpu _ _) = "multicpu"
+-- alias (Network i _ _) = i
+-- alias (DynNetwork _ _) = "dynnetwork"
+-- alias (Thermal z _ _) = z
+-- alias (ThermalZone z _ _) = "thermal" ++ show z
+-- alias (Memory _ _) = "memory"
+-- alias (Swap _ _) = "swap"
+-- alias (Cpu _ _) = "cpu"
+-- alias (MultiCpu _ _) = "multicpu"
+-- alias (Network i _ _) = i
+-- alias (DynNetwork _ _) = "dynnetwork"
+-- alias (Thermal z _ _) = z
+-- alias (ThermalZone z _ _) = "thermal" ++ show z
+-- alias (Memory _ _) = "memory"
+-- alias (Swap _ _) = "swap"
+-- alias (Cpu _ _) = "cpu"
+-- alias (MultiCpu _ _) = "multicpu"
alias (Battery _ _) = "battery"
- alias (BatteryP _ _ _)= "battery"
- alias (BatteryN _ _ _ a)= a
@ -110,16 +110,16 @@ $OpenBSD: patch-src_Plugins_Monitors_hs,v 1.5 2013/11/25 10:31:04 dcoppa Exp $
- alias (DiskU _ _ _) = "disku"
- alias (DiskIO _ _ _) = "diskio"
- alias (Uptime _ _) = "uptime"
+-- alias (BatteryP _ _ _)= "battery"
+-- alias (BatteryN _ _ _ a)= a
+-- alias (Brightness _ _) = "bright"
+-- alias (CpuFreq _ _) = "cpufreq"
+-- alias (TopProc _ _) = "top"
+-- alias (TopMem _ _) = "topmem"
+-- alias (CoreTemp _ _) = "coretemp"
+-- alias (DiskU _ _ _) = "disku"
+-- alias (DiskIO _ _ _) = "diskio"
+-- alias (Uptime _ _) = "uptime"
+-- alias (BatteryP _ _ _)= "battery"
+-- alias (BatteryN _ _ _ a)= a
+-- alias (Brightness _ _) = "bright"
+-- alias (CpuFreq _ _) = "cpufreq"
+-- alias (TopProc _ _) = "top"
+-- alias (TopMem _ _) = "topmem"
+-- alias (CoreTemp _ _) = "coretemp"
+-- alias (DiskU _ _ _) = "disku"
+-- alias (DiskIO _ _ _) = "diskio"
+-- alias (Uptime _ _) = "uptime"
#ifdef IWLIB
alias (Wireless i _ _) = i ++ "wi"
#endif
@ -133,23 +133,23 @@ $OpenBSD: patch-src_Plugins_Monitors_hs,v 1.5 2013/11/25 10:31:04 dcoppa Exp $
- start (MultiCpu a r) = startMultiCpu a r
- start (TopProc a r) = startTop a r
- start (TopMem a r) = runM a topMemConfig runTopMem r
+-- start (Network i a r) = startNet i a r
+-- start (DynNetwork a r) = startDynNet a r
+-- start (Cpu a r) = startCpu a r
+-- start (MultiCpu a r) = startMultiCpu a r
+-- start (TopProc a r) = startTop a r
+-- start (TopMem a r) = runM a topMemConfig runTopMem r
start (Weather s a r) = runM (a ++ [s]) weatherConfig runWeather r
+-- start (Network i a r) = startNet i a r
+-- start (DynNetwork a r) = startDynNet a r
+-- start (Cpu a r) = startCpu a r
+-- start (MultiCpu a r) = startMultiCpu a r
+-- start (TopProc a r) = startTop a r
+-- start (TopMem a r) = runM a topMemConfig runTopMem r
start (Weather s a r) = runMD (a ++ [s]) weatherConfig runWeather r weatherReady
- start (Thermal z a r) = runM (a ++ [z]) thermalConfig runThermal r
- start (ThermalZone z a r) =
- runM (a ++ [show z]) thermalZoneConfig runThermalZone r
- start (Memory a r) = runM a memConfig runMem r
- start (Swap a r) = runM a swapConfig runSwap r
+-- start (Thermal z a r) = runM (a ++ [z]) thermalConfig runThermal r
+-- start (ThermalZone z a r) =
+-- runM (a ++ [show z]) thermalZoneConfig runThermalZone r
+-- start (Memory a r) = runM a memConfig runMem r
+-- start (Swap a r) = runM a swapConfig runSwap r
+-- start (Thermal z a r) = runM (a ++ [z]) thermalConfig runThermal r
+-- start (ThermalZone z a r) =
+-- runM (a ++ [show z]) thermalZoneConfig runThermalZone r
+-- start (Memory a r) = runM a memConfig runMem r
+-- start (Swap a r) = runM a swapConfig runSwap r
start (Battery a r) = runM a battConfig runBatt r
- start (BatteryP s a r) = runM a battConfig (runBatt' s) r
- start (BatteryN s a r _) = runM a battConfig (runBatt' s) r
@ -159,14 +159,14 @@ $OpenBSD: patch-src_Plugins_Monitors_hs,v 1.5 2013/11/25 10:31:04 dcoppa Exp $
- start (DiskU s a r) = runM a diskUConfig (runDiskU s) r
- start (DiskIO s a r) = startDiskIO s a r
- start (Uptime a r) = runM a uptimeConfig runUptime r
+-- start (BatteryP s a r) = runM a battConfig (runBatt' s) r
+-- start (BatteryN s a r _) = runM a battConfig (runBatt' s) r
+-- start (Brightness a r) = runM a brightConfig runBright r
+-- start (CpuFreq a r) = runM a cpuFreqConfig runCpuFreq r
+-- start (CoreTemp a r) = runM a coreTempConfig runCoreTemp r
+-- start (DiskU s a r) = runM a diskUConfig (runDiskU s) r
+-- start (DiskIO s a r) = startDiskIO s a r
+-- start (Uptime a r) = runM a uptimeConfig runUptime r
+-- start (BatteryP s a r) = runM a battConfig (runBatt' s) r
+-- start (BatteryN s a r _) = runM a battConfig (runBatt' s) r
+-- start (Brightness a r) = runM a brightConfig runBright r
+-- start (CpuFreq a r) = runM a cpuFreqConfig runCpuFreq r
+-- start (CoreTemp a r) = runM a coreTempConfig runCoreTemp r
+-- start (DiskU s a r) = runM a diskUConfig (runDiskU s) r
+-- start (DiskIO s a r) = startDiskIO s a r
+-- start (Uptime a r) = runM a uptimeConfig runUptime r
#ifdef IWLIB
start (Wireless i a r) = runM (a ++ [i]) wirelessConfig runWireless r
#endif

View File

@ -1,7 +1,7 @@
$OpenBSD: patch-xmobar_cabal,v 1.9 2013/07/12 19:07:24 dcoppa Exp $
--- xmobar.cabal.orig Wed Jun 5 00:37:16 2013
+++ xmobar.cabal Fri Jul 12 19:27:30 2013
@@ -88,16 +88,18 @@ executable xmobar
$OpenBSD: patch-xmobar_cabal,v 1.10 2014/04/15 12:08:06 dcoppa Exp $
--- xmobar.cabal.orig Thu Apr 3 19:58:54 2014
+++ xmobar.cabal Thu Apr 3 19:59:38 2014
@@ -88,10 +88,11 @@ executable xmobar
Plugins.Monitors.Swap, Plugins.Monitors.Thermal,
Plugins.Monitors.ThermalZone, Plugins.Monitors.Top,
Plugins.Monitors.Uptime, Plugins.Monitors.Weather,
@ -14,11 +14,3 @@ $OpenBSD: patch-xmobar_cabal,v 1.9 2013/07/12 19:07:24 dcoppa Exp $
extra-libraries: Xrandr
build-depends:
base == 4.*,
containers,
- regex-compat,
+ array,
+ regex-pcre-builtin,
process,
old-locale,
bytestring,