Давно хотел поправить Transmission remote GUI на предмет интеграции с системой всплывающих сообщений Linux
Дело в том, что в Transmission remote GUI используется свой встроенный класс для показа всплывающих сообщений, поэтому он выглядит неродным для всех линуксов.
Как то раз делал такой patch, но не сохранил его. И очередное обновление снесло его нахрен.
Вот решил задокументировать. Может еще кому пригодится. Да к тому же оказывается есть форк, который активно так пилится
Transmission remote GUI 5.16
Так выглядит оригинальное сообщение о завершении закачки torrent-а.
Что получится после модификации.
Для интергации нужно внести мимнимум изменений в файл main.pas
--- main.pas.org 2019-03-24 12:04:25.171065996 +0300
+++ main.pas 2019-03-24 12:14:30.712525851 +0300
@@ -2875,12 +2875,23 @@
end;
procedure TMainForm.DownloadFinished(const TorrentName: string);
+Var
+ RunProgram: TProcess;
+ message: String;
begin
{$ifndef CPUARM}
+{$ifdef linux}
+ message:=Format(sFinishedDownload, [TorrentName]);
+ RunProgram := TProcess.Create(nil);
+ RunProgram.CommandLine := Concat('/usr/bin/notify-send',' "', message, '" ', ' -i "/usr/share/icons/hicolor/256x256/apps/transmission.png"');
+ RunProgram.Execute;
+ RunProgram.Free;
+{$else}
if not TrayIcon.Visible or not Ini.ReadBool('Interface', 'TrayNotify', True) then exit;
TrayIcon.BalloonHint:=Format(sFinishedDownload, [TorrentName]);
TrayIcon.BalloonTitle:=sDownloadComplete;
TrayIcon.ShowBalloonHint;
+{$endif linux}
{$endif CPUARM}
end;
После внесения изменений собрать пакет и получить исполняемый файл.
Если собирать лень, то можно скачать
appimage и положить его в каталог
/usr/bin/ заменив transgui предыдущей версии.
Как указано выше, я сейчас пользую Linux Mint. Но все это должно работать без перекомпиляции во всех линуксах, в которых используется команда
notify-send.
И на закуску последняя версия
Transmission 2.94 для Thecus N4800Eco
На этом все.
Как найду время, то напишу пост про настройку роутера с
ddWrt для работы с
NordVPN.