Adding README.org

This commit is contained in:
Derek Taylor
2020-07-17 14:46:34 -05:00
parent 5fa8e80ec8
commit f14e0d1050
3 changed files with 173 additions and 63 deletions

View File

@@ -1,23 +1,3 @@
-- Xmonad is a dynamically tiling X11 window manager that is written and
-- configured in Haskell. Official documentation: https://xmonad.org
-- This is the xmonad configuration of Derek Taylor (DistroTube)
-- My YouTube: http://www.youtube.com/c/DistroTube
-- My GitLab: http://www.gitlab.com/dwt1/
-- This config was getting massively long, so I have made this a modular
-- config that sources multiple config files. Look under the imports for
-- "Custom" modules. Those are my config files and they can be found in:
-- ~/.xmonad/lib/Custom
-- Keep in mind, that my configs are purposely bloated with examples of
-- what you can do with xmonad. It is written more as a study guide rather
-- than a config that you should download and use.
------------------------------------------------------------------------
-- IMPORTS
------------------------------------------------------------------------
-- Custom (my personal configs)
import Custom.MyGridMenu
import Custom.MyKeys
@@ -49,9 +29,6 @@ import XMonad.Util.NamedScratchpad
import XMonad.Util.Run (runProcessWithInput, safeSpawn, spawnPipe)
import XMonad.Util.SpawnOnce
------------------------------------------------------------------------
-- AUTOSTART
------------------------------------------------------------------------
myStartupHook :: X ()
myStartupHook = do
spawnOnce "nitrogen --restore &"
@@ -63,15 +40,6 @@ myStartupHook = do
-- spawnOnce "kak -d -s mysession &"
setWMName "LG3D"
------------------------------------------------------------------------
-- WORKSPACES
------------------------------------------------------------------------
-- My workspaces are clickable meaning that the mouse can be used to switch
-- workspaces. This requires xdotool. You need to use UnsafeStdInReader instead
-- of simply StdInReader in xmobar config so you can pass actions to it. Also,
-- you will notice I add <fn> tags to the clickable workspaces to select from
-- the additionalFonts that I have set in my xmobar configs.
xmobarEscape :: String -> String
xmobarEscape = concatMap doubleLts
where
@@ -87,15 +55,6 @@ myWorkspaces = clickable . (map xmobarEscape)
(i,ws) <- zip [1..9] l,
let n = i ]
------------------------------------------------------------------------
-- MANAGEHOOK
------------------------------------------------------------------------
-- Sets some rules for certain programs. Examples include forcing certain
-- programs to always float, or to always appear on a certain workspace.
-- Forcing programs to a certain workspace with a doShift requires xdotool
-- if you are using clickable workspaces. You need the className or title
-- of the program. Use xprop to get this info.
myManageHook :: XMonad.Query (Data.Monoid.Endo WindowSet)
myManageHook = composeAll
-- using 'doShift ( myWorkspaces !! 7)' sends program to workspace 8!
@@ -112,19 +71,10 @@ myManageHook = composeAll
, (className =? "firefox" <&&> resource =? "Dialog") --> doFloat -- Float Firefox Dialog
] <+> namedScratchpadManageHook myScratchPads
------------------------------------------------------------------------
-- LOGHOOK
------------------------------------------------------------------------
-- Sets opacity for inactive (unfocused) windows. I prefer to not use
-- this feature so I've set opacity to 1.0. If you want opacity, set
-- this to a value of less than 1 (such as 0.9 for 90% opacity).
myLogHook :: X ()
myLogHook = fadeInactiveLogHook fadeAmount
where fadeAmount = 1.0
------------------------------------------------------------------------
-- MAIN
------------------------------------------------------------------------
main :: IO ()
main = do
-- Launching three instances of xmobar on their monitors.