XMonad中doRectFloat结合RationalRect调用编译错误解决方法
XMonad窗口移至中心并设置大小的按键绑定方案
解决RationalRect不在作用域的编译错误
这个错误是因为未导入定义RationalRect类型的模块,直接在XMonad配置文件(一般为~/.xmonad/xmonad.hs)顶部添加如下导入语句:
import XMonad.Util.Types (RationalRect)
正确的按键绑定写法
在配置文件的keys函数中添加如下快捷键绑定(示例用Mod + m,可根据习惯修改按键):
, ((modMask x, xK_m), withFocused $ \win -> do float win -- 将平铺窗口转为浮动状态,这一步是必要前提 -- 设置窗口居中,宽高各占屏幕一半 doRectFloat win $ RationalRect (1/4) (1/4) (1/2) (1/2) )
参数说明
RationalRect的四个参数均为屏幕占比数值,含义依次是:
- 第一个值:窗口左上角的水平偏移(
1/4表示从屏幕左侧1/4宽度位置开始) - 第二个值:窗口左上角的垂直偏移(
1/4表示从屏幕顶部1/4高度位置开始) - 第三个值:窗口宽度占屏幕总宽度的比例(
1/2即宽度为屏幕的一半) - 第四个值:窗口高度占屏幕总高度的比例(
1/2即高度为屏幕的一半)
如果需要自定义窗口大小,直接调整这四个数值即可,比如要更小的中心窗口,可改为RationalRect (1/3) (1/3) (1/3) (1/3)。
生效方式
保存配置文件后,按下Mod + q重启XMonad,新快捷键即可正常使用。
内容的提问来源于stack exchange,提问作者Nellinux
相关产品推荐
相关产品推荐

