LINUX.ORG.RU

Двойной запуск приложений в KDE

 , ,


0

3

Доброго времени суток! Возникла вот такая проблема что ли...

Я использую Kubuntu 14.10 (версия KDElibs 4.14.2, ядро 3.16.0-31 - generic). И что за вопрос - когда я запускаю приложение, которое уже запущено, то на панели появляется значок, что мол приложение пытается запуститься, но оно не открывается. Мол, вторая копия и все дела.

Как сделать так, чтобы приложение даже и не пыталось запуститься второй раз? Чтобы если уже одна копия этого приложения запущена, то повторный запуск приложения не имел никакого действия(а в идеале переключал фокус на это приложение как в Windows).

Кто-нибудь знает, как это сделать?

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

ilovewindows ★★★★★ ()
Ответ на: комментарий от ilovewindows

а есть какой-нибудь дефолтный способ так сделать, кроме как скриптом? Ну там не знаю.. флаг запуска прописать или ещё что-нибудь.

Да и скрипт как такой написать, я не знаю :(

zamazan4ik ★★ ()

Запускаешь приложение, правой кнопкой на таскбаре на него, «Show a launcher when not running».

Kroz ★★★★★ ()
Ответ на: комментарий от Kroz

активировал, но при запуске приложения работает всё также

zamazan4ik ★★ ()

Чтобы если уже одна копия этого приложения запущена, то повторный запуск приложения не имел никакого действия

Оно и так никаких действий не делает, только запускает отрисовку анимации около курсора и иконку на панели кажет. Если тебя это так беспокоит - то в настройках есть возможность это дело отключить. ЕМНИП, «Действия» - «Отклик приложений».

Valkeru ★★★★ ()
Последнее исправление: Valkeru (всего исправлений: 1)
Ответ на: комментарий от zamazan4ik

активировал, но при запуске приложения работает всё также

Что работает так же?

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

И детальней выражайся, пожалуйста.

Kroz ★★★★★ ()
Ответ на: комментарий от Valkeru

Да, спасибо. Это помогло. Но возник тогда ещё один вопрос - можно ли сохраняя эту индикацию, добиться того, чтобы повторный запуск я не видел (то есть если я приложение первую копию запускаю, то пусть там курсор этот прыгает и в панели задач появляется, а если вторую и послудющие копии, то ничего уже появлятся не будет). И можно ли сделать так, чтобы при запуске второй копии приложения оно не запускалось, а просто фокусировалось на первой копии?

zamazan4ik ★★ ()
Ответ на: комментарий от Kroz

Прошу прощения. После того, как я поставил галочку на пункте «Показывать ярлык для запуска когда оно не запущено» и запустил вторую копию приложения, то у меня так же стал прыгать этот курсор и в таскбаре появилось пытающееся запуститься приложение

zamazan4ik ★★ ()
Ответ на: комментарий от zamazan4ik

Человек просто написал сообщение ради сообщения, не вдаваясь в проблему. Теперь у тебя просто будет отображаться иконка, когда приложение не запущено.
По факту - в настройках должно быть «позволить только одну копию», или поройся в гуглоящике, там по любому есть простецкий пример на баше

if %app% already running: set focus

anonymous ()
Ответ на: комментарий от Kroz

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

Ляхко. Кликом колесом по значку приложения. Или по иконке в меню. А вообще ТС делает проблему из ничего

Valkeru ★★★★ ()
Ответ на: комментарий от Kroz

Может мы друг друга недопоняли немного... Я хочу, чтобы при запуске второй копии приложения не было никакого видимого эффекта того, что оно запускается. А ещё лучше, если при попытке открытия второй копии приложения оно не просто не будет запускаться, а будет фокусироваться на первой копии

zamazan4ik ★★ ()
Ответ на: комментарий от zamazan4ik

И можно ли сделать так, чтобы при запуске второй копии приложения оно не запускалось, а просто фокусировалось на первой копии?

Тебе уже сказали, что это поведение самого приложения, а не работа ОС. Тот же Ktorrent именно так и делает, например.

можно ли сохраняя эту индикацию, добиться того, чтобы повторный запуск я не видел (то есть если я приложение первую копию запускаю, то пусть там курсор этот прыгает и в панели задач появляется

Нет.

Valkeru ★★★★ ()
Ответ на: комментарий от Valkeru

Быть может Вы и правы, не буду спорить. Но каждый же сам затачивает кеды под себя. Вот и я пытаюсь сделать это :)

zamazan4ik ★★ ()
Ответ на: комментарий от zamazan4ik

В данном случае это будет тяжёлое костылестроение :)

Valkeru ★★★★ ()
Ответ на: комментарий от Valkeru

понял-понял я:) а как можно заставить приложение, которое ну не умеет так делать само, не написали ему так, работать именно таким образом, как я написал выше?

zamazan4ik ★★ ()
Ответ на: комментарий от Valkeru

ну, если без костылей никак, то можно и покостылить чуть-чуть :) почему бы и нет?:)

zamazan4ik ★★ ()
Ответ на: комментарий от zamazan4ik

а как можно заставить приложение, которое ну не умеет так делать само, не написали ему так, работать именно таким образом, как я написал выше?

Можно скриптом.
Притом тут 3 варианта:
1. сделать его код конкретное приложение. Минус - нужно править шорткат для KDE
2. сделать универсальный лаунчер для всех програм, отдельно конфиг, указывающий какие именно программы должны быть в единственном экземпляре. Более красивое решение, имеет смысл только если таких программ много
3. то же, что и 1, только вместо правки шорткатов KDE, подменяем запускаемый файл. Как по мне, самое хорошее решение.

Kroz ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.