]> git.ayabusa.dev Git - thoryum.git/commitdiff
.desktop file patch working
authorAyabusa <lebgpub@gmail.com>
Sat, 6 Jun 2026 17:26:29 +0000 (19:26 +0200)
committerAyabusa <lebgpub@gmail.com>
Sat, 6 Jun 2026 17:26:29 +0000 (19:26 +0200)
src/downloader.c
src/downloader.h
src/main.c
thorium-portable.desktop [new file with mode: 0755]

index 264740fd67d979d478b8765bb1a5a7d31c2f6f66..01e27624f0e885b1398cd79dd08298d3c0d6fce4 100644 (file)
@@ -6,8 +6,8 @@
 #include <err.h>
 #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;
 }
index f4b41c561de6371bdbd7e7f9e151be80dc479519..d7a7e572318d52475c04ef2a119b10a0b830733f 100644 (file)
@@ -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
index 115f424e7d779998379e7fe7e4462ed651212639..3f9f76f4e59b37843219d0e28e325c1f77032f9c 100644 (file)
@@ -1,7 +1,38 @@
+#include <stddef.h>
 #include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <sys/wait.h>
 #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 (executable)
index 0000000..6f2698f
--- /dev/null
@@ -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