aboutsummaryrefslogtreecommitdiff
path: root/src/Rahm/Desktop/Keys
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2022-11-23 00:26:58 -0700
committerJosh Rahm <joshuarahm@gmail.com>2022-11-23 00:26:58 -0700
commit1f25484605881af1a8e1475565d2ceb20b88ea85 (patch)
tree0dcdb9a3814d51779f7b9aedd39ae516b540f54b /src/Rahm/Desktop/Keys
parent80021afcb29332cfddbd8f7d24a107298064383c (diff)
downloadrde-1f25484605881af1a8e1475565d2ceb20b88ea85.tar.gz
rde-1f25484605881af1a8e1475565d2ceb20b88ea85.tar.bz2
rde-1f25484605881af1a8e1475565d2ceb20b88ea85.zip
Change to use minimal imports.
This is achieved by using `stack build --ghc-options=-ddump-minimal-imports` and looking for the *.imports files.
Diffstat (limited to 'src/Rahm/Desktop/Keys')
-rw-r--r--src/Rahm/Desktop/Keys/Dsl.hs34
-rw-r--r--src/Rahm/Desktop/Keys/Wml.hs125
2 files changed, 144 insertions, 15 deletions
diff --git a/src/Rahm/Desktop/Keys/Dsl.hs b/src/Rahm/Desktop/Keys/Dsl.hs
index 03ace1b..7f43f7a 100644
--- a/src/Rahm/Desktop/Keys/Dsl.hs
+++ b/src/Rahm/Desktop/Keys/Dsl.hs
@@ -90,15 +90,41 @@ module Rahm.Desktop.Keys.Dsl
where
import Control.Arrow (first, second)
-import Control.Monad (void)
-import Control.Monad.State (State (..), execState, get, modify')
+import Control.Monad ()
+import Control.Monad.State (State, execState, modify')
import Control.Monad.Writer
+ ( MonadWriter (tell),
+ execWriter,
+ forM_,
+ when,
+ )
import Data.Bits ((.&.))
-import Data.List hiding (group)
+import Data.List (intercalate, sortOn)
import Data.Map (Map)
import qualified Data.Map as Map
-import Text.Printf
+ ( empty,
+ fromList,
+ fromListWith,
+ toList,
+ )
+import Text.Printf (printf)
import XMonad
+ ( Button,
+ ButtonMask,
+ KeyMask,
+ KeySym,
+ MonadState (get),
+ Window,
+ X,
+ XConfig (modMask),
+ controlMask,
+ keysymToString,
+ mod1Mask,
+ mod3Mask,
+ mod4Mask,
+ shiftMask,
+ (.|.),
+ )
data Documented t = Documented String t
diff --git a/src/Rahm/Desktop/Keys/Wml.hs b/src/Rahm/Desktop/Keys/Wml.hs
index 623e59a..07a4ae1 100644
--- a/src/Rahm/Desktop/Keys/Wml.hs
+++ b/src/Rahm/Desktop/Keys/Wml.hs
@@ -14,35 +14,138 @@
-- \%@s // All windows except those on workspace 's'
module Rahm.Desktop.Keys.Wml where
-import Control.Monad (forM_, join, unless, when)
-import Control.Monad.Trans.Class
-import Control.Monad.Trans.Maybe
+import Control.Monad (forM_, join, when)
+import Control.Monad.Trans.Class (MonadTrans (lift))
+import Control.Monad.Trans.Maybe (MaybeT (..), mapMaybeT)
import Control.Monad.Trans.State as S
+ ( StateT (StateT),
+ evalStateT,
+ get,
+ put,
+ )
import Data.Char (isAlpha, isAlphaNum, isDigit, ord)
import Data.List (intercalate, sortOn)
import Data.List.Safe (head, last)
import Data.Map (Map)
import qualified Data.Map as Map
+ ( empty,
+ insert,
+ keys,
+ lookup,
+ member,
+ )
import Data.Maybe (catMaybes, fromMaybe)
import Data.Ord (Down (..))
import Data.Typeable (cast)
import Rahm.Desktop.Common
+ ( Location (..),
+ askWindowId,
+ getCurrentLocation,
+ getCurrentWorkspace,
+ gotoWorkspace,
+ moveLocationToWorkspace,
+ windowsInWorkspace,
+ )
import Rahm.Desktop.History
-import Rahm.Desktop.Keys.Dsl
-import Rahm.Desktop.Logger
+ ( getMostRecentLocationInHistory,
+ lastLocation,
+ nextLocation,
+ pastHistory,
+ )
+import Rahm.Desktop.Keys.Dsl ()
+import Rahm.Desktop.Logger (LogLevel (Info, Trace), logs)
import Rahm.Desktop.Marking
+ ( farLeftWindow,
+ farRightWindow,
+ getAlternateWindows,
+ getAlternateWorkspace,
+ getMarkedLocations,
+ windowLocation,
+ )
import qualified Rahm.Desktop.StackSet as W
-import Rahm.Desktop.Submap
+ ( RationalRect (RationalRect),
+ Screen (workspace),
+ StackSet (current, floating),
+ Workspace (stack, tag),
+ allWindows,
+ findWindow,
+ float,
+ focusWindow,
+ getLocationWorkspace,
+ greedyView,
+ integrate',
+ screens,
+ sink,
+ )
+import Rahm.Desktop.Submap (mapNextStringWithKeysym)
import Rahm.Desktop.Workspaces
+ ( accompaningWorkspace,
+ adjacentWorkspace,
+ adjacentWorkspaceNotVisible,
+ getHorizontallyOrderedScreens,
+ next,
+ prev,
+ workspaceWithWindow,
+ )
import Rahm.Desktop.XMobarLog.PendingBuffer
+ ( addStringToPendingBuffer,
+ setPendingBuffer,
+ )
import System.Exit (ExitCode (..), exitWith)
-import Text.Printf
+import Text.Printf (printf)
import XMonad
-import XMonad.Actions.CopyWindow as CopyWindow
+ ( Default (def),
+ ExtensionClass (..),
+ KeyMask,
+ KeySym,
+ StateExtension (PersistentExtension),
+ Typeable,
+ Window,
+ WorkspaceId,
+ X,
+ io,
+ killWindow,
+ windows,
+ withWindowSet,
+ xK_Escape,
+ xK_Return,
+ )
+import XMonad.Actions.CopyWindow as CopyWindow ()
import XMonad.Prompt.ConfirmPrompt (confirmPrompt)
-import qualified XMonad.Util.ExtensibleState as XS
-import XMonad.Util.Run (safeSpawn)
-import Prelude hiding (head, last)
+import qualified XMonad.Util.ExtensibleState as XS (get, modify)
+import XMonad.Util.Run ()
+import Prelude
+ ( Applicative,
+ Eq ((==)),
+ Foldable (elem, null),
+ Fractional ((/)),
+ Functor (fmap),
+ Maybe (..),
+ Monad (return),
+ MonadFail (fail),
+ Num ((-)),
+ Read,
+ Show (show),
+ String,
+ Traversable (mapM),
+ break,
+ concatMap,
+ filter,
+ flip,
+ id,
+ map,
+ mapM_,
+ not,
+ reverse,
+ snd,
+ tail,
+ ($),
+ (++),
+ (.),
+ (<$>),
+ (=<<),
+ (||),
+ )
type KeyString = [(KeyMask, KeySym, String)]