packages feed

xmonad-vanessa 0.1.1.6 → 0.1.1.8

raw patch · 8 files changed

+118/−101 lines, 8 filessetup-changedPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

README.md view
@@ -1,9 +1,11 @@-## Usage+# Use -`xmonad` with a custom configuration, in a project to be compiled with stack or cabal. You can also use the library by itself (the executable is not build by default).+`xmonad` with a custom configuration, in a project to be compiled with cabal. You can also use the library by itself. -### Requirements+## Requirements+ Requires libxft-dev, amixer for volume, gnome-terminal, and setxkbmap to switch keyboard layouts. -### Sugestions-Use dmenu, libx11-dev, libxinerama, and yeganesh as well. +## Sugestions++Use dmenu, libx11-dev, libxinerama, xmobar, and yeganesh as well.
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ cabal.project.local view
@@ -0,0 +1,4 @@+constraints: xmonad-vanessa -library+with-compiler: ghc-8.2.2+optimization: 2+documentation: True
src/XMonad/Config/Vanessa.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -fno-warn-missing-signatures #-} -- | Configuration with defaults I like and brightness adjustable for my computer and appropriate module XMonad.Config.Vanessa (vConfig) where @@ -5,6 +6,7 @@ import           Data.Maybe import           Data.Monoid import           Data.Ratio                ((%))+import           System.IO                 (Handle) import           XMonad                    hiding (workspaces) import           XMonad.Actions.GridSelect import           XMonad.Hooks.DynamicLog@@ -14,7 +16,7 @@ import           XMonad.Layout.Mosaic import           XMonad.Layout.Reflect import           XMonad.Layout.Spiral-import           XMonad.StackSet           hiding (filter)+import           XMonad.StackSet           hiding (float) import           XMonad.Util.Brightness import           XMonad.Util.Keyboard import           XMonad.Util.MediaKeys@@ -24,8 +26,8 @@  -- | IO action of the whole thing vConfig :: IO ()-vConfig = xmonad . config =<< spawnPipe "xmobar"-    where config = myConfig+vConfig = xmonad . config' =<< spawnPipe "xmobar"+    where config' = myConfig  -- | Custom configuration taking in one pipe to xmobar myConfig xmproc = fullscreenSupport $ docks $ def { terminal   = "alacritty"@@ -45,6 +47,7 @@     pure . xmobarColor "green" "black" . take 40 $ wt  -- | Provides custom hooks to xmonad. This disables printing the window title/connects xmobar and xmonad.+vLogHook :: Handle -> X () vLogHook xmproc = musicString >>= \m -> dynamicLogWithPP xmobarPP { ppOutput = hPutStrLn xmproc                                                                   , ppTitle = const m                                                                   , ppLayout = const ""@@ -70,12 +73,17 @@                           , className =? "qemu-system-x86_64"                  --> doFloat                           ] +-- TODO gaps between windows?++mkSmall :: Window -> X ()+mkSmall = flip tileWindow (Rectangle 850 150 600 400)+ -- | Custom keymaps to adjust volume, brightness, and myKeys :: XConfig t -> M.Map (KeyMask, KeySym) (X ()) myKeys XConfig {XMonad.modMask = modm} = mediaKeys . M.fromList $              [ --volume control-               ((modm, xK_Up), raiseVolume 5)-             , ((modm, xK_Down), lowerVolume 5)+               ((modm, xK_Up), raiseVolume (5 :: Word))+             , ((modm, xK_Down), lowerVolume (5 :: Word))              , ((modm, xK_Delete), toggleMute)              --personal (extra) media keys              , ((modm, xK_Page_Down), audioNext)@@ -86,21 +94,18 @@              , ((modm, xK_Right), brighten 100)              --program shortcuts              , ((modm, xK_q), spawn "spotify")+             , ((modm .|. shiftMask, xK_n), spawn "firefox")              , ((modm .|. controlMask, xK_Return), spawn "gnome-terminal")-             --open signal-             , ((modm .|. shiftMask, xK_n), spawn "google-chrome --profile-directory=Default --app-id=bikioccmkafdpakkkcpdbppfkghcmihk")              --launch bar-             , ((modm, xK_p), spawn "$(yeganesh -x)")-             -- bash command execution bar-             , ((modm .|. shiftMask, xK_l), spawn "launcher")+             , ((modm, xK_p), spawn "yeganesh -x")              --screenshots-             , ((0, xK_Print), spawn "cd ~/.screenshots && scrot") -- TODO figure out how to surpress window size information+             , ((0, xK_Print), spawn "cd ~/.screenshots && scrot")+             -- open scratchpad+             , ((modm .|. shiftMask, xK_p), withFocused (mconcat . sequence [float, mkSmall]))              --shutdown etc.              , ((modm .|. shiftMask, xK_End), spawn "shutdown now")              -- lock screen              , ((controlMask, xK_End), spawn "slock")-             -- function lock-             -- , ((modm, xK_Insert, XF86ModeLock              --switch keyboards              , ((modm, xK_F1), setLang def)              , ((modm, xK_F2), setLang tibetan)@@ -111,7 +116,7 @@              , ((modm, xK_F7), setLang dansk)              , ((modm, xK_F9), setLang dzongkha)              -- hide windows-             , ((modm .|. shiftMask, xK_h), withFocused hide >> withFocused hideWindow)+             , ((modm .|. shiftMask, xK_h), withFocused (mconcat . sequence [hide, hideWindow]))              , ((modm, xK_u), popNewestHiddenWindow >> withFocused reveal)              -- grid select              , ((modm, xK_g), goToSelected def)@@ -127,8 +132,9 @@         [ ((modm, xK_p), pure ()) ]  -- | Gives a better ratio for the master pane and lets us spiral windows-myLayout = (avoidStruts . hiddenWindows $ mosaic 1.33 (take 6 $ iterate (* (4 % 5)) 1) ||| normalPanes ||| reflectHoriz normalPanes ||| Full) ||| hiddenWindows (spiral (6/7))+myLayout = (avoidStruts . hiddenWindows $ mosaic 1.33 mosaicSettings ||| normalPanes ||| reflectHoriz normalPanes ||| Full) ||| hiddenWindows (spiral (6/7))     where normalPanes = Tall 1 (3/100) (3/7)+          mosaicSettings = take 6 $ iterate (* (4 % 5)) 1  -- | Make new key layout from a given keyboard layout newKeys :: XConfig Layout -> M.Map (KeyMask, KeySym) (X ())
src/XMonad/Util/Keyboard.hs view
@@ -16,7 +16,7 @@ -- TODO module for battery  import           Control.Composition-import           System.Process          hiding (spawn)+import           System.Process import           XMonad import           XMonad.Hooks.DynamicLog @@ -33,6 +33,7 @@     show (Simple "is") = "Ænglisc"     show (Simple "de") = "De"     show (Simple "dk") = "Dk"+    show _ = xmobarColor "red" "black" "ERROR"  -- | Set default keyboard layout to vanilla "us" instance Default KbLayout where@@ -46,7 +47,7 @@ parseKB :: IO KbLayout parseKB = do     out <- lines <$> readCreateProcess (shell "setxkbmap -query") ""-    let strip = dropWhile (==' ') . (drop 1) . (dropWhile (/=':')) .* (!!)+    let strip = dropWhile (==' ') . drop 1 . dropWhile (/=':') .* (!!)     let line = strip out     if length out == 3 then         pure (Simple (line 2))@@ -55,7 +56,7 @@  -- | keyboard layout for typing Tibetan text tibetan :: KbLayout-tibetan  = (Regional "cn" "tib")+tibetan  = Regional "cn" "tib"  -- | AZERTY French keyboard français :: KbLayout@@ -79,7 +80,7 @@  -- | Alr-gr keyboard providing common accents on a US keyboard accented :: KbLayout-accented = (Regional "us" "altgr-intl")+accented = Regional "us" "altgr-intl"  -- | Set keyboard layout setLang :: KbLayout -> X ()
src/XMonad/Util/MediaKeys.hs view
@@ -20,28 +20,31 @@  -- | Given your keymaps, add the media keybindings mediaKeys :: M.Map (KeyMask, KeySym) (X ()) -> M.Map (KeyMask, KeySym) (X ())-mediaKeys = M.fromList . ((<>) mediaKeyList) . M.toList+mediaKeys = M.fromList . (<>) mediaKeyList . M.toList  mediaKeyList :: [((KeyMask, KeySym), X ())] mediaKeyList = [ ((0, xF86XK_AudioNext), audioNext)                , ((0, xF86XK_AudioPrev), audioPrev)                , ((0, xF86XK_AudioPlay), audioPlayPause)                , ((0, xF86XK_AudioMute), toggleMute)-               , ((0, xF86XK_AudioLowerVolume), lowerVolume 5) --module elsewhere?-               , ((0, xF86XK_AudioRaiseVolume), raiseVolume 5)+               , ((0, xF86XK_AudioLowerVolume), lowerVolume (5 :: Word))+               , ((0, xF86XK_AudioRaiseVolume), raiseVolume (5 :: Word))                ]  -- | Helper function for use with dbus sp :: String -> X ()-sp = spawn . ((<>) "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.")+sp = spawn . (<>) "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player."  -- | Action in the 'X' monad to go to next+audioNext :: X () audioNext      = sp "Next"  -- | Action in the 'X' monad to go the previous+audioPrev :: X () audioPrev      = sp "Previous"  -- | Action in the 'X' monad to play/pause+audioPlayPause :: X () audioPlayPause = sp "PlayPause"  -- lana = sp "OpenUri string:6QOU3FhUkPeA2RtaXcvgi7"
− stack.yaml
@@ -1,8 +0,0 @@-resolver: lts-10.2-packages:-- .-extra-deps: []-flags:-    xmonad-vanessa:-        library: false-extra-package-dbs: []
xmonad-vanessa.cabal view
@@ -1,74 +1,81 @@-name:                xmonad-vanessa-version:             0.1.1.6-synopsis:            Custom xmonad, which builds with stack or cabal.-description:         Please see README.md-homepage:            https://hub.darcs.net/vmchale/xmonad-vanessa-license:             BSD3-license-file:        LICENSE-author:              Vanessa McHale-maintainer:          vanessa.mchale@reconfigure.io-copyright:           2017 Vanessa McHale-category:            Web-build-type:          Simple-extra-source-files:  README.md, stack.yaml-cabal-version:       >=1.10+cabal-version: >=1.10+name: xmonad-vanessa+version: 0.1.1.8+license: BSD3+license-file: LICENSE+copyright: 2017-2018 Vanessa McHale+maintainer: vamchale@gmail.com+author: Vanessa McHale+homepage: https://hub.darcs.net/vmchale/xmonad-vanessa+synopsis: Custom xmonad, which builds with stack or cabal.+description:+    Custom xmonad example, plus several bits of functionality for managing media within XMonad.+category: Web+build-type: Simple+extra-source-files:+    README.md+    cabal.project.local -Flag library {-  Description: Don't build an executable-  Default:     True-}+source-repository head+    type: darcs+    location: https://hub.darcs.net/vmchale/xmonad-vanessa +flag library+    description:+        Don't build an executable+ library-  hs-source-dirs:      src-  exposed-modules:     XMonad.Config.Vanessa-                     , XMonad.Util.Brightness-                     , XMonad.Util.Keyboard-                     , XMonad.Util.Volume-                     , XMonad.Util.MediaKeys-  build-depends:       base >= 4.8 && < 5-                     , xmonad >= 0.13-                     , xmonad-contrib >= 0.13-                     , composition-prelude-                     , containers-                     , process-                     , X11-                     , transformers-  ghc-options:         -fwarn-unused-imports-  default-language:    Haskell2010+    exposed-modules:+        XMonad.Config.Vanessa+        XMonad.Util.Brightness+        XMonad.Util.Keyboard+        XMonad.Util.Volume+        XMonad.Util.MediaKeys+    hs-source-dirs: src+    default-language: Haskell2010+    ghc-options: -Wall+    build-depends:+        base >=4.8 && <5,+        xmonad >=0.13,+        xmonad-contrib >=0.13,+        composition-prelude -any,+        containers -any,+        process -any,+        X11 -any,+        transformers -any  executable xmonad-  if flag(library)-    Buildable:         False-  hs-source-dirs:      app-  main-is:             Main.hs-  ghc-options:         -O2-  build-depends:       base-                     , xmonad-vanessa-  default-language:    Haskell2010+    main-is: Main.hs+    hs-source-dirs: app+    default-language: Haskell2010+    ghc-options: -O2+    build-depends:+        base -any,+        xmonad-vanessa -any+    +    if flag(library)+        buildable: False  executable getkb-  if flag(library)-    Buildable:         False-  hs-source-dirs:      app-  main-is:             ParseKBLayout.hs-  ghc-options:         -threaded -O2-  -- -rtsopts -with-rtsopts=-N-  -- -fllvm -optlo-O3-  build-depends:       base-                     , xmonad-vanessa-  default-language:    Haskell2010+    main-is: ParseKBLayout.hs+    hs-source-dirs: app+    default-language: Haskell2010+    ghc-options: -O2+    build-depends:+        base -any,+        xmonad-vanessa -any+    +    if flag(library)+        buildable: False  test-suite xmonad-test-  type:                exitcode-stdio-1.0-  hs-source-dirs:      test-  main-is:             Spec.hs-  build-depends:       base-                     , xmonad-vanessa-                     , hspec-                     , xmonad-  ghc-options:         -threaded -rtsopts -with-rtsopts=-N -  default-language:    Haskell2010--source-repository head-  type:     darcs-  location: https://hub.darcs.net/vmchale/xmonad-vanessa+    type: exitcode-stdio-1.0+    main-is: Spec.hs+    hs-source-dirs: test+    default-language: Haskell2010+    ghc-options: -threaded -rtsopts -with-rtsopts=-N+    build-depends:+        base -any,+        xmonad-vanessa -any,+        hspec -any,+        xmonad -any