From: Ayabusa Date: Sat, 6 Jun 2026 17:26:29 +0000 (+0200) Subject: .desktop file patch working X-Git-Url: https://git.ayabusa.dev/?a=commitdiff_plain;h=9275f81ef5f8ba1be8d065f0a20cd385485e2bb7;p=thoryum.git .desktop file patch working --- diff --git a/src/downloader.c b/src/downloader.c index 264740f..01e2762 100644 --- a/src/downloader.c +++ b/src/downloader.c @@ -6,8 +6,8 @@ #include #include "downloader.h" - #define THORIUM_RELEASE_API_URL "https://api.github.com/repos/Alex313031/thorium/releases/latest" +#define THORIUM_RELEASE_BASE_URL "https://github.com/Alex313031/thorium/releases/download" // Well its probably usefull static size_t write_file(char *ptr, size_t size, size_t nmemb, void **stream) @@ -70,12 +70,20 @@ int DL_get_file(char *url, struct DL_stream *stream) { return 0; } -char *DL_get_latest_version() { +// Get the latest version url according to it's suffix : AVX.zip +char *DL_get_latest_version_url(char *suffix) { struct DL_stream buf = {.stream = NULL, .type = CHAR_STREAM}; //set some globals ver_str_size = 1; ver_str_len = 0; DL_get_file(THORIUM_RELEASE_API_URL, &buf); printf("Received :\n%s\n", (char *)buf.stream); - return NULL; + char *name = strstr(buf.stream, suffix); // We find the name in da json + char *browser_url_start = strstr(name, THORIUM_RELEASE_BASE_URL); + size_t n = sizeof(THORIUM_RELEASE_BASE_URL); + while (browser_url_start[n] != '"') + n++; + char * browser_url = strndup(browser_url_start, n); + free(buf.stream); + return browser_url; } diff --git a/src/downloader.h b/src/downloader.h index f4b41c5..d7a7e57 100644 --- a/src/downloader.h +++ b/src/downloader.h @@ -14,6 +14,6 @@ struct DL_stream { }; int DL_get_file(char *url, struct DL_stream *stream); -char *DL_get_latest_version(); +char *DL_get_latest_version_url(char *suffix); #endif diff --git a/src/main.c b/src/main.c index 115f424..3f9f76f 100644 --- a/src/main.c +++ b/src/main.c @@ -1,7 +1,38 @@ +#include #include +#include +#include +#include +#include #include "cpu.h" #include "downloader.h" +#define SED_PATCH "s/WMClass=thorium/WMClass=thorium-browser/g" +#define DESKTOP_FILE "thorium-portable.desktop" + +// For the icon theming to work properly we need to patch the desktop file +void patch_desktop_file(char *install_loc) { + char *file_path = strdup(install_loc); + size_t len = strlen(file_path); + file_path = realloc(file_path, len + sizeof(DESKTOP_FILE) + 2); + if (file_path[len] != '/') { + file_path[len] = '/'; + file_path[len+1] = '\0'; + len++; + } + strcat(file_path, DESKTOP_FILE); + printf("install : '%s'\n", file_path); + fflush(stdout); + + pid_t pid = fork(); + if (!pid) { // child + execlp("sed", "sed", "-i", SED_PATCH, file_path, NULL); // I assume sed is installed, TODO verify before install + exit(0); + } + free(file_path); + wait(NULL); +} + int main() { printf("Hello this is Thoryum ;)\n"); enum CPU_opti opti = CPU_fetch_opti(); @@ -13,5 +44,6 @@ int main() { DL_get_file("https://ayabusa.dev", file); fclose(file); */ - DL_get_latest_version(); + //printf("Latest version url : '%s,'\n",DL_get_latest_version_url("AVX.zip")); + patch_desktop_file("."); } diff --git a/thorium-portable.desktop b/thorium-portable.desktop new file mode 100755 index 0000000..6f2698f --- /dev/null +++ b/thorium-portable.desktop @@ -0,0 +1,236 @@ +[Desktop Entry] +Version=1.0 +Name=Thorium Browser +# Only KDE 4 seems to use GenericName, so we reuse the KDE strings. +# From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413. +GenericName=Web Browser +GenericName[ar]=متصفح الشبكة +GenericName[bg]=Уеб браузър +GenericName[ca]=Navegador web +GenericName[cs]=WWW prohlížeč +GenericName[da]=Browser +GenericName[de]=Web-Browser +GenericName[el]=Περιηγητής ιστού +GenericName[en_GB]=Web Browser +GenericName[es]=Navegador web +GenericName[et]=Veebibrauser +GenericName[fi]=WWW-selain +GenericName[fr]=Navigateur Web +GenericName[gu]=વેબ બ્રાઉઝર +GenericName[he]=דפדפן אינטרנט +GenericName[hi]=वेब ब्राउज़र +GenericName[hu]=Webböngésző +GenericName[it]=Browser Web +GenericName[ja]=ウェブブラウザ +GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ +GenericName[ko]=웹 브라우저 +GenericName[lt]=Žiniatinklio naršyklė +GenericName[lv]=Tīmekļa pārlūks +GenericName[ml]=വെബ് ബ്രൌസര്‍ +GenericName[mr]=वेब ब्राऊजर +GenericName[nb]=Nettleser +GenericName[nl]=Webbrowser +GenericName[pl]=Przeglądarka WWW +GenericName[pt]=Navegador Web +GenericName[pt_BR]=Navegador da Internet +GenericName[ro]=Navigator de Internet +GenericName[ru]=Веб-браузер +GenericName[sl]=Spletni brskalnik +GenericName[sv]=Webbläsare +GenericName[ta]=இணைய உலாவி +GenericName[th]=เว็บเบราว์เซอร์ +GenericName[tr]=Web Tarayıcı +GenericName[uk]=Навігатор Тенет +GenericName[zh_CN]=网页浏览器 +GenericName[zh_HK]=網頁瀏覽器 +GenericName[zh_TW]=網頁瀏覽器 +# Not translated in KDE, from Epiphany 2.26.1-0ubuntu1. +GenericName[bn]=ওয়েব ব্রাউজার +GenericName[fil]=Web Browser +GenericName[hr]=Web preglednik +GenericName[id]=Browser Web +GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର +GenericName[sk]=WWW prehliadač +GenericName[sr]=Интернет прегледник +GenericName[te]=మహాతల అన్వేషి +GenericName[vi]=Bộ duyệt Web +# Gnome and KDE 3 uses Comment. +Comment=Access the Internet +Comment[ar]=الدخول إلى الإنترنت +Comment[bg]=Достъп до интернет +Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন +Comment[ca]=Accedeix a Internet +Comment[cs]=Přístup k internetu +Comment[da]=Få adgang til internettet +Comment[de]=Internetzugriff +Comment[el]=Πρόσβαση στο Διαδίκτυο +Comment[en_GB]=Access the Internet +Comment[es]=Accede a Internet. +Comment[et]=Pääs Internetti +Comment[fi]=Käytä internetiä +Comment[fil]=I-access ang Internet +Comment[fr]=Accéder à Internet +Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો +Comment[he]=גישה אל האינטרנט +Comment[hi]=इंटरनेट तक पहुंच स्थापित करें +Comment[hr]=Pristup Internetu +Comment[hu]=Internetelérés +Comment[id]=Akses Internet +Comment[it]=Accesso a Internet +Comment[ja]=インターネットにアクセス +Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ +Comment[ko]=인터넷 연결 +Comment[lt]=Interneto prieiga +Comment[lv]=Piekļūt internetam +Comment[ml]=ഇന്റര്‍‌നെറ്റ് ആക്‌സസ് ചെയ്യുക +Comment[mr]=इंटरनेटमध्ये प्रवेश करा +Comment[nb]=Gå til Internett +Comment[nl]=Verbinding maken met internet +Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ +Comment[pl]=Skorzystaj z internetu +Comment[pt]=Aceder à Internet +Comment[pt_BR]=Acessar a internet +Comment[ro]=Accesaţi Internetul +Comment[ru]=Доступ в Интернет +Comment[sk]=Prístup do siete Internet +Comment[sl]=Dostop do interneta +Comment[sr]=Приступите Интернету +Comment[sv]=Gå ut på Internet +Comment[ta]=இணையத்தை அணுகுதல் +Comment[te]=ఇంటర్నెట్‌ను ఆక్సెస్ చెయ్యండి +Comment[th]=เข้าถึงอินเทอร์เน็ต +Comment[tr]=İnternet'e erişin +Comment[uk]=Доступ до Інтернету +Comment[vi]=Truy cập Internet +Comment[zh_CN]=访问互联网 +Comment[zh_HK]=連線到網際網路 +Comment[zh_TW]=連線到網際網路 +Exec=./thorium-browser %U +StartupWMClass=thorium-browser +Keywords=browser +StartupNotify=true +Terminal=false +X-MultipleArgs=True +Icon=product_logo_256.png +Type=Application +Categories=Network;WebBrowser; +MimeType=application/pdf;application/rdf+xml;application/rss+xml;application/xhtml+xml;application/xhtml_xml;application/xml;image/gif;image/jpeg;image/png;image/webp;text/html;text/xml;x-scheme-handler/http;x-scheme-handler/https; +Actions=new-window;new-private-window;content-shell;safe-mode;dark-mode; + +[Desktop Action new-window] +Name=New Window +Name[am]=አዲስ መስኮት +Name[ar]=نافذة جديدة +Name[bg]=Нов прозорец +Name[bn]=নতুন উইন্ডো +Name[ca]=Finestra nova +Name[cs]=Nové okno +Name[da]=Nyt vindue +Name[de]=Neues Fenster +Name[el]=Νέο Παράθυρο +Name[en_GB]=New Window +Name[es]=Nueva ventana +Name[et]=Uus aken +Name[fa]=پنجره جدید +Name[fi]=Uusi ikkuna +Name[fil]=New Window +Name[fr]=Nouvelle fenêtre +Name[gu]=નવી વિંડો +Name[hi]=नई विंडो +Name[hr]=Novi prozor +Name[hu]=Új ablak +Name[id]=Jendela Baru +Name[it]=Nuova finestra +Name[iw]=חלון חדש +Name[ja]=新規ウインドウ +Name[kn]=ಹೊಸ ವಿಂಡೊ +Name[ko]=새 창 +Name[lt]=Naujas langas +Name[lv]=Jauns logs +Name[ml]=പുതിയ വിന്‍ഡോ +Name[mr]=नवीन विंडो +Name[nl]=Nieuw venster +Name[no]=Nytt vindu +Name[pl]=Nowe okno +Name[pt]=Nova janela +Name[pt_BR]=Nova janela +Name[ro]=Fereastră nouă +Name[ru]=Новое окно +Name[sk]=Nové okno +Name[sl]=Novo okno +Name[sr]=Нови прозор +Name[sv]=Nytt fönster +Name[sw]=Dirisha Jipya +Name[ta]=புதிய சாளரம் +Name[te]=క్రొత్త విండో +Name[th]=หน้าต่างใหม่ +Name[tr]=Yeni Pencere +Name[uk]=Нове вікно +Name[vi]=Cửa sổ Mới +Name[zh_CN]=新建窗口 +Name[zh_TW]=開新視窗 +Exec=./thorium-browser + +[Desktop Action content-shell] +Name=Open Thorium Shell +Exec=./thorium-shell %U + +[Desktop Action safe-mode] +Name=Open in Safe Mode +Exec=./thorium-browser --no-experiments %U + +[Desktop Action dark-mode] +Name=Open in Dark Mode +Exec=./thorium-browser --force-dark-mode %U + +[Desktop Action new-private-window] +Name=New Incognito Window +Name[ar]=نافذة جديدة للتصفح المتخفي +Name[bg]=Нов прозорец „инкогнито“ +Name[bn]=নতুন ছদ্মবেশী উইন্ডো +Name[ca]=Finestra d'incògnit nova +Name[cs]=Nové anonymní okno +Name[da]=Nyt inkognitovindue +Name[de]=Neues Inkognito-Fenster +Name[el]=Νέο παράθυρο για ανώνυμη περιήγηση +Name[en_GB]=New Incognito window +Name[es]=Nueva ventana de incógnito +Name[et]=Uus inkognito aken +Name[fa]=پنجره جدید حالت ناشناس +Name[fi]=Uusi incognito-ikkuna +Name[fil]=Bagong Incognito window +Name[fr]=Nouvelle fenêtre de navigation privée +Name[gu]=નવી છુપી વિંડો +Name[hi]=नई गुप्त विंडो +Name[hr]=Novi anoniman prozor +Name[hu]=Új Inkognitóablak +Name[id]=Jendela Penyamaran baru +Name[it]=Nuova finestra di navigazione in incognito +Name[iw]=חלון חדש לגלישה בסתר +Name[ja]=新しいシークレット ウィンドウ +Name[kn]=ಹೊಸ ಅಜ್ಞಾತ ವಿಂಡೋ +Name[ko]=새 시크릿 창 +Name[lt]=Naujas inkognito langas +Name[lv]=Jauns inkognito režīma logs +Name[ml]=പുതിയ വേഷ പ്രച്ഛന്ന വിന്‍ഡോ +Name[mr]=नवीन गुप्त विंडो +Name[nl]=Nieuw incognitovenster +Name[no]=Nytt inkognitovindu +Name[pl]=Nowe okno incognito +Name[pt]=Nova janela de navegação anónima +Name[pt_BR]=Nova janela anônima +Name[ro]=Fereastră nouă incognito +Name[ru]=Новое окно в режиме инкогнито +Name[sk]=Nové okno inkognito +Name[sl]=Novo okno brez beleženja zgodovine +Name[sr]=Нови прозор за прегледање без архивирања +Name[sv]=Nytt inkognitofönster +Name[ta]=புதிய மறைநிலைச் சாளரம் +Name[te]=క్రొత్త అజ్ఞాత విండో +Name[th]=หน้าต่างใหม่ที่ไม่ระบุตัวตน +Name[tr]=Yeni Gizli pencere +Name[uk]=Нове вікно в режимі анонімного перегляду +Name[vi]=Cửa sổ ẩn danh mới +Name[zh_CN]=新建隐身窗口 +Name[zh_TW]=新增無痕式視窗 +Exec=./thorium-browser --incognito