Плагин Growl для xStarter

В этом разделе размещены плагины и дополнительные утилиты.
Ответить
user7011
Пассажир
Сообщения: 7
Зарегистрирован: Вт ноя 28, 2017 12:39 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Плагин Growl для xStarter

Сообщение user7011 » Ср ноя 29, 2017 1:06 pm

Кто-нибудь может написать такой плагин, чтобы можно было одной командой выводить уведомление из Growl (типа xPopup.exe, только красочнее).
Т.е. нужно сделать плагин, который бы заменял три команды в одной задаче одной командой (см. приложенный файл задачи).
Последовательность такова:
1.Перекодировать Текст1 из кодировки CP1251 в UTF-8 (это заголовок уведомления)
2.Перекодировать Текст2 из кодировки CP1251 в UTF-8 (это текстуведомления)
3.Сообщение через TCP/IP на адрес 127.0.0.1 и порт 23053 с текстом сообщения:
GNTP/1.0 NOTIFY NONE
Application-Name: growlnotify
Notification-Name: General Notification
Notification-Icon: file:///E:\icons\printer.png
Notification-Title: [BetweenCharsets1.Text]
Notification-Text: [BetweenCharsets2.Text]
Notification-Priority: 2
Notification-Sticky: False


Обязательно 2 пустые строки внизу текста сообщения.
В плагине адреса 127.0.0.1 и порт 23053 пусть будут по умолчанию стоять. Задаются пользователем параметры:
Текст1
Текст2
Application-Name
Notification-Name
Notification-Icon (Путь к файлу с file:///)
Notification-Priority (Возможные значения: -2, -1, 0, 1, 2)
Notification-Sticky (Возможные значения: False, True)

Написал бы сам, да слишком сложно для моего уровня. Спасибо заранее!

user7011
Пассажир
Сообщения: 7
Зарегистрирован: Вт ноя 28, 2017 12:39 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Плагин Growl для xStarter

Сообщение user7011 » Пт дек 22, 2017 8:37 am

Наваял сам методом сборки, вроде работает. Может кому пригодится (делайте с ним, что хотите). Если что, хорошо знаю только Basic спектрумовский, так что возможны ошибки.
Upd. Добавил возможность добавления ссылки URL или пути к файлу/программе, которые открываются/запускаются при нажатии на сообщение Growl.
Growl_for_xstarter.zip
(90.26 КБ) 424 скачивания
Изображение
Последний раз редактировалось user7011 Вт фев 13, 2018 12:55 pm, всего редактировалось 4 раза.

user7011
Пассажир
Сообщения: 7
Зарегистрирован: Вт ноя 28, 2017 12:39 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Плагин Growl для xStarter

Сообщение user7011 » Вс дек 31, 2017 10:06 pm

чуток поправил (в exe варианте не работало залипание, хотя в виде задачи нормально залипало). Текст в поле Run script (изменение в строке с if Rec.Sticky then):

function RunGrowl(Rec: TGrowlRec): TGrowlResult;
var FSock: TTCPBlockSocket;
sticky: string;
levl: string;
s: string;
t: string;
title: string;
converted: string;
begin
Result.Success:=False;
sticky:= 'False';
FSock:= TTCPBlockSocket.Create;
try
if Rec.Sticky then
sticky:= 'True';
FSock.CloseSocket;
FSock.LineBuffer := '';
FSock.Bind('0.0.0.0', '0');
if FSock.LastError = 0 then
begin
FSock.Connect(Rec.TcpIpHost, Rec.Port);
if Rec.Lvl = 0 then
levl:= '0';
if Rec.Lvl = 1 then
levl:= '1';
if Rec.Lvl = 2 then
levl:= '2';
if Rec.Lvl = -2 then
levl:= '-2';
if Rec.Lvl = -1 then
levl:= '-1';

if Rec.ToXs then
FSock.SendString(Rec.Mess+'<--XSTARTERSTRTERMINATOR-->')
else


s:= Rec.MessageText;
converted:=CharsetConversion( s, GetCPFromID('CP1251'), GetCPFromID('UTF-8') );
t:= Rec.MessageTitle;
title:=CharsetConversion( t, GetCPFromID('CP1251'), GetCPFromID('UTF-8') );

FSock.SendString('GNTP/1.0 NOTIFY NONE' +#13#10 + 'Application-Name: ' + Rec.AppName +#13#10 + 'Notification-Name: ' + Rec.NotName + #13#10 + 'Notification-Icon: ' + Rec.Icon + #13#10 + 'Notification-Title: ' + title + #13#10 + 'Notification-Text: ' + converted + #13#10 + 'Notification-Priority: ' + levl + #13#10 + 'Notification-Sticky: ' + sticky + #13#10 + #13#10);

Result.Success:=True;
end
else
begin
WriteLog('MessageViaTCPIP', 'Error = '+IntToStr(FSock.LastError)+', '+FSock.LastErrorDesc);
end;
finally
FSock.Free;
end;
end;
За это сообщение автора user7011 поблагодарил:
Pavel (Чт янв 04, 2018 12:03 pm)
Рейтинг: 33.33%

user7011
Пассажир
Сообщения: 7
Зарегистрирован: Вт ноя 28, 2017 12:39 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Плагин Growl для xStarter

Сообщение user7011 » Вт фев 13, 2018 12:56 pm

Плагин обновлен

Ответить

Вернуться в «Плагины и программы-дополнения»