Support for Path in .desktop files (fixes issue #611)
This commit is contained in:
parent
c37d61c862
commit
cd76bd311d
5 changed files with 242 additions and 18 deletions
1
AUTHORS
1
AUTHORS
|
@ -27,6 +27,7 @@ Contributors:
|
||||||
Benoit Averty : taskbar enhancements
|
Benoit Averty : taskbar enhancements
|
||||||
Justin Jacobs : tint2conf fixes
|
Justin Jacobs : tint2conf fixes
|
||||||
Oskari Rauta : separator plugin, gradients
|
Oskari Rauta : separator plugin, gradients
|
||||||
|
Michael Messmore : Support for Path in .desktop files
|
||||||
|
|
||||||
Translations:
|
Translations:
|
||||||
Bosnian:
|
Bosnian:
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
2016-10-08 master
|
2016-12-04 master
|
||||||
- Fixes:
|
- Fixes:
|
||||||
- tint2conf: executor tooltips are now correctly disabled when text config value is empty (contributed by Justin Jacobs)
|
- tint2conf: executor tooltips are now correctly disabled when text config value is empty (contributed by Justin Jacobs)
|
||||||
- Enhancements:
|
- Enhancements:
|
||||||
|
@ -6,6 +6,7 @@
|
||||||
- New config option taskbar_hide_if_empty to hide an empty taskbar in multi_desktop mode (contributed by Benoit Averty)
|
- New config option taskbar_hide_if_empty to hide an empty taskbar in multi_desktop mode (contributed by Benoit Averty)
|
||||||
- Gradient backgrounds (contributed by Oskari Rauta)
|
- Gradient backgrounds (contributed by Oskari Rauta)
|
||||||
- New option: panel_shrink (fixes issue #333)
|
- New option: panel_shrink (fixes issue #333)
|
||||||
|
- Support for Path in .desktop files (contributed by Michael Messmore)
|
||||||
- New plugin: separator (contributed by Oskari Rauta)
|
- New plugin: separator (contributed by Oskari Rauta)
|
||||||
|
|
||||||
2016-08-02 0.12.12
|
2016-08-02 0.12.12
|
||||||
|
|
|
@ -211,11 +211,11 @@ gboolean read_desktop_file_from_dir(const char *path, const char *file_name, Des
|
||||||
g_free(full_path);
|
g_free(full_path);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
free(entry->name);
|
free_and_null(entry->name);
|
||||||
free(entry->generic_name);
|
free_and_null(entry->generic_name);
|
||||||
free(entry->icon);
|
free_and_null(entry->icon);
|
||||||
free(entry->exec);
|
free_and_null(entry->exec);
|
||||||
entry->name = entry->generic_name = entry->icon = entry->exec = NULL;
|
free_and_null(entry->cwd);
|
||||||
|
|
||||||
GList *subdirs = NULL;
|
GList *subdirs = NULL;
|
||||||
|
|
||||||
|
@ -254,7 +254,7 @@ gboolean read_desktop_file_from_dir(const char *path, const char *file_name, Des
|
||||||
gboolean read_desktop_file(const char *path, DesktopEntry *entry)
|
gboolean read_desktop_file(const char *path, DesktopEntry *entry)
|
||||||
{
|
{
|
||||||
entry->path = strdup(path);
|
entry->path = strdup(path);
|
||||||
entry->name = entry->generic_name = entry->icon = entry->exec = NULL;
|
entry->name = entry->generic_name = entry->icon = entry->exec = entry->cwd = NULL;
|
||||||
|
|
||||||
if (strchr(path, '/'))
|
if (strchr(path, '/'))
|
||||||
return read_desktop_file_full_path(path, entry);
|
return read_desktop_file_full_path(path, entry);
|
||||||
|
@ -267,12 +267,12 @@ gboolean read_desktop_file(const char *path, DesktopEntry *entry)
|
||||||
|
|
||||||
void free_desktop_entry(DesktopEntry *entry)
|
void free_desktop_entry(DesktopEntry *entry)
|
||||||
{
|
{
|
||||||
free(entry->name);
|
free_and_null(entry->name);
|
||||||
free(entry->generic_name);
|
free_and_null(entry->generic_name);
|
||||||
free(entry->icon);
|
free_and_null(entry->icon);
|
||||||
free(entry->exec);
|
free_and_null(entry->exec);
|
||||||
free(entry->path);
|
free_and_null(entry->path);
|
||||||
entry->name = entry->generic_name = entry->icon = entry->exec = entry->path = NULL;
|
free_and_null(entry->cwd);
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_read_desktop_file()
|
void test_read_desktop_file()
|
||||||
|
|
|
@ -441,7 +441,8 @@ void launcher_action(LauncherIcon *icon, XEvent *evt)
|
||||||
// Allow children to exist after parent destruction
|
// Allow children to exist after parent destruction
|
||||||
setsid();
|
setsid();
|
||||||
// Run the command
|
// Run the command
|
||||||
chdir(icon->cwd);
|
if (icon->cwd)
|
||||||
|
chdir(icon->cwd);
|
||||||
execl("/bin/sh", "/bin/sh", "-c", icon->cmd, NULL);
|
execl("/bin/sh", "/bin/sh", "-c", icon->cmd, NULL);
|
||||||
fprintf(stderr, "Failed to execlp %s\n", icon->cmd);
|
fprintf(stderr, "Failed to execlp %s\n", icon->cmd);
|
||||||
#if HAVE_SN
|
#if HAVE_SN
|
||||||
|
@ -510,11 +511,10 @@ void launcher_reload_icon(Launcher *launcher, LauncherIcon *launcherIcon)
|
||||||
launcherIcon->cmd = strdup(entry.exec);
|
launcherIcon->cmd = strdup(entry.exec);
|
||||||
if (launcherIcon->cwd)
|
if (launcherIcon->cwd)
|
||||||
free(launcherIcon->cwd);
|
free(launcherIcon->cwd);
|
||||||
if (entry.cwd) {
|
if (entry.cwd)
|
||||||
launcherIcon->cwd = strdup(entry.cwd);
|
launcherIcon->cwd = strdup(entry.cwd);
|
||||||
} else {
|
else
|
||||||
launcherIcon->cwd = get_current_dir_name();
|
launcherIcon->cwd = NULL;
|
||||||
}
|
|
||||||
if (launcherIcon->icon_name)
|
if (launcherIcon->icon_name)
|
||||||
free(launcherIcon->icon_name);
|
free(launcherIcon->icon_name);
|
||||||
launcherIcon->icon_name = entry.icon ? strdup(entry.icon) : strdup(DEFAULT_ICON);
|
launcherIcon->icon_name = entry.icon ? strdup(entry.icon) : strdup(DEFAULT_ICON);
|
||||||
|
|
222
test/ff.desktop
Normal file
222
test/ff.desktop
Normal file
|
@ -0,0 +1,222 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Version=1.0
|
||||||
|
Name=Firefox Web Browser
|
||||||
|
Name[ar]=متصفح الويب فَيَرفُكْس
|
||||||
|
Name[ast]=Restolador web Firefox
|
||||||
|
Name[bn]=ফায়ারফক্স ওয়েব ব্রাউজার
|
||||||
|
Name[ca]=Navegador web Firefox
|
||||||
|
Name[cs]=Firefox Webový prohlížeč
|
||||||
|
Name[da]=Firefox - internetbrowser
|
||||||
|
Name[el]=Περιηγητής Firefox
|
||||||
|
Name[es]=Navegador web Firefox
|
||||||
|
Name[et]=Firefoxi veebibrauser
|
||||||
|
Name[fa]=مرورگر اینترنتی Firefox
|
||||||
|
Name[fi]=Firefox-selain
|
||||||
|
Name[fr]=Navigateur Web Firefox
|
||||||
|
Name[gl]=Navegador web Firefox
|
||||||
|
Name[he]=דפדפן האינטרנט Firefox
|
||||||
|
Name[hr]=Firefox web preglednik
|
||||||
|
Name[hu]=Firefox webböngésző
|
||||||
|
Name[it]=Firefox Browser Web
|
||||||
|
Name[ja]=Firefox ウェブ・ブラウザ
|
||||||
|
Name[ko]=Firefox 웹 브라우저
|
||||||
|
Name[ku]=Geroka torê Firefox
|
||||||
|
Name[lt]=Firefox interneto naršyklė
|
||||||
|
Name[nb]=Firefox Nettleser
|
||||||
|
Name[nl]=Firefox webbrowser
|
||||||
|
Name[nn]=Firefox Nettlesar
|
||||||
|
Name[no]=Firefox Nettleser
|
||||||
|
Name[pl]=Przeglądarka WWW Firefox
|
||||||
|
Name[pt]=Firefox Navegador Web
|
||||||
|
Name[pt_BR]=Navegador Web Firefox
|
||||||
|
Name[ro]=Firefox – Navigator Internet
|
||||||
|
Name[ru]=Веб-браузер Firefox
|
||||||
|
Name[sk]=Firefox - internetový prehliadač
|
||||||
|
Name[sl]=Firefox spletni brskalnik
|
||||||
|
Name[sv]=Firefox webbläsare
|
||||||
|
Name[tr]=Firefox Web Tarayıcısı
|
||||||
|
Name[ug]=Firefox توركۆرگۈ
|
||||||
|
Name[uk]=Веб-браузер Firefox
|
||||||
|
Name[vi]=Trình duyệt web Firefox
|
||||||
|
Name[zh_CN]=Firefox 网络浏览器
|
||||||
|
Name[zh_TW]=Firefox 網路瀏覽器
|
||||||
|
Comment=Browse the World Wide Web
|
||||||
|
Comment[ar]=تصفح الشبكة العنكبوتية العالمية
|
||||||
|
Comment[ast]=Restola pela Rede
|
||||||
|
Comment[bn]=ইন্টারনেট ব্রাউজ করুন
|
||||||
|
Comment[ca]=Navegueu per la web
|
||||||
|
Comment[cs]=Prohlížení stránek World Wide Webu
|
||||||
|
Comment[da]=Surf på internettet
|
||||||
|
Comment[de]=Im Internet surfen
|
||||||
|
Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web)
|
||||||
|
Comment[es]=Navegue por la web
|
||||||
|
Comment[et]=Lehitse veebi
|
||||||
|
Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
|
||||||
|
Comment[fi]=Selaa Internetin WWW-sivuja
|
||||||
|
Comment[fr]=Naviguer sur le Web
|
||||||
|
Comment[gl]=Navegar pola rede
|
||||||
|
Comment[he]=גלישה ברחבי האינטרנט
|
||||||
|
Comment[hr]=Pretražite web
|
||||||
|
Comment[hu]=A világháló böngészése
|
||||||
|
Comment[it]=Esplora il web
|
||||||
|
Comment[ja]=ウェブを閲覧します
|
||||||
|
Comment[ko]=웹을 돌아 다닙니다
|
||||||
|
Comment[ku]=Li torê bigere
|
||||||
|
Comment[lt]=Naršykite internete
|
||||||
|
Comment[nb]=Surf på nettet
|
||||||
|
Comment[nl]=Verken het internet
|
||||||
|
Comment[nn]=Surf på nettet
|
||||||
|
Comment[no]=Surf på nettet
|
||||||
|
Comment[pl]=Przeglądanie stron WWW
|
||||||
|
Comment[pt]=Navegue na Internet
|
||||||
|
Comment[pt_BR]=Navegue na Internet
|
||||||
|
Comment[ro]=Navigați pe Internet
|
||||||
|
Comment[ru]=Доступ в Интернет
|
||||||
|
Comment[sk]=Prehliadanie internetu
|
||||||
|
Comment[sl]=Brskajte po spletu
|
||||||
|
Comment[sv]=Surfa på webben
|
||||||
|
Comment[tr]=İnternet'te Gezinin
|
||||||
|
Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ
|
||||||
|
Comment[uk]=Перегляд сторінок Інтернету
|
||||||
|
Comment[vi]=Để duyệt các trang web
|
||||||
|
Comment[zh_CN]=浏览互联网
|
||||||
|
Comment[zh_TW]=瀏覽網際網路
|
||||||
|
GenericName=Web Browser
|
||||||
|
GenericName[ar]=متصفح ويب
|
||||||
|
GenericName[ast]=Restolador Web
|
||||||
|
GenericName[bn]=ওয়েব ব্রাউজার
|
||||||
|
GenericName[ca]=Navegador web
|
||||||
|
GenericName[cs]=Webový prohlížeč
|
||||||
|
GenericName[da]=Webbrowser
|
||||||
|
GenericName[el]=Περιηγητής διαδικτύου
|
||||||
|
GenericName[es]=Navegador web
|
||||||
|
GenericName[et]=Veebibrauser
|
||||||
|
GenericName[fa]=مرورگر اینترنتی
|
||||||
|
GenericName[fi]=WWW-selain
|
||||||
|
GenericName[fr]=Navigateur Web
|
||||||
|
GenericName[gl]=Navegador Web
|
||||||
|
GenericName[he]=דפדפן אינטרנט
|
||||||
|
GenericName[hr]=Web preglednik
|
||||||
|
GenericName[hu]=Webböngésző
|
||||||
|
GenericName[it]=Browser web
|
||||||
|
GenericName[ja]=ウェブ・ブラウザ
|
||||||
|
GenericName[ko]=웹 브라우저
|
||||||
|
GenericName[ku]=Geroka torê
|
||||||
|
GenericName[lt]=Interneto naršyklė
|
||||||
|
GenericName[nb]=Nettleser
|
||||||
|
GenericName[nl]=Webbrowser
|
||||||
|
GenericName[nn]=Nettlesar
|
||||||
|
GenericName[no]=Nettleser
|
||||||
|
GenericName[pl]=Przeglądarka WWW
|
||||||
|
GenericName[pt]=Navegador Web
|
||||||
|
GenericName[pt_BR]=Navegador Web
|
||||||
|
GenericName[ro]=Navigator Internet
|
||||||
|
GenericName[ru]=Веб-браузер
|
||||||
|
GenericName[sk]=Internetový prehliadač
|
||||||
|
GenericName[sl]=Spletni brskalnik
|
||||||
|
GenericName[sv]=Webbläsare
|
||||||
|
GenericName[tr]=Web Tarayıcı
|
||||||
|
GenericName[ug]=توركۆرگۈ
|
||||||
|
GenericName[uk]=Веб-браузер
|
||||||
|
GenericName[vi]=Trình duyệt Web
|
||||||
|
GenericName[zh_CN]=网络浏览器
|
||||||
|
GenericName[zh_TW]=網路瀏覽器
|
||||||
|
Keywords=Internet;WWW;Browser;Web;Explorer
|
||||||
|
Keywords[ar]=انترنت;إنترنت;متصفح;ويب;وب
|
||||||
|
Keywords[ast]=Internet;WWW;Restolador;Web;Esplorador
|
||||||
|
Keywords[ca]=Internet;WWW;Navegador;Web;Explorador;Explorer
|
||||||
|
Keywords[cs]=Internet;WWW;Prohlížeč;Web;Explorer
|
||||||
|
Keywords[da]=Internet;Internettet;WWW;Browser;Browse;Web;Surf;Nettet
|
||||||
|
Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen
|
||||||
|
Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Περιηγητής;Firefox;Φιρεφοχ;Ιντερνετ
|
||||||
|
Keywords[es]=Explorador;Internet;WWW
|
||||||
|
Keywords[fi]=Internet;WWW;Browser;Web;Explorer;selain;Internet-selain;internetselain;verkkoselain;netti;surffaa
|
||||||
|
Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur
|
||||||
|
Keywords[he]=דפדפן;אינטרנט;רשת;אתרים;אתר;פיירפוקס;מוזילה;
|
||||||
|
Keywords[hr]=Internet;WWW;preglednik;Web
|
||||||
|
Keywords[hu]=Internet;WWW;Böngésző;Web;Háló;Net;Explorer
|
||||||
|
Keywords[it]=Internet;WWW;Browser;Web;Navigatore
|
||||||
|
Keywords[is]=Internet;WWW;Vafri;Vefur;Netvafri;Flakk
|
||||||
|
Keywords[ja]=Internet;WWW;Web;インターネット;ブラウザ;ウェブ;エクスプローラ
|
||||||
|
Keywords[nb]=Internett;WWW;Nettleser;Explorer;Web;Browser;Nettside
|
||||||
|
Keywords[nl]=Internet;WWW;Browser;Web;Explorer;Verkenner;Website;Surfen;Online
|
||||||
|
Keywords[pt]=Internet;WWW;Browser;Web;Explorador;Navegador
|
||||||
|
Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorador;Navegador
|
||||||
|
Keywords[ru]=Internet;WWW;Browser;Web;Explorer;интернет;браузер;веб;файрфокс;огнелис
|
||||||
|
Keywords[sk]=Internet;WWW;Prehliadač;Web;Explorer
|
||||||
|
Keywords[sl]=Internet;WWW;Browser;Web;Explorer;Brskalnik;Splet
|
||||||
|
Keywords[tr]=İnternet;WWW;Tarayıcı;Web;Gezgin;Web sitesi;Site;sörf;çevrimiçi;tara
|
||||||
|
Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;переглядач;оглядач;браузер;веб;файрфокс;вогнелис;перегляд
|
||||||
|
Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyệt;Trang web
|
||||||
|
Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;浏览;上网;火狐;Firefox;ff;互联网;网站;
|
||||||
|
Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;網際網路;網路;瀏覽器;上網;網頁;火狐
|
||||||
|
Exec=firefox %u
|
||||||
|
Path=/tmp
|
||||||
|
Terminal=false
|
||||||
|
X-MultipleArgs=false
|
||||||
|
Type=Application
|
||||||
|
Icon=firefox
|
||||||
|
Categories=GNOME;GTK;Network;WebBrowser;
|
||||||
|
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
|
||||||
|
StartupNotify=true
|
||||||
|
Actions=NewWindow;NewPrivateWindow;
|
||||||
|
|
||||||
|
[Desktop Action NewWindow]
|
||||||
|
Name=Open a New Window
|
||||||
|
Name[ar]=افتح نافذة جديدة
|
||||||
|
Name[ast]=Abrir una ventana nueva
|
||||||
|
Name[bn]=Abrir una ventana nueva
|
||||||
|
Name[ca]=Obre una finestra nova
|
||||||
|
Name[cs]=Otevřít nové okno
|
||||||
|
Name[da]=Åbn et nyt vindue
|
||||||
|
Name[de]=Ein neues Fenster öffnen
|
||||||
|
Name[el]=Άνοιγμα νέου παραθύρου
|
||||||
|
Name[es]=Abrir una ventana nueva
|
||||||
|
Name[fi]=Avaa uusi ikkuna
|
||||||
|
Name[fr]=Ouvrir une nouvelle fenêtre
|
||||||
|
Name[gl]=Abrir unha nova xanela
|
||||||
|
Name[he]=פתיחת חלון חדש
|
||||||
|
Name[hr]=Otvori novi prozor
|
||||||
|
Name[hu]=Új ablak nyitása
|
||||||
|
Name[it]=Apri una nuova finestra
|
||||||
|
Name[ja]=新しいウィンドウを開く
|
||||||
|
Name[ko]=새 창 열기
|
||||||
|
Name[ku]=Paceyeke nû veke
|
||||||
|
Name[lt]=Atverti naują langą
|
||||||
|
Name[nb]=Åpne et nytt vindu
|
||||||
|
Name[nl]=Nieuw venster openen
|
||||||
|
Name[pt]=Abrir nova janela
|
||||||
|
Name[pt_BR]=Abrir nova janela
|
||||||
|
Name[ro]=Deschide o fereastră nouă
|
||||||
|
Name[ru]=Новое окно
|
||||||
|
Name[sk]=Otvoriť nové okno
|
||||||
|
Name[sl]=Odpri novo okno
|
||||||
|
Name[sv]=Öppna ett nytt fönster
|
||||||
|
Name[tr]=Yeni pencere aç
|
||||||
|
Name[ug]=يېڭى كۆزنەك ئېچىش
|
||||||
|
Name[uk]=Відкрити нове вікно
|
||||||
|
Name[vi]=Mở cửa sổ mới
|
||||||
|
Name[zh_CN]=新建窗口
|
||||||
|
Name[zh_TW]=開啟新視窗
|
||||||
|
Exec=firefox -new-window
|
||||||
|
OnlyShowIn=Unity;
|
||||||
|
|
||||||
|
[Desktop Action NewPrivateWindow]
|
||||||
|
Name=Open a New Private Window
|
||||||
|
Name[ar]=افتح نافذة جديدة للتصفح الخاص
|
||||||
|
Name[ca]=Obre una finestra nova en mode d'incògnit
|
||||||
|
Name[de]=Ein neues privates Fenster öffnen
|
||||||
|
Name[es]=Abrir una ventana privada nueva
|
||||||
|
Name[fi]=Avaa uusi yksityinen ikkuna
|
||||||
|
Name[fr]=Ouvrir une nouvelle fenêtre de navigation privée
|
||||||
|
Name[he]=פתיחת חלון גלישה פרטית חדש
|
||||||
|
Name[hu]=Új privát ablak nyitása
|
||||||
|
Name[it]=Apri una nuova finestra anonima
|
||||||
|
Name[nb]=Åpne et nytt privat vindu
|
||||||
|
Name[ru]=Новое приватное окно
|
||||||
|
Name[sl]=Odpri novo okno zasebnega brskanja
|
||||||
|
Name[tr]=Yeni bir pencere aç
|
||||||
|
Name[uk]=Відкрити нове вікно у потайливому режимі
|
||||||
|
Name[zh_TW]=開啟新隱私瀏覽視窗
|
||||||
|
Exec=firefox -private-window
|
||||||
|
OnlyShowIn=Unity;
|
Loading…
Reference in a new issue