packages feed

xmonad-vanessa 0.1.0.1 → 0.1.0.2

raw patch · 4 files changed

+73/−13 lines, 4 filesdep −tibetan-utilsdep ~xmonad-vanessa

Dependencies removed: tibetan-utils

Dependency ranges changed: xmonad-vanessa

Files

src/XMonad/Config/Vanessa.hs view
@@ -11,12 +11,15 @@ import XMonad.Util.Volume import XMonad.Util.Brightness import XMonad.Util.Keyboard+import XMonad.Util.MediaKeys import XMonad.StackSet as W --Monads etc. import qualified Data.Map as M import Data.Monoid import Control.Monad hiding (guard) import Control.Monad.IO.Class+--+import Control.Concurrent  -- | IO action of the whole thing vConfig :: IO ()@@ -44,19 +47,33 @@ myManageHook = composeAll [ className =? "Gimp"          --> doFloat                           , resource =? "spotify"       --> doF (W.shift "5")                           , resource =? "google-chrome" --> doF (W.shift "2")+                          , resource =? "crx_bikioccmkafdpakkkcpdbppfkghcmihk" --> doF (W.shift "7")                           ]  -- | Custom keymaps to adjust volume, brightness, and  myKeys :: XConfig t -> M.Map (KeyMask, KeySym) (X ())-myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList-             [ ((modm, xK_Up), raiseVolume 5)+myKeys conf@(XConfig {XMonad.modMask = modm}) = mediaKeys . M.fromList $+             [ --volume control+               ((modm, xK_Up), raiseVolume 5)              , ((modm, xK_Down), lowerVolume 5)+             , ((modm, xK_F8), toggleMute)+             --personal (extra) media keys+             , ((modm, xK_End), audioNext)+             , ((modm, xK_Page_Up), audioPrev)+             , ((modm, xK_Home), audioPlayPause)+             --brightness              , ((modm, xK_Left), brighten (-100))              , ((modm, xK_Right), brighten 100)-             , ((modm, xK_F8), toggleMute)-             --, ((modm, xK_p), spawn "nohup yeganesh -x")+             --program shortcuts+             , ((modm, xK_q), spawn "spotify") +             , ((modm .|. shiftMask, xK_n), spawn "google-chrome --profile-directory=Default --app-id=bikioccmkafdpakkkcpdbppfkghcmihk") --open signal+             --launch bar+             , ((modm, xK_p), spawn "$(yeganesh -x)")+             --screenshots+             , ((0, xK_Print), spawn "cd ~/.screenshots && scrot")+             --shutdown etc.              , ((modm .|. shiftMask, xK_End), spawn "shutdown now")-             , ((modm, xK_F12), spawn "cd ~/.screenshots && scrot")+             --switch keyboards              , ((modm, xK_F1), setLang def)              , ((modm, xK_F2), setLang tibetan)              , ((modm, xK_F3), setLang accented)@@ -65,12 +82,10 @@              --idea: "browse" workspaces but multiple of them/autospawn in a new one?              --overambition:vim-like window management - -- | Function giving keybindings to undo keysToRemove :: XConfig Layout -> M.Map (KeyMask, KeySym) (X ()) keysToRemove x@(XConfig {XMonad.modMask = modm}) = M.fromList-        --[ ((modm , xK_p ), return ())-        []+        [ ((modm, xK_p), pure ()) ]  -- | Gives a better ratio for the master pane and lets us spiral windows myLayout = avoidStruts $ normalPanes ||| reflectHoriz normalPanes ||| Full ||| spiral (16/9)
src/XMonad/Util/Keyboard.hs view
@@ -1,4 +1,5 @@ -- | Allows to switch keyboard layouts +-- Uses the command-line utility setxkbmap.  module XMonad.Util.Keyboard ( KbLayout (..)                             , showKBLayout                             , parseKB
+ src/XMonad/Util/MediaKeys.hs view
@@ -0,0 +1,44 @@+-- | Bind media keys using dbus+-- Requires amixer to control volume. +module XMonad.Util.MediaKeys (-- * default keybindings+                             mediaKeys+                             -- * media control in the 'X' monad+                             , audioPrev+                             , audioNext+                             , audioPlayPause) where++--gives us media keys+import Graphics.X11.ExtraTypes.XF86+import Graphics.X11.Types+--XMonad stuff+import XMonad.Core+import XMonad.Util.Volume+--monads and all that+import qualified Data.Map as M+import Data.Monoid++-- | Given your keymaps, add the media keybindings+mediaKeys :: M.Map (KeyMask, KeySym) (X ()) -> M.Map (KeyMask, KeySym) (X ())+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) +               ]++-- | 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.")++-- | Action in the 'X' monad to go to next+audioNext      = sp "Next"++-- | Action in the 'X' monad to go the previous+audioPrev      = sp "Previous"++-- | Action in the 'X' monad to play/pause+audioPlayPause = sp "PlayPause"
xmonad-vanessa.cabal view
@@ -1,5 +1,5 @@ name: xmonad-vanessa-version: 0.1.0.1+version: 0.1.0.2 cabal-version: >=1.10 build-type: Simple license: BSD3@@ -23,6 +23,7 @@         XMonad.Util.Brightness         XMonad.Util.Keyboard         XMonad.Util.Volume+        XMonad.Util.MediaKeys     build-depends:         base >=4.7 && <5,         xmonad ==0.12.*,@@ -30,8 +31,7 @@         xmonad-extras >=0.12.1 && <0.13,         containers >=0.5.7.1 && <0.6,         process >=1.4.2.0 && <1.5,-        X11 >=1.6.1.2 && <1.7,-        tibetan-utils >=0.1.0.1 && <0.2+        X11 >=1.6.1.2 && <1.7     default-language: Haskell2010     hs-source-dirs: src @@ -39,7 +39,7 @@     main-is: Main.hs     build-depends:         base >=4.9.0.0 && <4.10,-        xmonad-vanessa >=0.1.0.1 && <0.2+        xmonad-vanessa >=0.1.0.2 && <0.2     default-language: Haskell2010     hs-source-dirs: app     ghc-options: -threaded -rtsopts -with-rtsopts=-N@@ -48,7 +48,7 @@     main-is: ParseKBLayout.hs     build-depends:         base >=4.9.0.0 && <4.10,-        xmonad-vanessa >=0.1.0.1 && <0.2+        xmonad-vanessa >=0.1.0.2 && <0.2     default-language: Haskell2010     hs-source-dirs: app     ghc-options: -threaded -rtsopts -with-rtsopts=-N