diff options
| author | Josh Rahm <joshuarahm@gmail.com> | 2022-11-23 00:26:58 -0700 |
|---|---|---|
| committer | Josh Rahm <joshuarahm@gmail.com> | 2022-11-23 00:26:58 -0700 |
| commit | 1f25484605881af1a8e1475565d2ceb20b88ea85 (patch) | |
| tree | 0dcdb9a3814d51779f7b9aedd39ae516b540f54b /src/Rahm/Desktop/Keys | |
| parent | 80021afcb29332cfddbd8f7d24a107298064383c (diff) | |
| download | rde-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.hs | 34 | ||||
| -rw-r--r-- | src/Rahm/Desktop/Keys/Wml.hs | 125 |
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)] |