diff --git a/bin/xmobar.hs b/bin/xmobar.hs index f2621a5..bf756a0 100644 --- a/bin/xmobar.hs +++ b/bin/xmobar.hs @@ -11,13 +11,11 @@ -- * A custom Locks plugin from my own forked repo module Main (main) where -import Control.Monad import Data.Internal.DBus import Data.Internal.Dependency -import Data.List -import Data.Maybe import RIO hiding (hFlush) import qualified RIO.ByteString.Lazy as BL +import RIO.List import RIO.Process import qualified RIO.Text as T import System.Environment diff --git a/bin/xmonad.hs b/bin/xmonad.hs index 5bd7d16..b9a525a 100644 --- a/bin/xmonad.hs +++ b/bin/xmonad.hs @@ -8,11 +8,8 @@ module Main (main) where -import Control.Monad import Data.Internal.DBus import Data.Internal.Dependency -import Data.List -import Data.Maybe import Data.Monoid import Data.Text.IO (hPutStrLn) import Graphics.X11.Types @@ -20,14 +17,15 @@ import Graphics.X11.Xlib.Atom import Graphics.X11.Xlib.Extras import RIO import RIO.Directory +import RIO.List import RIO.Process import qualified RIO.Text as T -import System.Environment import System.Posix.Signals import System.Process ( getPid , getProcessExitCode ) +import UnliftIO.Environment import XMonad import XMonad.Actions.CopyWindow import XMonad.Actions.CycleWS diff --git a/lib/Data/Internal/DBus.hs b/lib/Data/Internal/DBus.hs index 16fcc7b..8326bd5 100644 --- a/lib/Data/Internal/DBus.hs +++ b/lib/Data/Internal/DBus.hs @@ -28,13 +28,10 @@ module Data.Internal.DBus ) where -import Control.Monad import DBus import DBus.Client -import Data.Bifunctor -import qualified Data.Map.Strict as M -import Data.Maybe import RIO +import qualified RIO.Map as M import qualified RIO.Text as T -------------------------------------------------------------------------------- diff --git a/lib/Data/Internal/Dependency.hs b/lib/Data/Internal/Dependency.hs index cf104d8..e63b623 100644 --- a/lib/Data/Internal/Dependency.hs +++ b/lib/Data/Internal/Dependency.hs @@ -99,23 +99,17 @@ module Data.Internal.Dependency ) where -import Control.Monad.IO.Class -import Control.Monad.Identity -import Control.Monad.Reader import DBus hiding (typeOf) import qualified DBus.Introspection as I import Data.Aeson hiding (Error, Result) import Data.Aeson.Key -import Data.Bifunctor -import Data.Either import Data.Internal.DBus -import Data.List -import Data.Maybe import Data.Yaml import GHC.IO.Exception (ioe_description) import RIO hiding (bracket, fromString) import RIO.Directory import RIO.FilePath +import RIO.List import RIO.Process hiding (findExecutable) import qualified RIO.Text as T import System.Posix.Files diff --git a/lib/XMonad/Internal/Command/DMenu.hs b/lib/XMonad/Internal/Command/DMenu.hs index d4333bd..710d15c 100644 --- a/lib/XMonad/Internal/Command/DMenu.hs +++ b/lib/XMonad/Internal/Command/DMenu.hs @@ -22,11 +22,11 @@ import DBus import Data.Internal.DBus import Data.Internal.Dependency import Graphics.X11.Types -import qualified RIO.Text as T -import System.Directory +import RIO.Directory ( XdgDirectory (..) , getXdgDirectory ) +import qualified RIO.Text as T import System.IO import XMonad.Core hiding (spawn) import XMonad.Internal.Command.Desktop diff --git a/lib/XMonad/Internal/Command/Desktop.hs b/lib/XMonad/Internal/Command/Desktop.hs index 7961564..d678eb0 100644 --- a/lib/XMonad/Internal/Command/Desktop.hs +++ b/lib/XMonad/Internal/Command/Desktop.hs @@ -43,11 +43,11 @@ import DBus import Data.Internal.DBus import Data.Internal.Dependency import RIO +import RIO.Directory import RIO.FilePath import qualified RIO.Process as P import qualified RIO.Text as T import System.Posix.User -import UnliftIO.Directory import UnliftIO.Environment import XMonad.Actions.Volume import XMonad.Core hiding (spawn) @@ -376,5 +376,5 @@ runCaptureBrowser = sometimesIO_ "feh" (Only_ $ sysExe [Package Official "feh"] myImageBrowser) $ do - dir <- io getCaptureDir + dir <- getCaptureDir spawnCmd myImageBrowser [T.pack dir] diff --git a/lib/XMonad/Internal/Command/Power.hs b/lib/XMonad/Internal/Command/Power.hs index 2796bef..70b9c12 100644 --- a/lib/XMonad/Internal/Command/Power.hs +++ b/lib/XMonad/Internal/Command/Power.hs @@ -29,11 +29,11 @@ where import Data.Internal.Dependency import Graphics.X11.Types import RIO +import RIO.Directory import RIO.FilePath import qualified RIO.Map as M import qualified RIO.Process as P import qualified RIO.Text as T -import UnliftIO.Directory import XMonad.Core hiding (spawn) import XMonad.Internal.Shell import qualified XMonad.Internal.Theme as XT diff --git a/lib/XMonad/Internal/Concurrent/DynamicWorkspaces.hs b/lib/XMonad/Internal/Concurrent/DynamicWorkspaces.hs index d5e1c13..843db73 100644 --- a/lib/XMonad/Internal/Concurrent/DynamicWorkspaces.hs +++ b/lib/XMonad/Internal/Concurrent/DynamicWorkspaces.hs @@ -34,12 +34,6 @@ module XMonad.Internal.Concurrent.DynamicWorkspaces ) where --- import Control.Concurrent -import Control.Monad -import Control.Monad.Reader -import Data.List (deleteBy, find) -import qualified Data.Map as M -import Data.Maybe import Graphics.X11.Types import Graphics.X11.Xlib.Atom import Graphics.X11.Xlib.Display @@ -51,6 +45,8 @@ import RIO hiding ( Display , display ) +import RIO.List (deleteBy, find) +import qualified RIO.Map as M import qualified RIO.Set as S import System.Process import XMonad.Actions.DynamicWorkspaces diff --git a/lib/XMonad/Internal/DBus/Removable.hs b/lib/XMonad/Internal/DBus/Removable.hs index 87c0766..e338f05 100644 --- a/lib/XMonad/Internal/DBus/Removable.hs +++ b/lib/XMonad/Internal/DBus/Removable.hs @@ -8,12 +8,12 @@ module XMonad.Internal.DBus.Removable (runRemovableMon) where -import Control.Monad import DBus import DBus.Client import Data.Internal.DBus import Data.Internal.Dependency -import Data.Map.Strict (Map, member) +import RIO +import qualified RIO.Map as M import XMonad.Core (io) import XMonad.Internal.Command.Desktop @@ -61,7 +61,7 @@ addedHasDrive :: [Variant] -> Bool addedHasDrive [_, a] = maybe False - (member driveFlag) + (M.member driveFlag) (fromVariant a :: Maybe (Map String (Map String Variant))) addedHasDrive _ = False diff --git a/lib/Xmobar/Plugins/Bluetooth.hs b/lib/Xmobar/Plugins/Bluetooth.hs index 12e8298..9886c32 100644 --- a/lib/Xmobar/Plugins/Bluetooth.hs +++ b/lib/Xmobar/Plugins/Bluetooth.hs @@ -39,16 +39,14 @@ module Xmobar.Plugins.Bluetooth ) where -import Control.Monad import DBus import DBus.Client import Data.Internal.DBus import Data.Internal.Dependency -import Data.List -import Data.List.Split -import qualified Data.Map as M -import Data.Maybe import RIO +import RIO.FilePath +import RIO.List +import qualified RIO.Map as M import qualified RIO.Text as T import XMonad.Internal.DBus.Common import Xmobar @@ -159,12 +157,12 @@ findDevices :: ObjectPath -> ObjectTree -> [ObjectPath] findDevices adapter = filter (adaptorHasDevice adapter) . M.keys adaptorHasDevice :: ObjectPath -> ObjectPath -> Bool -adaptorHasDevice adaptor device = case splitPath device of - [org, bluez, hciX, _] -> splitPath adaptor == [org, bluez, hciX] +adaptorHasDevice adaptor device = case splitPathNoRoot device of + [org, bluez, hciX, _] -> splitPathNoRoot adaptor == [org, bluez, hciX] _ -> False -splitPath :: ObjectPath -> [T.Text] -splitPath = fmap T.pack . splitOn "/" . dropWhile (== '/') . formatObjectPath +splitPathNoRoot :: ObjectPath -> [FilePath] +splitPathNoRoot = dropWhile (== "/") . splitDirectories . formatObjectPath getBtObjectTree :: MonadUnliftIO m => SysClient -> m ObjectTree getBtObjectTree sys = callGetManagedObjects sys btBus btOMPath diff --git a/lib/Xmobar/Plugins/Device.hs b/lib/Xmobar/Plugins/Device.hs index 1c309ae..9cc7ba1 100644 --- a/lib/Xmobar/Plugins/Device.hs +++ b/lib/Xmobar/Plugins/Device.hs @@ -15,7 +15,6 @@ where import DBus import Data.Internal.DBus import Data.Internal.Dependency -import Data.Word import RIO import qualified RIO.Text as T import XMonad.Internal.Command.Desktop diff --git a/lib/Xmobar/Plugins/VPN.hs b/lib/Xmobar/Plugins/VPN.hs index 309938e..e4be4d5 100644 --- a/lib/Xmobar/Plugins/VPN.hs +++ b/lib/Xmobar/Plugins/VPN.hs @@ -17,10 +17,9 @@ where import DBus import Data.Internal.DBus import Data.Internal.Dependency -import qualified Data.Map as M -import Data.Maybe -import qualified Data.Set as S import RIO +import qualified RIO.Map as M +import qualified RIO.Set as S import qualified RIO.Text as T import XMonad.Internal.Command.Desktop import XMonad.Internal.DBus.Common diff --git a/package.yaml b/package.yaml index 80ac40b..67888d1 100644 --- a/package.yaml +++ b/package.yaml @@ -19,27 +19,18 @@ dependencies: - base - bytestring >= 0.10.8.2 - colour >= 2.3.5 - - containers >= 0.6.0.1 - dbus >= 1.2.7 - fdo-notify - - io-streams >= 1.5.1.0 - - mtl >= 2.2.2 - unix >= 2.7.2.2 - - tcp-streams >= 1.0.1.1 - text >= 1.2.3.1 - - directory >= 1.3.3.0 - process >= 1.6.5.0 - - split >= 0.2.3.4 - xmobar - xmonad-extras >= 0.15.2 - xmonad >= 0.13 - xmonad-contrib >= 0.13 - aeson >= 2.0.3.0 - yaml >=0.11.8.0 - - unordered-containers >= 0.2.16.0 - - hashable >= 1.3.5.0 - xml >= 1.3.14 - - lifted-base >= 0.2.3.12 - utf8-string >= 1.0.2 - typed-process >= 0.2.8.0 - network >= 3.1.2.7