From b1fc1338835d0f4a5d49ff761c2a0a1c50a8779b Mon Sep 17 00:00:00 2001 From: deepend Date: Fri, 16 Jan 2026 19:34:18 -0700 Subject: [PATCH] associated .hct and .zct files with ZoiteChat for easy Theme importation like there was in the Theme Manager that was removed. --- data/misc/meson.build | 5 +++++ data/misc/net.zoite.Zoitechat.desktop.in.in | 2 +- data/misc/net.zoite.Zoitechat.mime.xml | 11 +++++++++++ osx/Info.plist.in | 16 ++++++++++++++++ win32/installer/zoitechat-arm64.iss | 5 +++++ win32/installer/zoitechat.iss.tt | 5 +++++ 6 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 data/misc/net.zoite.Zoitechat.mime.xml diff --git a/data/misc/meson.build b/data/misc/meson.build index fa337a8f..a4d4ac70 100644 --- a/data/misc/meson.build +++ b/data/misc/meson.build @@ -1,5 +1,6 @@ appdir = join_paths(get_option('datadir'), 'applications') metainfodir = join_paths(get_option('datadir'), 'metainfo') +mimedir = join_paths(get_option('datadir'), 'mime', 'packages') desktop_utils = find_program('desktop-file-validate', required: false) if get_option('gtk-frontend') @@ -42,6 +43,10 @@ if get_option('gtk-frontend') install_dir: appdir ) + install_data('net.zoite.Zoitechat.mime.xml', + install_dir: mimedir + ) + if desktop_utils.found() test('Validate net.zoite.Zoitechat.desktop', desktop_utils, args: [zoitechat_desktop] diff --git a/data/misc/net.zoite.Zoitechat.desktop.in.in b/data/misc/net.zoite.Zoitechat.desktop.in.in index d2c3d36b..26efc8f6 100644 --- a/data/misc/net.zoite.Zoitechat.desktop.in.in +++ b/data/misc/net.zoite.Zoitechat.desktop.in.in @@ -11,7 +11,7 @@ Categories=GTK;Network;IRCClient; StartupNotify=true StartupWMClass=Zoitechat X-GNOME-UsesNotifications=true -MimeType=x-scheme-handler/irc;x-scheme-handler/ircs; +MimeType=x-scheme-handler/irc;x-scheme-handler/ircs;application/x-zoitechat-theme;application/x-hexchat-theme; Actions=SafeMode; [Desktop Action SafeMode] diff --git a/data/misc/net.zoite.Zoitechat.mime.xml b/data/misc/net.zoite.Zoitechat.mime.xml new file mode 100644 index 00000000..a262c9c2 --- /dev/null +++ b/data/misc/net.zoite.Zoitechat.mime.xml @@ -0,0 +1,11 @@ + + + + ZoiteChat Theme + + + + HexChat Theme + + + diff --git a/osx/Info.plist.in b/osx/Info.plist.in index 2b732447..073886eb 100644 --- a/osx/Info.plist.in +++ b/osx/Info.plist.in @@ -22,6 +22,22 @@ ???? CFBundleVersion @VERSION@ + CFBundleDocumentTypes + + + CFBundleTypeExtensions + + zct + hct + + CFBundleTypeIconFile + zoitechat.icns + CFBundleTypeName + ZoiteChat Theme + CFBundleTypeRole + Viewer + + NSHumanReadableCopyright LSMinimumSystemVersion diff --git a/win32/installer/zoitechat-arm64.iss b/win32/installer/zoitechat-arm64.iss index eaf4feda..b32c4239 100644 --- a/win32/installer/zoitechat-arm64.iss +++ b/win32/installer/zoitechat-arm64.iss @@ -99,6 +99,11 @@ Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: "URL Protocol"; ValueDa Root: HKCR; Subkey: "irc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\zoitechat.exe,0"; Flags: uninsdeletevalue; Tasks: not portable Root: HKCR; Subkey: "irc\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Tasks: not portable Root: HKCR; Subkey: "irc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\zoitechat.exe --url=""%1"""; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: ".zct"; ValueType: string; ValueName: ""; ValueData: "ZoiteChat.Theme"; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: ".hct"; ValueType: string; ValueName: ""; ValueData: "ZoiteChat.Theme"; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: "ZoiteChat.Theme"; ValueType: string; ValueName: ""; ValueData: "ZoiteChat Theme"; Flags: uninsdeletekey; Tasks: not portable +Root: HKCR; Subkey: "ZoiteChat.Theme\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\zoitechat.exe,0"; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: "ZoiteChat.Theme\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\zoitechat.exe"" ""%1"""; Flags: uninsdeletevalue; Tasks: not portable [Run] Filename: "{app}\zoitechat.exe"; Description: "Run ZoiteChat after closing the Wizard"; Flags: nowait postinstall skipifsilent diff --git a/win32/installer/zoitechat.iss.tt b/win32/installer/zoitechat.iss.tt index 758059b4..14de669c 100644 --- a/win32/installer/zoitechat.iss.tt +++ b/win32/installer/zoitechat.iss.tt @@ -86,6 +86,11 @@ Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: "URL Protocol"; ValueDa Root: HKCR; Subkey: "irc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\zoitechat.exe,0"; Flags: uninsdeletevalue; Tasks: not portable Root: HKCR; Subkey: "irc\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Tasks: not portable Root: HKCR; Subkey: "irc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\zoitechat.exe --url=""%1"""; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: ".zct"; ValueType: string; ValueName: ""; ValueData: "ZoiteChat.Theme"; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: ".hct"; ValueType: string; ValueName: ""; ValueData: "ZoiteChat.Theme"; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: "ZoiteChat.Theme"; ValueType: string; ValueName: ""; ValueData: "ZoiteChat Theme"; Flags: uninsdeletekey; Tasks: not portable +Root: HKCR; Subkey: "ZoiteChat.Theme\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\zoitechat.exe,0"; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: "ZoiteChat.Theme\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\zoitechat.exe"" ""%1"""; Flags: uninsdeletevalue; Tasks: not portable [Run] Filename: "{app}\zoitechat.exe"; Description: "Run ZoiteChat after closing the Wizard"; Flags: nowait postinstall skipifsilent