The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Как при помощи одного единственного скрипта и запустить термина"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на рабочей станции (Консоль / Linux)
Изначальное сообщение [ Отслеживать ]

"Как при помощи одного единственного скрипта и запустить термина"  +/
Сообщение от ITicDigger (ok), 13-Фев-20, 13:50 
Пользуюсь своими скриптами для повседневных нужд и некоторые удобно запускать в заданном размере окна, для этого приходится пользоваться таким вот корявым решением: писать второй скрипт-лаунчер, который откроет терминал, задаст размер окна и укажет какой скрипт в нём выполнить в итоге на один скрипт уходит 2 файла. Муторно и некрасиво. Можно как-то это всё в одном скрипте писать, чтобы он и терминал открывал и скрипт в себе содержал. Но важно чтобы читабельность скрипта не страдала и не приходилось всё это в одну строчку писать, или там все кавычки экранировать.

Пользуюсь терминалом xfce4-terminal. Если потребуется перейти на другой - перейду.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Как при помощи одного единственного скрипта и запустить термина"  +/
Сообщение от Аноним84701 (ok), 13-Фев-20, 16:40 
> Можно как-то это всё в одном скрипте писать, чтобы он и терминал открывал и скрипт в себе содержал.


echo -e "\033]2;Уникальное имя\007" # меняем заголовок окна
wmctrl -r "Уникальное имя" -e 0,xpos,ypos,width,height # меняем размер/позицию
# (-1 == оставить "как есть", т.е.  -e 0,-1,-1,50,-1 изменит только ширину)
# или
xdotool search --name "имя" windowsize %@ 100 100

Ответить | Правка | Наверх | Cообщить модератору

2. "Как при помощи одного единственного скрипта и запустить термина"  +/
Сообщение от Аноним (2), 13-Фев-20, 19:33 
Размер окна rxvt-unicode можно поменять так:
printf '\033[8;25;80t'
, где 25 — кол-во строк, 80 — кол-во столбцов.

Там ещё много всего полезного, man 7 urxvt.

Ответить | Правка | Наверх | Cообщить модератору

3. "Как при помощи одного единственного скрипта и запустить термина"  +/
Сообщение от Аноним84701 (ok), 13-Фев-20, 20:09 
> Размер окна rxvt-unicode можно поменять так:
> printf '\033[8;25;80t'
> , где 25 — кол-во строк, 80 — кол-во столбцов.

Можно, но не везде (st, konsole - не хотят ;)).
А вообще, после повторного прочтения, сдается мне, что ТСу нужно решение (типа "sentinel") для запуска самого скрипта в отдельном/новом окне терминала, а не изменение размеров текущего окна.

Ответить | Правка | Наверх | Cообщить модератору

4. "Как при помощи одного единственного скрипта и запустить термина"  +/
Сообщение от ITicDigger (ok), 14-Фев-20, 11:15 
> А вообще, после повторного прочтения, сдается мне, что ТСу нужно решение (типа
> "sentinel") для запуска самого скрипта в отдельном/новом окне терминала, а не
> изменение размеров текущего окна.

Нет нет, зменение текущего окна вполне годится.

Ответить | Правка | Наверх | Cообщить модератору

6. "Как при помощи одного единственного скрипта и запустить термина"  +/
Сообщение от ITicDigger (ok), 14-Фев-20, 11:34 
> Размер окна rxvt-unicode можно поменять так:
> printf '\033[8;25;80t'
> , где 25 — кол-во строк, 80 — кол-во столбцов.
> Там ещё много всего полезного, man 7 urxvt.

нет мана по urxvt
Но вообще это вроде то что надо, спасибо.
А как ещё позицию задать таким методом? ато чёт гуглится всё нето. Что это вообще за технология, по каким ключевым словам по ней хелп в нете искать?

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

7. "Как при помощи одного единственного скрипта и запустить термина"  +/
Сообщение от Аноним (2), 14-Фев-20, 20:37 
> нет мана по urxvt

Так его надо установить, не пробовали?

> А как ещё позицию задать таким методом?

В том же разделе мана:
           Ps = 3      ESC [ 3 ; X ; Y t Move window to (X|Y)
           Ps = 4      ESC [ 4 ; H ; W t Resize to WxH pixels

> Что это вообще за технология, по каким ключевым словам по ней
> хелп в нете искать?

Escape sequences, у каждого терминала они могут быть свои.

Ответить | Правка | Наверх | Cообщить модератору

5. "Как при помощи одного единственного скрипта и запустить термина"  +/
Сообщение от ITicDigger (ok), 14-Фев-20, 11:19 
> echo -e "\033]2;Уникальное имя\007" # меняем заголовок окна
> wmctrl -r "Уникальное имя" -e 0,xpos,ypos,width,height # меняем размер/позицию
> # (-1 == оставить "как есть", т.е.  -e 0,-1,-1,50,-1 изменит только
> ширину)

Блин и всё бы классно, но вот проблема, для второго запущенного окна с таким же именем этот трюк уже не сработает. Придётся в каждом скрипте городить какой то механизм для генерации уникального элемента имени окна. Ещё есть один значительный минус - размеры окна приходится вводить в формате координат пикселей экрана, а не в размерах строк и столбцов терминала. Просто Эти размеры - фиг его знает откуда брать, а размер в строках и столбцах узнаётся на раз-два - ПКМ по заголовку окна, изменить размер - и вот они.
> # или
> xdotool search --name "имя" windowsize %@ 100 100

а тут не пойму как имя текущего окна получить

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру