Compare commits

...

8 Commits

Author SHA1 Message Date
b9e180f910 Bump base version 2020-03-02 10:17:21 +02:00
d88a4aa7a0 Use the swap screen from linenavigation2d 2020-02-12 13:45:08 +02:00
93e4e9f930 Comment out shifting windows
I'm pretty sure I've never used these mappings except by accident, now
then knowing how to undo it. I'm commenting them out for now to see if I
end up missing them for whatever reason
2020-02-12 13:27:22 +02:00
30d3f4ea2c Navigate to different screens better 2020-02-12 13:25:26 +02:00
e80b309569 Get rid of ideHooks 2020-02-03 09:58:24 +02:00
d15ae94ba5 Update tests 2020-02-03 09:54:07 +02:00
a69b41e652 Disable focus follows mouse with the reasoning 2020-02-03 09:48:52 +02:00
321ed016a0 Go back to google 2020-02-03 09:48:41 +02:00
3 changed files with 30 additions and 27 deletions

View File

@ -10,10 +10,10 @@ before_script:
matrix: matrix:
include: include:
- env: - env:
- NIXPKGS=https://github.com/NixOS/nixpkgs-channels/archive/nixos-19.03.tar.gz - VERSION=19.09
- env: - env:
- NIXPKGS=https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz - VERSION=unstable
script: script:
- nix run nixpkgs.haskellPackages.hlint -c hlint src - nix run nixpkgs.haskellPackages.hlint -c hlint src
- nix build -I nixpkgs=$NIXPKGS -f ./release.nix xmonad-masser - nix build -I nixpkgs=https://github.com/NixOS/nixpkgs-channels/archive/nixos-$VERSION.tar.gz -f ./release.nix xmonad-masser

View File

