2

Среда: Red Hat Enterprise Linux, язык C, Eclipse IDE для разработчиков на C/C++

Вопрос: я программирую репетитора, который работает на терминале GNOME, я хочу максимизировать терминал при запуске программы (на GNOME). Как я могу это понять, есть ли у кого-нибудь предложения или какие-либо возможные подсказки.

4 ответа4

3

Вы можете использовать wmctrl, чтобы получить текущий идентификатор окна, используйте переменную среды $WINDOWID , чтобы получить текущую геометрию окна, используйте xwinfo -id $WINDOWID

поэтому после чего-то вроде sudo aptitude install wmctrl :

  • wmctrl -i -r $WINDOWID -b toggle,fullscreen режим
  • wmctrl -i -r $WINDOWID -b add,fullscreen режим #force fullscreen
  • wmctrl -i -r $WINDOWID -b remove,fullscreen полный экран #force удалить полный экран

Также у wmctrl есть собственный способ обработки текущего окна:

wmctrl -r :ACTIVE: -b toggle,fullscreen
2
$ gnome-terminal --maximize

Следует сделать.

Взгляни на

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

и т.д., чтобы увидеть, что еще вы можете сделать.


Итак , вы хотите , чтобы запустить приложение в развернутом терминале GNOME? Самый простой способ - это запустить приложение отдельно от самого кода.

Напишите оболочку шеллскрипта, которая запускает gnome-terminal --maximize -x my_typing_tutorial . Затем установите ярлык (или любой другой) для запуска этого сценария, а не двоичного файла.

Обратите внимание, что это дает вам возможность определить, не установлен ли gnome-терминал, и вместо этого попробовать запустить konsole или xterm. Это также означает, что пользователь может редактировать стартовый скрипт, если он не работает в их системе, без необходимости повторной компиляции вашего двоичного файла.

Обратите внимание, что я не обращаюсь к вопросу о том, как максимизировать существующий терминал - если бы я был пользователем, я бы ненавидел программу, которая испортила мою геометрию окна без вопросов.

0

Вы можете создать панель запуска под названием "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
0

Вы можете использовать утилиту 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;

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .