You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 17:55:27