@ -10,9 +10,8 @@ import Control.Lens ((^.))
import Data.Generics.Product (field) import Data.Generics.Product (field)
import qualified Data.List as List import qualified Data.List as List
import XMonad import XMonad
import XMonad.Actions.CycleWS (swapNextScreen) -- import XMonad.Actions.CycleWS (swapNextScreen)
import XMonad.Actions.Search import XMonad.Actions.Search
import XMonad.CustomPrompt
import XMonad.Hooks.EwmhDesktops (ewmh, ewmhDesktopsStartup) import XMonad.Hooks.EwmhDesktops (ewmh, ewmhDesktopsStartup)
import XMonad.Hooks.SetWMName (setWMName) import XMonad.Hooks.SetWMName (setWMName)
import XMonad.Hooks.UrgencyHook (args, dzenUrgencyHook, import XMonad.Hooks.UrgencyHook (args, dzenUrgencyHook,
@ -82,18 +81,19 @@ scratchSubmaps conf = submapName . mkNamedKeymap conf $ [
searchSubmaps :: ExtraConfig -> XConfig l -> NamedAction searchSubmaps :: ExtraConfig -> XConfig l -> NamedAction
searchSubmaps extraConfig conf = searchSubmaps extraConfig conf =
let mkBrowser = promptSearchBrowser def (extraConfig ^. field @"applications" . field @"browser") let mkBrowser = promptSearchBrowser def (extraConfig ^. field @"applications" . field @"browser")
_googleP = addName "Search google" $ mkBrowser google googleP = addName "Search google" $ mkBrowser google
_ddgP = addName "Search duckduckgo" $ mkBrowser (searchEngine "duckduckgo" "http://duckduckgo.com/?q=")
searx = addName "Search searx" $ mkBrowser (searchEngine "searx" "https://searx.me/?q=")
extras = [(key, addName name $ mkBrowser (searchEngine name url)) | Search{..} <- searchEndpoints extraConfig] extras = [(key, addName name $ mkBrowser (searchEngine name url)) | Search{..} <- searchEndpoints extraConfig]
in submapName . mkNamedKeymap conf $ in submapName . mkNamedKeymap conf $
[ ("d", searx) -- Training to use ddg again ("g", googleP) : extras
, ("g", searx) -- training to use ddg again
] ++ extras
myNav2d :: Navigation2DConfig myNav2d :: Navigation2DConfig
myNav2d = def { defaultTiledNavigation = lineNavigation } myNav2d =
def { defaultTiledNavigation = nav
, screenNavigation = nav
}
where
nav = hybridOf lineNavigation sideNavigation
showKeybindings :: [((KeyMask, KeySym), NamedAction)] -> NamedAction showKeybindings :: [((KeyMask, KeySym), NamedAction)] -> NamedAction
showKeybindings x = addName "Show keybindings" $ io $ do showKeybindings x = addName "Show keybindings" $ io $ do
@ -128,14 +128,10 @@ myManageHook = composeAll $ concat [
, documentHooks , documentHooks
, floatHooks , floatHooks
, debuggerHooks , debuggerHooks
, ideHooks
, flowHook , flowHook
] ]
where where
classHook y = map (\x -> className =? x --> y) classHook y = map (\x -> className =? x --> y)
ideHooks = classHook (doShift "eclipse") [
"Anypoint Studio"
]
webHooks = classHook (doShift "web") [ webHooks = classHook (doShift "web") [
"Firefox" "Firefox"
, "qutebrowser" , "qutebrowser"
@ -155,7 +151,7 @@ myManageHook = composeAll $ concat [
"libreoffice" "libreoffice"
, "libreoffice-calc" , "libreoffice-calc"
, "Assistant" , "Assistant"
, "Bouml" , "Bouml" -- Oh wow, didn't even remember this existed
] ]
floatHooks = classHook doFloat [ floatHooks = classHook doFloat [
"SMplayer" "SMplayer"
@ -163,11 +159,11 @@ myManageHook = composeAll $ concat [
, "MPlayer" , "MPlayer"
, "Kaffeine" , "Kaffeine"
, "Xmessage" , "Xmessage"
, "Wfica_Seamless" , "Wfica_Seamless" -- I think this is citrix
, "mpv" , "mpv"
] ]
debuggerHooks = classHook (doShift "debugger") [ debuggerHooks = classHook (doShift "debugger") [
"JSwat Debugger", "JSwat Debugger", -- Haven't used this in years. A good thing?
"DBeaver" "DBeaver"
] ]
dynamicsHook = [title =~? "Dynamics" --> doShift "dynamics"] dynamicsHook = [title =~? "Dynamics" --> doShift "dynamics"]
@ -183,9 +179,9 @@ myKeys extraConfig conf =
, ("<XF86AudioLowerVolume>", addName "Decrease volume" $ spawn "amixer set Master 2%-") , ("<XF86AudioLowerVolume>", addName "Decrease volume" $ spawn "amixer set Master 2%-")
, ("M-<plus>", addName "Increase volume" $ spawn "amixer set Master 2+") , ("M-<plus>", addName "Increase volume" $ spawn "amixer set Master 2+")
, ("M-<minus>", addName "Decrease volume" $ spawn "amixer set Master 2-") , ("M-<minus>", addName "Decrease volume" $ spawn "amixer set Master 2-")
, ("<XF86AudioPlay>", addName "Play/pause mopidy" $ spawn "mpc toggle") , ("<XF86AudioPlay>", addName "Play/pause music" $ spawn "mpc toggle")
, ("M-m", spotify extraConfig conf) , ("M-m", spotify extraConfig conf)
, ("M-S-<Space>", addName "Swap screens" swapNextScreen) -- , ("M-S-<Space>", addName "Swap screens" swapNextScreen)
, ("M-<Backspace>", addName "Kill window" kill) , ("M-<Backspace>", addName "Kill window" kill)
-- scrot requires `unGrab` -- scrot requires `unGrab`
, ("M-<Print>", addName "Take screenshot" $ spawn (screenshot . applications $ extraConfig))] ^++^ , ("M-<Print>", addName "Take screenshot" $ spawn (screenshot . applications $ extraConfig))] ^++^
@ -199,10 +195,13 @@ myKeys extraConfig conf =
, ("M-k", addName "Go up" $ windowGo U False) , ("M-k", addName "Go up" $ windowGo U False)
, ("M-h", addName "Go left" $ windowGo L False) , ("M-h", addName "Go left" $ windowGo L False)
, ("M-l", addName "Go right" $ windowGo R False) , ("M-l", addName "Go right" $ windowGo R False)
, ("M-S-j", addName "Shift window down" $ windowSwap D False) -- Swap screen left or right, don't wrap
, ("M-S-k", addName "Shift window up" $ windowSwap U False) , ("M-S-h", addName "Shift window up" $ screenSwap L True)
, ("M-S-h", addName "Shift window left" $ windowSwap L False) , ("M-S-l", addName "Shift window right" $ screenSwap R True)
, ("M-S-l", addName "Shift window right" $ windowSwap R False) -- , ("M-S-j", addName "Shift window down" $ windowSwap D False)
-- , ("M-S-k", addName "Shift window up" $ windowSwap U False)
-- , ("M-S-h", addName "Shift window left" $ windowSwap L False)
-- , ("M-S-l", addName "Shift window right" $ windowSwap R False)
, ("M-.", addName "Go to previous window" $ windows W.focusDown) , ("M-.", addName "Go to previous window" $ windows W.focusDown)
, ("M-,", addName "Go to next window" $ windows W.focusUp) , ("M-,", addName "Go to next window" $ windows W.focusUp)
, ("M-S-m", addName "Swap master" $ windows W.swapMaster) , ("M-S-m", addName "Swap master" $ windows W.swapMaster)
@ -243,7 +242,11 @@ masser extraConfig = xmonad =<< statusBar (bar extraConfig) zenburnPP toggleStru
, normalBorderColor = "#262626" , normalBorderColor = "#262626"
, focusedBorderColor = "#7F9F7F" , focusedBorderColor = "#7F9F7F"
, manageHook = myManageHook , manageHook = myManageHook
, focusFollowsMouse = True -- The focus follows mouse is a bad idea for me because
-- it misbehaves with accordion. If I accidentally hover
-- my mouse at the lower edge of the accordion, it will
-- just cycle through to the last accordion
, focusFollowsMouse = False
, logHook = updatePointer (0.25, 0.25) (0.25, 0.25) , logHook = updatePointer (0.25, 0.25) (0.25, 0.25)
} }
myLayout = toggleLayouts zoom workspaceLayouts myLayout = toggleLayouts zoom workspaceLayouts

View File

@ -25,7 +25,7 @@ library
, XMonad.TopicSpace , XMonad.TopicSpace
, XMonad.XMobar , XMonad.XMobar
-- other-extensions: -- other-extensions:
build-depends: base >=4.11 && <4.13 build-depends: base >=4.11 && <4.14
, xmonad , xmonad
, xmonad-contrib , xmonad-contrib
, mtl , mtl