New user registration is currently disabled due to spam abuse / Регистрация новых пользователей в настоящее время приостановлена из-за злоупотреблений спаммерами

Проверка "запущен ли словарь"

Обо всём по программе

Проверка "запущен ли словарь"

Postby unera » Mon Nov 30, 2009 9:23 am

можно ли сделать так, чтобы эта проверка учитывала бы X-сессию?

если например у меня запущено двое X'ов (:1 и :0) и я хочу на :1 запустить GD, но он уже запущен на :0, то GD мне отказывает в этом
unera
 
Posts: 144
Joined: Wed Jun 03, 2009 6:55 pm

Re: Проверка "запущен ли словарь"

Postby ikm » Mon Nov 30, 2009 12:49 pm

Можно-то можно -- весь вопрос в том, как это лучше сделать.
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Re: Проверка "запущен ли словарь"

Postby unera » Mon Nov 30, 2009 1:19 pm

ikm wrote:Можно-то можно -- весь вопрос в том, как это лучше сделать.

а сейчас как сделано?

можно открывать сокет вида:

~/.goldendict/socket.$DISPLAY

и к нему коннектиться, то есть если этот сокет открыт, туда пихаем команду "открыть главное окно" и повторный запуск откроет главное окно, а если не открыт, то открываем его и становимся сервером, который слушает этот сокет как сервер.

ну а со временем можно будет на этот сокет навесить функционала вида "а переведи ка мне слово" и из скриптов окошки с переводами открывать :)
unera
 
Posts: 144
Joined: Wed Jun 03, 2009 6:55 pm

Re: Проверка "запущен ли словарь"

Postby ikm » Mon Nov 30, 2009 1:31 pm

Звучит неплохо. Если сообразишь патч, будет вообще отлично -- мне сейчас некогда gd заниматься.
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Re: Проверка "запущен ли словарь"

Postby ikm » Mon Nov 30, 2009 1:52 pm

Кстати, в Qt есть QLocalServer/QLocalSocket для этих вещей. Так можно сделать кроссплатформенно. В unix в качестве имени сервера следует указывать полный путь к сокету (в виндах можно просто имя без пути).
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Re: Проверка "запущен ли словарь"

Postby unera » Mon Nov 30, 2009 2:02 pm

ikm wrote:Кстати, в Qt есть QLocalServer/QLocalSocket для этих вещей. Так можно сделать кроссплатформенно. В unix в качестве имени сервера следует указывать полный путь к сокету (в виндах можно просто имя без пути).

в вендах можно вообще не делать :)
unera
 
Posts: 144
Joined: Wed Jun 03, 2009 6:55 pm

Re: Проверка "запущен ли словарь"

Postby ikm » Mon Nov 30, 2009 2:14 pm

Ну почему, механизм-то один и тот же везде. Тем более, что разница между виндами и unix будет заключаться в одной строке (вместо $HOME/.goldendict/socket.$DISPLAY будет GoldenDict-$USER) :)
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Re: Проверка "запущен ли словарь"

Postby unera » Mon Nov 30, 2009 5:55 pm

ikm wrote:Ну почему, механизм-то один и тот же везде. Тем более, что разница между виндами и unix будет заключаться в одной строке (вместо $HOME/.goldendict/socket.$DISPLAY будет GoldenDict-$USER) :)

венда разве умеет сокеты на файлах открывать?
unera
 
Posts: 144
Joined: Wed Jun 03, 2009 6:55 pm

Re: Проверка "запущен ли словарь"

Postby ikm » Mon Nov 30, 2009 6:12 pm

Нет, там виндовые named pipe используются.
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am


Return to Общий

Who is online

Users browsing this forum: No registered users and 20 guests

cron