记住xmonad工作区布局



使用XMonad.Layout。PerWorkspace,您可以为每个工作空间设置独立的布局,并为您的应用程序调整它们。但是,我希望一些工作区能够跟踪我的设置。例如,如果我在工作空间2上使用Tall布局点击Mod-h,我希望工作空间2上的Tall布局在下次启动(或重启X)时也有一个稍微小一点的主窗格。

这是一个经常需要的功能,但我找不到解决方案。

理想情况下,我们将存储在一些~/.xmonad/persistentLayouts/workspace*/layout*.conf文件中,如果需要,您可以手动删除/编辑这些文件。但那只是额外的奖励。

如果它不存在,我可以自己实现它,但是我的文件I/O haskell有点新手,所以也许有人可以提供一些指针。

xmonad已经在可执行重启(例如mod+q和类似的)中保留了它的状态,所以为什么不窃取这种机制呢?我认为它只使用读取和显示,所以你不需要特别强的IO技能;readFilewriteFile应该是足够的。您可以从xmonad本身窃取一些代码。序列化代码来自重启,反序列化代码来自xmonad。您将需要稍微修改它—您不想保留窗口ID信息,因为它将被新的X会话无效—但是其中的大部分可能可以全部使用。

最新更新