如何在 Linux 上最大化 GNOME 终端

如何在 Linux 上最大化 GNOME 终端

环境:Red Hat Enterprise Linux、C 语言、适用于 C/C++ 开发人员的 Eclipse IDE

问题:我正在编写一个在 GNOME 终端上运行的打字教程,我想在运行该程序时最大化终端(在 GNOME 上)。我该如何实现它,有人有什么建议或任何可能的线索吗?

答案1

$ gnome-terminal --maximize

应该做。

看一眼

$ gnome-terminal --help
$ gnome-terminal --help-window-options

等等,看看您还可以做什么。


所以你想运行你的应用程序里面最大化的 GNOME 终端?最简单的方法是将应用程序的启动与代码本身分开。

编写一个运行的 shellscript 包装器gnome-terminal --maximize -x my_typing_tutorial。然后设置快捷方式(或其他)来运行此脚本,而不是二进制文件。

注意,这让您有机会检测 gnome-terminal 是否未安装,并尝试启动 konsole 或 xterm。这还意味着,如果启动脚本在其系统上不起作用,用户可以编辑启动脚本,而无需重新编译您的二进制文件。

请注意,我并没有解决如何最大化现有终端的问题 - 如果我是用户,我会讨厌一个未经询问就弄乱我的窗口几何形状的程序。

答案2

您可以使用 wmctrl 来获取当前窗口 id,使用$WINDOWID环境变量来获取当前窗口几何形状xwinfo -id $WINDOWID

因此在类似的事情之后sudo aptitude install wmctrl

  • wmctrl -i -r $WINDOWID -b toggle,fullscreen#切换全屏
  • wmctrl -i -r $WINDOWID -b add,fullscreen#强制全屏
  • wmctrl -i -r $WINDOWID -b remove,fullscreen#force 移除全屏

wmctrl 也有自己的方式来处理当前窗口:

wmctrl -r :ACTIVE: -b toggle,fullscreen

答案3

您可以为桌面创建一个名为“Gnome Terminal Maximized”的启动器,然后双击它。操作方法如下:

cat /usr/share/applications/gnome-terminal.desktop|sed 's/gnome-terminal/gnome-terminal --maximize/;s/Name=Terminal/& Maximized/' > ~/Desktop/gnome-terminal-maximized.desktop

答案4

您可以使用 xdotool 实用程序。

您可以运行 xdotool 代码,该代码会自动将鼠标移动到活动窗口的左上角,双击并移回,只需几分之一秒。代码如下:

#get the active windows id.
active_window_id=$(xdotool getactivewindow)
#get current x and y mouse locations.
cx=$(xdotool getmouselocation --shell | grep X | sed s/X=//gi);
cy=$(xdotool getmouselocation --shell | grep Y | sed s/Y=//gi);

#move to upper left corner of current window.
xdotool mousemove --window ${active_window_id} 50 -10;
#double click.
xdotool click 1;
xdotool click 1;
#move back to original location with the mouse.
xdotool mousemove ${cx} ${cy};

然后,您可以将此代码放入 start_script 中,然后通过将以下内容放入 ~/.bashrc 中来运行该文件:

start(){
    /path/your_start_script
    }

当您运行此启动命令时,终端将最大化。您还可以插入您希望在启动终端时发生的任何其他命令。

您可以使用以下命令安装 xdotool:
sudo apt-install xdotool;

相关内容