从命令行调用 emacs 时它是否可以出现在桌面区域的右侧?

从命令行调用 emacs 时它是否可以出现在桌面区域的右侧?

我的标准编程模式是在桌面左侧打开 bash shell,在右侧打开 emacs。但是,当我在 shell 中输入 emacs“文件名”时,它默认出现在左侧。我能改变这种情况吗?谢谢!

答案1

这样做非常简单(即使默认情况下它应该在右侧):您需要做的就是--geometry在启动文件时尝试使用该选项。除了指定窗口的大小外emacs,您还可以指定偏移量来确定窗口位置。它解释得很好在官方网站

在“--geometry”选项中,{+-} 表示加号或减号。xoffset 前的加号表示距离屏幕左侧的距离;减号表示从右侧开始计算。yoffset 前的加号表示距离屏幕顶部的距离,减号表示距离底部的距离。

因此,如果我们想在右上角启动 emacs,我们可以运行:

emacs file.txt --geometry '-3+3'

其他选项如左下角等等'+3-3'

.bashrc如果您希望它每次都像这样启动,您可以将上面这行作为别名放入其中:

alias emacs='emacs --geometry '-3+3''

添加别名后,您必须运行. .bashrc.bashrc或重新启动终端才能使其生效。

(您可以随时启动emacscommand emacs以正常运行,并且别名将被忽略。)

答案2

各种程序都尊重或不尊重 -geometry 标志。Mik 的解决方案对我来说不起作用,尽管您的情况可能有所不同。如果它对您不起作用,您可以安装 devilspie 包。然后创建一个目录并创建一个包含以下内容的~/.devilspie文件:~/.devilspie/emacs.ds

( if
  ( matches ( application_name ) "emacs" )
  ( begin    
    ( focus )
    (geometry "755x970+840+0")
  )
)

当然,您必须将这些数字编辑(geometry "755x970+840+0")为适合您的显示器分辨率的数字。

最后,转到Applications>Other>Startup Applications并添加devilspie启动时运行的程序。

尽管这增加了额外的依赖性,但它允许您拥有一个统一的系统来控制所有应用程序的放置(例如 gnome-terminal、firefox 等),而不必学习/应对每个应用程序的几何或配置怪癖。devilspie也可以与各种窗口管理器配合使用。

相关内容