{-# LANGUAGE CPP #-}
module Xmobar.Plugins.ArchUpdates (ArchUpdates (..)) where
import Xmobar.Plugins.Command (Rate)
import Xmobar.Plugins.PacmanUpdates (PacmanUpdates (PacmanUpdates))
import Xmobar.Run.Exec
data ArchUpdates = ArchUpdates (String, String, String) Rate
deriving (ReadPrec [ArchUpdates]
ReadPrec ArchUpdates
Int -> ReadS ArchUpdates
ReadS [ArchUpdates]
(Int -> ReadS ArchUpdates)
-> ReadS [ArchUpdates]
-> ReadPrec ArchUpdates
-> ReadPrec [ArchUpdates]
-> Read ArchUpdates
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS ArchUpdates
readsPrec :: Int -> ReadS ArchUpdates
$creadList :: ReadS [ArchUpdates]
readList :: ReadS [ArchUpdates]
$creadPrec :: ReadPrec ArchUpdates
readPrec :: ReadPrec ArchUpdates
$creadListPrec :: ReadPrec [ArchUpdates]
readListPrec :: ReadPrec [ArchUpdates]
Read, Int -> ArchUpdates -> ShowS
[ArchUpdates] -> ShowS
ArchUpdates -> String
(Int -> ArchUpdates -> ShowS)
-> (ArchUpdates -> String)
-> ([ArchUpdates] -> ShowS)
-> Show ArchUpdates
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ArchUpdates -> ShowS
showsPrec :: Int -> ArchUpdates -> ShowS
$cshow :: ArchUpdates -> String
show :: ArchUpdates -> String
$cshowList :: [ArchUpdates] -> ShowS
showList :: [ArchUpdates] -> ShowS
Show)
intoPacmanUpdates :: ArchUpdates -> PacmanUpdates
intoPacmanUpdates :: ArchUpdates -> PacmanUpdates
intoPacmanUpdates (ArchUpdates (String
z, String
o, String
m) Int
r) =
(String, String, String, String) -> Int -> PacmanUpdates
PacmanUpdates (String
z String -> ShowS
forall a. Semigroup a => a -> a -> a
<> String
deprecation, String
o, String
m, String
"pacman: Unknown cause of failure.") Int
r
where
deprecation :: String
deprecation = String
" <fc=#ff0000>(<action=`xdg-open https://codeberg.org/xmobar/xmobar/pulls/723`>deprecated plugin, click here</action>)</fc>"
instance Exec ArchUpdates where
alias :: ArchUpdates -> String
alias = String -> ArchUpdates -> String
forall a b. a -> b -> a
const String
"arch"
rate :: ArchUpdates -> Int
rate = PacmanUpdates -> Int
forall e. Exec e => e -> Int
rate (PacmanUpdates -> Int)
-> (ArchUpdates -> PacmanUpdates) -> ArchUpdates -> Int
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ArchUpdates -> PacmanUpdates
intoPacmanUpdates
run :: ArchUpdates -> IO String
run = PacmanUpdates -> IO String
forall e. Exec e => e -> IO String
run (PacmanUpdates -> IO String)
-> (ArchUpdates -> PacmanUpdates) -> ArchUpdates -> IO String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ArchUpdates -> PacmanUpdates
intoPacmanUpdates