无法在 Xmonad 上设置亮度和媒体控制键
Can't set brigtness and media control keys on Xmonad
我设法自己从头开始设置我的 XMonad 配置 - 但我在设置亮度和媒体控制键时遇到困难 - 而且我没有编程经验或 Haskell 这方面的经验,因此我不知道如何阅读错误消息(我的错,对不起)。当我的问题恢复到更改前的状态时,我没有编译错误。
所以我尝试从其他人的点文件中复制,但我总是遇到编译错误。在这里,我复制了 Derrek Taylor 的 XMonad 配置,特别是与问题相关的部分。所以我复制了:
-- Multimedia Keys
, ("<XF86AudioPlay>", spawn (myTerminal ++ "mocp --play"))
, ("<XF86AudioPrev>", spawn (myTerminal ++ "mocp --previous"))
, ("<XF86AudioNext>", spawn (myTerminal ++ "mocp --next"))
, ("<XF86AudioMute>", spawn "amixer set Master toggle")
, ("<XF86AudioLowerVolume>", spawn "amixer set Master 5%- unmute")
, ("<XF86AudioRaiseVolume>", spawn "amixer set Master 5%+ unmute")
, ("<XF86HomePage>", spawn "firefox")
, ("<XF86Search>", safeSpawn "firefox" ["https://www.duckduckgo.com/"])
, ("<XF86Mail>", runOrRaise "thunderbird" (resource =? "thunderbird"))
, ("<XF86Calculator>", runOrRaise "qalculate-gtk" (resource =? "qalculate-gtk"))
, ("<XF86Eject>", spawn "toggleeject")
, ("<Print>", spawn "scrotd 0")
]
来自他位于 this link.
的点文件
我在编译时收到以下错误(很抱歉没有粘贴文本本身,因为我尝试过的键盘组合没有用):
The error message
就导入而言,我有以下内容:
import XMonad
11 import Data.Monoid
12 import System.Exit
13 import XMonad.Util.SpawnOnce
14 import XMonad.Util.Run
15 import XMonad.Hooks.ManageDocks
16 import qualified XMonad.StackSet as W
17 import qualified Data.Map as M
18 import XMonad.Hooks.DynamicLog
19 import XMonad.Hooks.ManageHelpers
20 import XMonad.Hooks.UrgencyHook
21 import XMonad.Util.WorkspaceCompare
22 import XMonad.Util.EZConfig
23 import Graphics.X11.ExtraTypes
24 import XMonad.Hooks.EwmhDesktops
你能帮帮我吗?亮度和媒体控制键,以及后来 XMobar 上的电池小部件(如果我自己不明白的话,将放在另一个 post 上)是我的笔记本电脑 100% 准备就绪之前需要做的最后一件事.到目前为止,我真的很享受这段旅程,我学到了很多东西,所以如果你不仅帮助我解决问题而且向像我这样的菜鸟解释它,我会很高兴。
提前致谢!
好的,看来我不小心解决了我自己的问题,但以最不寻常的方式:
我转到 this site 因为我正在搜索如何控制亮度。从字面上看,只是去 Duck Duck Go 并输入“如何控制亮度 XMonad”或其他内容。安装了 Lux,程序来完成它。出于某种原因,在尝试 XBrightness 后它没有注册我的屏幕,或者发现了一些与此讨论无关的其他错误消息,所以我只是坚持使用 Lux。
然而,虽然一般语法看起来不错,但我现在注意到我在上面给 link 的 DT 配置对 XF 键有不同的名称。好吧,我在写这篇文章时才发现,我遇到问题的原因是 EZ 键盘映射配置——DT 在使用它,而我似乎没有。然而,这种认识是在完成第 3 步之后才实现的。
3.I 拍摄于 Luke Smith's DWM fork which I used for a while before switching to XMonad。原来键映射名称不同,我尝试了它们。然后注意到 XF86AudioLowerVolume
中的 X 被大写,而在第 1 步中的 , ((0, xF86XK_MonBrightnessUp), spawn "lux -a 10%")
之类的东西中则不是。由于此时 Lux 工作,我只是玩游戏以确保两种情况下的语法相同。最后我还发现 Luke 的 dwm 分支保存了键的确切名称,包括小写字母,所以我只是坚持复制语法并更改适当的键绑定。
几条 XMonad 编译错误消息后一切正常!
现在我的控件如下所示:
, ((0, xF86XK_MonBrightnessUp), spawn "lux -a 10%")
, ((0, xF86XK_MonBrightnessDown), spawn "lux -s 10%")
, ((0, xF86XK_AudioMute), spawn "amixer set Master toggle")
, ((0, xF86XK_AudioLowerVolume), spawn "amixer set Master 5%- unmute")
, ((0, xF86XK_AudioRaiseVolume), spawn "amixer set Master 5%+ unmute")
我不再讨厌 window 经理,而是对他们产生了兴趣。我想我应该学习一些基本的编程:)
希望这对其他遇到 XMonad 问题的人有用。
干杯!
我设法自己从头开始设置我的 XMonad 配置 - 但我在设置亮度和媒体控制键时遇到困难 - 而且我没有编程经验或 Haskell 这方面的经验,因此我不知道如何阅读错误消息(我的错,对不起)。当我的问题恢复到更改前的状态时,我没有编译错误。
所以我尝试从其他人的点文件中复制,但我总是遇到编译错误。在这里,我复制了 Derrek Taylor 的 XMonad 配置,特别是与问题相关的部分。所以我复制了:
-- Multimedia Keys
, ("<XF86AudioPlay>", spawn (myTerminal ++ "mocp --play"))
, ("<XF86AudioPrev>", spawn (myTerminal ++ "mocp --previous"))
, ("<XF86AudioNext>", spawn (myTerminal ++ "mocp --next"))
, ("<XF86AudioMute>", spawn "amixer set Master toggle")
, ("<XF86AudioLowerVolume>", spawn "amixer set Master 5%- unmute")
, ("<XF86AudioRaiseVolume>", spawn "amixer set Master 5%+ unmute")
, ("<XF86HomePage>", spawn "firefox")
, ("<XF86Search>", safeSpawn "firefox" ["https://www.duckduckgo.com/"])
, ("<XF86Mail>", runOrRaise "thunderbird" (resource =? "thunderbird"))
, ("<XF86Calculator>", runOrRaise "qalculate-gtk" (resource =? "qalculate-gtk"))
, ("<XF86Eject>", spawn "toggleeject")
, ("<Print>", spawn "scrotd 0")
]
来自他位于 this link.
的点文件我在编译时收到以下错误(很抱歉没有粘贴文本本身,因为我尝试过的键盘组合没有用):
The error message
就导入而言,我有以下内容:
import XMonad
11 import Data.Monoid
12 import System.Exit
13 import XMonad.Util.SpawnOnce
14 import XMonad.Util.Run
15 import XMonad.Hooks.ManageDocks
16 import qualified XMonad.StackSet as W
17 import qualified Data.Map as M
18 import XMonad.Hooks.DynamicLog
19 import XMonad.Hooks.ManageHelpers
20 import XMonad.Hooks.UrgencyHook
21 import XMonad.Util.WorkspaceCompare
22 import XMonad.Util.EZConfig
23 import Graphics.X11.ExtraTypes
24 import XMonad.Hooks.EwmhDesktops
你能帮帮我吗?亮度和媒体控制键,以及后来 XMobar 上的电池小部件(如果我自己不明白的话,将放在另一个 post 上)是我的笔记本电脑 100% 准备就绪之前需要做的最后一件事.到目前为止,我真的很享受这段旅程,我学到了很多东西,所以如果你不仅帮助我解决问题而且向像我这样的菜鸟解释它,我会很高兴。
提前致谢!
好的,看来我不小心解决了我自己的问题,但以最不寻常的方式:
我转到 this site 因为我正在搜索如何控制亮度。从字面上看,只是去 Duck Duck Go 并输入“如何控制亮度 XMonad”或其他内容。安装了 Lux,程序来完成它。出于某种原因,在尝试 XBrightness 后它没有注册我的屏幕,或者发现了一些与此讨论无关的其他错误消息,所以我只是坚持使用 Lux。
然而,虽然一般语法看起来不错,但我现在注意到我在上面给 link 的 DT 配置对 XF 键有不同的名称。好吧,我在写这篇文章时才发现,我遇到问题的原因是 EZ 键盘映射配置——DT 在使用它,而我似乎没有。然而,这种认识是在完成第 3 步之后才实现的。
3.I 拍摄于 Luke Smith's DWM fork which I used for a while before switching to XMonad。原来键映射名称不同,我尝试了它们。然后注意到 XF86AudioLowerVolume
中的 X 被大写,而在第 1 步中的 , ((0, xF86XK_MonBrightnessUp), spawn "lux -a 10%")
之类的东西中则不是。由于此时 Lux 工作,我只是玩游戏以确保两种情况下的语法相同。最后我还发现 Luke 的 dwm 分支保存了键的确切名称,包括小写字母,所以我只是坚持复制语法并更改适当的键绑定。
几条 XMonad 编译错误消息后一切正常!
现在我的控件如下所示:
, ((0, xF86XK_MonBrightnessUp), spawn "lux -a 10%")
, ((0, xF86XK_MonBrightnessDown), spawn "lux -s 10%")
, ((0, xF86XK_AudioMute), spawn "amixer set Master toggle")
, ((0, xF86XK_AudioLowerVolume), spawn "amixer set Master 5%- unmute")
, ((0, xF86XK_AudioRaiseVolume), spawn "amixer set Master 5%+ unmute")
我不再讨厌 window 经理,而是对他们产生了兴趣。我想我应该学习一些基本的编程:)
希望这对其他遇到 XMonad 问题的人有用。
干杯!