aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2021-11-22 23:29:16 -0700
committerJosh Rahm <joshuarahm@gmail.com>2021-11-22 23:29:16 -0700
commit1e17c5fba39c00d22fe0bd1530c93c56b37a20c8 (patch)
tree52973b297934e064a0b9a6b00acfe3437751319b /src
parent2f663366c82f158e1716e0c5e40875b714b7e35f (diff)
downloadrde-1e17c5fba39c00d22fe0bd1530c93c56b37a20c8.tar.gz
rde-1e17c5fba39c00d22fe0bd1530c93c56b37a20c8.tar.bz2
rde-1e17c5fba39c00d22fe0bd1530c93c56b37a20c8.zip
Add some support of the XF86 keys.
Diffstat (limited to 'src')
-rw-r--r--src/Internal/Keys.hs27
-rw-r--r--src/Internal/KeysM.hs1
-rw-r--r--src/Main.hs11
3 files changed, 33 insertions, 6 deletions
diff --git a/src/Internal/Keys.hs b/src/Internal/Keys.hs
index 439986c..0dd8760 100644
--- a/src/Internal/Keys.hs
+++ b/src/Internal/Keys.hs
@@ -1,6 +1,7 @@
{-# LANGUAGE RankNTypes #-}
module Internal.Keys (applyKeys) where
+import Graphics.X11.ExtraTypes.XF86;
import Internal.KeysM
import Internal.SwapMaster (swapMaster)
import XMonad.Hooks.ManageDocks
@@ -207,10 +208,11 @@ keymap = runKeys $ do
bind xK_z $ do
justMod $ subkeys $ do
+
+ -- Double-tap Z to toggle zoom.
bind xK_z $ do
noMod -|- justMod $ sendMessage ToggleZoom
-
-- Z is reserved to create sub keybindings to do various things.
-- I don't really use these at the moment.
bind xK_h $ do
@@ -223,6 +225,29 @@ keymap = runKeys $ do
-- modifier.
shiftMod $ sendMessage ToggleZoom
+ bind xF86XK_AudioLowerVolume $ do
+ noMod $ spawn "pactl set-sink-volume @DEFAULT_SINK@ -1%"
+ justMod $ spawn "spotify-control prev"
+
+ bind xF86XK_AudioRaiseVolume $ do
+ noMod $ spawn "pactl set-sink-volume @DEFAULT_SINK@ +1%"
+ justMod $ spawn "spotify-control next"
+
+ bind xF86XK_AudioMute $ do
+ noMod $ spawn "pactl set-sink-mute @DEFAULT_SINK@ toggle"
+
+ bind xF86XK_AudioPlay $ do
+ noMod $ spawn "spotify-control play"
+
+ bind xF86XK_AudioNext $ do
+ noMod $ spawn "spotify-control next"
+
+ bind xF86XK_AudioPrev $ do
+ noMod $ spawn "spotify-control prev"
+
+ bind xF86XK_AudioPrev $ do
+ noMod $ spawn "spotify-control prev"
+
mouseMap :: ButtonsMap l
mouseMap = runButtons $ do
bind button1 $ do
diff --git a/src/Internal/KeysM.hs b/src/Internal/KeysM.hs
index 0d7adce..f834796 100644
--- a/src/Internal/KeysM.hs
+++ b/src/Internal/KeysM.hs
@@ -412,3 +412,4 @@ mapAlpha km fn =
, (xK_y, 'y')
, (xK_z, 'z')
]
+
diff --git a/src/Main.hs b/src/Main.hs
index 94fb5a7..2b9baf3 100644
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -3,7 +3,7 @@ import XMonad
import XMonad.Hooks.ManageDocks (docks)
import System.Directory (getHomeDirectory)
import System.FilePath ((</>))
-import XMonad.Hooks.EwmhDesktops (ewmhDesktopsStartup)
+import XMonad.Hooks.EwmhDesktops (ewmh)
import XMonad.Hooks.ManageHelpers (isFullscreen, doFullFloat)
import XMonad.Layout.Fullscreen (fullscreenEventHook)
import System.Environment (setEnv)
@@ -16,6 +16,7 @@ import qualified XMonad as X
import qualified XMonad.StackSet as S
main = do
+
-- Execute some commands.
homeDir <- getHomeDirectory
let fp = homeDir </> ".xmonad" </> "startup"
@@ -25,7 +26,7 @@ main = do
xmobar <- spawnXMobar
(=<<) X.xmonad $
- applyKeys $ docks $ def
+ applyKeys $ ewmh $ docks $ def
{ terminal = "alacritty"
, modMask = mod3Mask
, borderWidth = 2
@@ -33,9 +34,7 @@ main = do
, focusedBorderColor = "#ff6c00"
, normalBorderColor = "#404040"
, layoutHook = myLayout
- , startupHook = do
- ewmhDesktopsStartup
- spawn fp
+ , startupHook = spawn fp
, manageHook = composeAll [
isFullscreen --> doFullFloat
, className =? "Tilda" --> doFloat
@@ -43,6 +42,8 @@ main = do
, className =? "MPlayer" --> doFloat
, title =? "Event Tester" --> doFloat
, title =? "Floating Term" --> doFloat
+ , title =? "xmessage" --> doFloat
+ , title =? "gxmessage" --> doFloat
, className =? "mpv" --> doFloat
, className =? "gnubby_ssh_prompt" --> doFloat
]