Я пытался использовать Docky, затем я удалил его и после того, как тот мой браузер (Хром) не может быть открыт в максимальной высоте, каждый раз, когда я должен максимизировать его сам. (Рабочий стол XFCE)
Запуская приложение с помощью сценария ниже, можно вызвать любое приложение*
запускаться максимизируемый. Если Вы любая замена основная команда в (копия-) Ваш .desktop
файл командой для запущения скрипта (см. далее ниже, как сделать это) или добавляет его как quicklist ярлык, можно достигнуть точно, что Вы хотите.
(*
Некоторые приложения имеют фиксированный, неизменный windowsize, некоторые окна открывают новую вкладку в возможно уже открытом окне),
Сценарий работает с командой:
python3 /path/to/script <application>
Сценарий:
pid
и id
из соответствующего окна) в выводе wmctrl -lp
- команда (в течение только 15 секунд, для предотвращения бесконечного цикла)После того как окно появляется, оно максимизирует окно с командой:
xdotool windowsize <window_id> 100% 100%
Код
#!/usr/bin/env python3
import subprocess
import getpass
import time
import sys
app = sys.argv[1]
user = getpass.getuser()
get = lambda x: subprocess.check_output(x).decode("utf-8")
ws1 = get(["wmctrl", "-lp"]); t = 0
subprocess.Popen(app)
while t < 30:
ws2 = [(w.split()[2], w.split()[0]) for w in get(["wmctrl", "-lp"]).splitlines() if not w in ws1]
procs = sum([[(w[1], p) for p in get(["ps", "-u", user]).splitlines() \
if app[:15].lower() in p.lower() and w[0] in p] for w in ws2], [])
if len(procs) > 0:
subprocess.call(["xdotool", "windowsize", "-sync", procs[0][0] , "100%", "100%"])
break
time.sleep(0.5)
t = t+1
Для сценария нужны оба wmctrl
и xdotool
sudo apt-get install wmctrl xdotool
Скопируйте сценарий выше в пустой файл, сохраните его как run_maximized.py
Теперь отредактируйте Ваш .desktop
файл:
Скопируйте глобальное .desktop
зарегистрируйте локально:
cp /usr/share/applications/chromium-browser.desktop ~/.local/share/applications
откройте файл с gedit:
gedit ~/.local/share/applications/chromium-browser.desktop
Обзор к строке:
Exec=chromium-browser %U
(который является первой строкой, начиная с Exec=
Измените его в:
Exec=python3 /path/to/script.py chromium-browser
где необходимо заменить /path/to/script.py
фактическим путем.
Выйдите из системы и въезжайте задним ходом. С этого времени Ваше средство запуска Хрома откроет максимизируемый Chromium.
откройте файл с gedit:
gedit ~/.local/share/applications/chromium-browser.desktop
Обзор к строке:
Actions=NewWindow;Incognito;TempProfile;
Измените его в:
Actions=NewWindow;Incognito;TempProfile;divider1;Open maximized;
Добавление к самой нижней части файла раздел ниже:
[Desktop Action Open maximized]
Name=Open maximized
Exec=python3 /path/to/script.py chromium-browser
OnlyShowIn=Unity;
[Desktop Action divider1]
Name=.....................................
OnlyShowIn=Unity;
где необходимо заменить /path/to/script.py
фактическим путем.
Выйдите из системы и въезжайте задним ходом. С этого времени Ваше средство запуска Хрома похоже:
В a .desktop
файл, необходимо использовать полные пути; ~
не будет работать, например. Это значит .desktop
файлы в /usr/share/applications
, ~/.local/share/applications
а также команды в Приложениях Запуска (которыми на самом деле называют .desktop
файлы в ~/.config/autostart
).