Создание ярлыков для запуска приложений условно

Я задавался вопросом, возможно ли создать сочетание клавиш для запуска приложения, если это еще не работает в Ubuntu?

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

5
задан 21 June 2011 в 13:54

2 ответа

  1. Сохраните следующий сценарий к своей домашней папке как launch_chrome.py:

    #!/usr/bin/env python
    
    import subprocess
    import wnck
    import gtk
    import time
    
    
    screen = wnck.screen_get_default()
    while gtk.events_pending():
        gtk.main_iteration()
    
    window_list = screen.get_windows_stacked()
    
    last_active = None
    for window in window_list:
        if window.get_application().get_name() == "Google Chrome":
            last_active = window
    
    if last_active:
    
        timestamp = int(time.time())
        last_active.activate(timestamp)
    
    else:
    
        subprocess.Popen("google-chrome")
    
  2. Сделайте исполняемый файл сценария:

    chmod +x ~/launch_chrome.py
    
  3. Используйте команду /home/<YOURUSERNAME>/launch_chrome.py при добавлении ярлыка.

Когда этот ярлык будет активирован, он будет также:

  1. Запустите новое окно Chrome, если нет никого уже выполнения или,
  2. подчеркните последний раз используемое окно Chrome.
4
ответ дан 23 November 2019 в 09:09

В Ubuntu существует названный пакет run-one это близко к тому, что Вы спрашиваете.

Я сообщаю об описании:

 This utility will run just one instance at a time of some command and
 unique set of arguments (useful for cronjobs, eg).

Относительно сочетания клавиш посмотрите здесь, Как использовать ярлык горячей клавиши для выполнения средства запуска?.

Относительно, "если существует тот уже, работающий, просто активируйте окно", я не знаю. Не все приложения имеют окно, у них могут быть нуль или больше чем одно окно. И даже в случае единственного окна, я не знаю о простом способе отобразить процесс на его окно.

3
ответ дан 23 November 2019 в 09:09

Другие вопросы по тегам:

Похожие вопросы: