Using g_spawn_async() instead of execlp()
This commit is contained in:
parent
5f9ae60e55
commit
58a2e08f92
22
po/de.po
22
po/de.po
|
@ -7,7 +7,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Browser 0.1.4\n"
|
"Project-Id-Version: Browser 0.1.4\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-02-01 15:17+0100\n"
|
"POT-Creation-Date: 2011-02-05 04:38+0100\n"
|
||||||
"PO-Revision-Date: 2010-03-29 23:28+0200\n"
|
"PO-Revision-Date: 2010-03-29 23:28+0200\n"
|
||||||
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
|
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
|
||||||
"Language-Team: English\n"
|
"Language-Team: English\n"
|
||||||
|
@ -189,12 +189,12 @@ msgstr ""
|
||||||
#: ../src/copy.c:672 ../src/delete.c:421 ../src/delete.c:426
|
#: ../src/copy.c:672 ../src/delete.c:421 ../src/delete.c:426
|
||||||
#: ../src/desktop.c:1439 ../src/desktop.c:1444 ../src/move.c:452
|
#: ../src/desktop.c:1439 ../src/desktop.c:1444 ../src/move.c:452
|
||||||
#: ../src/move.c:456 ../src/properties.c:114 ../src/properties.c:118
|
#: ../src/move.c:456 ../src/properties.c:114 ../src/properties.c:118
|
||||||
#: ../src/view.c:364 ../src/view.c:367
|
#: ../src/view.c:366 ../src/view.c:371
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Fehler"
|
msgstr "Fehler"
|
||||||
|
|
||||||
#: ../src/browser.c:753 ../src/desktopicon.c:814 ../src/view.c:144
|
#: ../src/browser.c:753 ../src/desktopicon.c:804 ../src/view.c:144
|
||||||
#: ../src/view.c:415
|
#: ../src/view.c:419
|
||||||
msgid "Open with..."
|
msgid "Open with..."
|
||||||
msgstr "Offnen mit..."
|
msgstr "Offnen mit..."
|
||||||
|
|
||||||
|
@ -268,8 +268,8 @@ msgid "New folder"
|
||||||
msgstr "Neu Ordner"
|
msgstr "Neu Ordner"
|
||||||
|
|
||||||
#: ../src/callbacks.c:195 ../src/callbacks.c:201 ../src/callbacks.c:1051
|
#: ../src/callbacks.c:195 ../src/callbacks.c:201 ../src/callbacks.c:1051
|
||||||
#: ../src/callbacks.c:1056 ../src/desktopicon.c:796 ../src/desktopicon.c:801
|
#: ../src/callbacks.c:1056 ../src/desktopicon.c:784 ../src/desktopicon.c:789
|
||||||
#: ../src/desktopicon.c:848 ../src/desktopicon.c:853
|
#: ../src/desktopicon.c:836 ../src/desktopicon.c:841
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Achtung"
|
msgstr "Achtung"
|
||||||
|
|
||||||
|
@ -311,7 +311,7 @@ msgstr ""
|
||||||
msgid "Open _with..."
|
msgid "Open _with..."
|
||||||
msgstr "Offnen _mit..."
|
msgstr "Offnen _mit..."
|
||||||
|
|
||||||
#: ../src/callbacks.c:1055 ../src/desktopicon.c:800
|
#: ../src/callbacks.c:1055 ../src/desktopicon.c:788
|
||||||
msgid "Are you sure you want to execute this file?"
|
msgid "Are you sure you want to execute this file?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -484,11 +484,11 @@ msgid ""
|
||||||
" -m\tMonitor where to display the desktop\n"
|
" -m\tMonitor where to display the desktop\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/desktopicon.c:851
|
#: ../src/desktopicon.c:839
|
||||||
msgid "Are you sure you want to delete "
|
msgid "Are you sure you want to delete "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/desktopicon.c:852
|
#: ../src/desktopicon.c:840
|
||||||
msgid " file(s)?"
|
msgid " file(s)?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -614,10 +614,10 @@ msgstr ""
|
||||||
msgid "View file..."
|
msgid "View file..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/view.c:403 ../src/view.c:496
|
#: ../src/view.c:407 ../src/view.c:500
|
||||||
msgid "Could not edit file"
|
msgid "Could not edit file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/view.c:510
|
#: ../src/view.c:514
|
||||||
msgid "Usage: view file...\n"
|
msgid "Usage: view file...\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
22
po/es.po
22
po/es.po
|
@ -7,7 +7,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Browser 0.1.4\n"
|
"Project-Id-Version: Browser 0.1.4\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-02-01 15:17+0100\n"
|
"POT-Creation-Date: 2011-02-05 04:38+0100\n"
|
||||||
"PO-Revision-Date: 2010-03-30 01:04+0200\n"
|
"PO-Revision-Date: 2010-03-30 01:04+0200\n"
|
||||||
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
|
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
|
||||||
"Language-Team: Spanish\n"
|
"Language-Team: Spanish\n"
|
||||||
|
@ -189,12 +189,12 @@ msgstr ""
|
||||||
#: ../src/copy.c:672 ../src/delete.c:421 ../src/delete.c:426
|
#: ../src/copy.c:672 ../src/delete.c:421 ../src/delete.c:426
|
||||||
#: ../src/desktop.c:1439 ../src/desktop.c:1444 ../src/move.c:452
|
#: ../src/desktop.c:1439 ../src/desktop.c:1444 ../src/move.c:452
|
||||||
#: ../src/move.c:456 ../src/properties.c:114 ../src/properties.c:118
|
#: ../src/move.c:456 ../src/properties.c:114 ../src/properties.c:118
|
||||||
#: ../src/view.c:364 ../src/view.c:367
|
#: ../src/view.c:366 ../src/view.c:371
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/browser.c:753 ../src/desktopicon.c:814 ../src/view.c:144
|
#: ../src/browser.c:753 ../src/desktopicon.c:804 ../src/view.c:144
|
||||||
#: ../src/view.c:415
|
#: ../src/view.c:419
|
||||||
msgid "Open with..."
|
msgid "Open with..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -268,8 +268,8 @@ msgid "New folder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/callbacks.c:195 ../src/callbacks.c:201 ../src/callbacks.c:1051
|
#: ../src/callbacks.c:195 ../src/callbacks.c:201 ../src/callbacks.c:1051
|
||||||
#: ../src/callbacks.c:1056 ../src/desktopicon.c:796 ../src/desktopicon.c:801
|
#: ../src/callbacks.c:1056 ../src/desktopicon.c:784 ../src/desktopicon.c:789
|
||||||
#: ../src/desktopicon.c:848 ../src/desktopicon.c:853
|
#: ../src/desktopicon.c:836 ../src/desktopicon.c:841
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -311,7 +311,7 @@ msgstr ""
|
||||||
msgid "Open _with..."
|
msgid "Open _with..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/callbacks.c:1055 ../src/desktopicon.c:800
|
#: ../src/callbacks.c:1055 ../src/desktopicon.c:788
|
||||||
msgid "Are you sure you want to execute this file?"
|
msgid "Are you sure you want to execute this file?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -484,11 +484,11 @@ msgid ""
|
||||||
" -m\tMonitor where to display the desktop\n"
|
" -m\tMonitor where to display the desktop\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/desktopicon.c:851
|
#: ../src/desktopicon.c:839
|
||||||
msgid "Are you sure you want to delete "
|
msgid "Are you sure you want to delete "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/desktopicon.c:852
|
#: ../src/desktopicon.c:840
|
||||||
msgid " file(s)?"
|
msgid " file(s)?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -614,10 +614,10 @@ msgstr ""
|
||||||
msgid "View file..."
|
msgid "View file..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/view.c:403 ../src/view.c:496
|
#: ../src/view.c:407 ../src/view.c:500
|
||||||
msgid "Could not edit file"
|
msgid "Could not edit file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/view.c:510
|
#: ../src/view.c:514
|
||||||
msgid "Usage: view file...\n"
|
msgid "Usage: view file...\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
22
po/fr.po
22
po/fr.po
|
@ -7,7 +7,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Browser 0.1.4\n"
|
"Project-Id-Version: Browser 0.1.4\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-02-01 15:17+0100\n"
|
"POT-Creation-Date: 2011-02-05 04:38+0100\n"
|
||||||
"PO-Revision-Date: 2010-03-29 23:28+0200\n"
|
"PO-Revision-Date: 2010-03-29 23:28+0200\n"
|
||||||
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
|
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
|
||||||
"Language-Team: French\n"
|
"Language-Team: French\n"
|
||||||
|
@ -189,12 +189,12 @@ msgstr " Chemin: "
|
||||||
#: ../src/copy.c:672 ../src/delete.c:421 ../src/delete.c:426
|
#: ../src/copy.c:672 ../src/delete.c:421 ../src/delete.c:426
|
||||||
#: ../src/desktop.c:1439 ../src/desktop.c:1444 ../src/move.c:452
|
#: ../src/desktop.c:1439 ../src/desktop.c:1444 ../src/move.c:452
|
||||||
#: ../src/move.c:456 ../src/properties.c:114 ../src/properties.c:118
|
#: ../src/move.c:456 ../src/properties.c:114 ../src/properties.c:118
|
||||||
#: ../src/view.c:364 ../src/view.c:367
|
#: ../src/view.c:366 ../src/view.c:371
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Erreur"
|
msgstr "Erreur"
|
||||||
|
|
||||||
#: ../src/browser.c:753 ../src/desktopicon.c:814 ../src/view.c:144
|
#: ../src/browser.c:753 ../src/desktopicon.c:804 ../src/view.c:144
|
||||||
#: ../src/view.c:415
|
#: ../src/view.c:419
|
||||||
msgid "Open with..."
|
msgid "Open with..."
|
||||||
msgstr "Ouvrir avec..."
|
msgstr "Ouvrir avec..."
|
||||||
|
|
||||||
|
@ -268,8 +268,8 @@ msgid "New folder"
|
||||||
msgstr "Nouveau dossier"
|
msgstr "Nouveau dossier"
|
||||||
|
|
||||||
#: ../src/callbacks.c:195 ../src/callbacks.c:201 ../src/callbacks.c:1051
|
#: ../src/callbacks.c:195 ../src/callbacks.c:201 ../src/callbacks.c:1051
|
||||||
#: ../src/callbacks.c:1056 ../src/desktopicon.c:796 ../src/desktopicon.c:801
|
#: ../src/callbacks.c:1056 ../src/desktopicon.c:784 ../src/desktopicon.c:789
|
||||||
#: ../src/desktopicon.c:848 ../src/desktopicon.c:853
|
#: ../src/desktopicon.c:836 ../src/desktopicon.c:841
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Avertissement"
|
msgstr "Avertissement"
|
||||||
|
|
||||||
|
@ -311,7 +311,7 @@ msgstr "Démonter"
|
||||||
msgid "Open _with..."
|
msgid "Open _with..."
|
||||||
msgstr "Ouvrir _avec..."
|
msgstr "Ouvrir _avec..."
|
||||||
|
|
||||||
#: ../src/callbacks.c:1055 ../src/desktopicon.c:800
|
#: ../src/callbacks.c:1055 ../src/desktopicon.c:788
|
||||||
msgid "Are you sure you want to execute this file?"
|
msgid "Are you sure you want to execute this file?"
|
||||||
msgstr "Voulez-vous vraiment exécuter ce fichier ?"
|
msgstr "Voulez-vous vraiment exécuter ce fichier ?"
|
||||||
|
|
||||||
|
@ -512,11 +512,11 @@ msgstr ""
|
||||||
" -h\tAfficher l'écran d'accueil\n"
|
" -h\tAfficher l'écran d'accueil\n"
|
||||||
" -m\tMoniteur où afficher le bureau\n"
|
" -m\tMoniteur où afficher le bureau\n"
|
||||||
|
|
||||||
#: ../src/desktopicon.c:851
|
#: ../src/desktopicon.c:839
|
||||||
msgid "Are you sure you want to delete "
|
msgid "Are you sure you want to delete "
|
||||||
msgstr "Voulez-vous vraiment effacer "
|
msgstr "Voulez-vous vraiment effacer "
|
||||||
|
|
||||||
#: ../src/desktopicon.c:852
|
#: ../src/desktopicon.c:840
|
||||||
msgid " file(s)?"
|
msgid " file(s)?"
|
||||||
msgstr " fichier(s) ?"
|
msgstr " fichier(s) ?"
|
||||||
|
|
||||||
|
@ -648,10 +648,10 @@ msgstr "Ne peut pas déterminer le type de fichier"
|
||||||
msgid "View file..."
|
msgid "View file..."
|
||||||
msgstr "Ouvrir..."
|
msgstr "Ouvrir..."
|
||||||
|
|
||||||
#: ../src/view.c:403 ../src/view.c:496
|
#: ../src/view.c:407 ../src/view.c:500
|
||||||
msgid "Could not edit file"
|
msgid "Could not edit file"
|
||||||
msgstr "Impossible d'éditer le fichier"
|
msgstr "Impossible d'éditer le fichier"
|
||||||
|
|
||||||
#: ../src/view.c:510
|
#: ../src/view.c:514
|
||||||
msgid "Usage: view file...\n"
|
msgid "Usage: view file...\n"
|
||||||
msgstr "Usage: view fichier...\n"
|
msgstr "Usage: view fichier...\n"
|
||||||
|
|
22
po/it.po
22
po/it.po
|
@ -7,7 +7,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Browser 0.1.4\n"
|
"Project-Id-Version: Browser 0.1.4\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-02-01 15:17+0100\n"
|
"POT-Creation-Date: 2011-02-05 04:38+0100\n"
|
||||||
"PO-Revision-Date: 2010-04-07 23:18+0200\n"
|
"PO-Revision-Date: 2010-04-07 23:18+0200\n"
|
||||||
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
|
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
|
||||||
"Language-Team: Italian\n"
|
"Language-Team: Italian\n"
|
||||||
|
@ -189,12 +189,12 @@ msgstr ""
|
||||||
#: ../src/copy.c:672 ../src/delete.c:421 ../src/delete.c:426
|
#: ../src/copy.c:672 ../src/delete.c:421 ../src/delete.c:426
|
||||||
#: ../src/desktop.c:1439 ../src/desktop.c:1444 ../src/move.c:452
|
#: ../src/desktop.c:1439 ../src/desktop.c:1444 ../src/move.c:452
|
||||||
#: ../src/move.c:456 ../src/properties.c:114 ../src/properties.c:118
|
#: ../src/move.c:456 ../src/properties.c:114 ../src/properties.c:118
|
||||||
#: ../src/view.c:364 ../src/view.c:367
|
#: ../src/view.c:366 ../src/view.c:371
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/browser.c:753 ../src/desktopicon.c:814 ../src/view.c:144
|
#: ../src/browser.c:753 ../src/desktopicon.c:804 ../src/view.c:144
|
||||||
#: ../src/view.c:415
|
#: ../src/view.c:419
|
||||||
msgid "Open with..."
|
msgid "Open with..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -268,8 +268,8 @@ msgid "New folder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/callbacks.c:195 ../src/callbacks.c:201 ../src/callbacks.c:1051
|
#: ../src/callbacks.c:195 ../src/callbacks.c:201 ../src/callbacks.c:1051
|
||||||
#: ../src/callbacks.c:1056 ../src/desktopicon.c:796 ../src/desktopicon.c:801
|
#: ../src/callbacks.c:1056 ../src/desktopicon.c:784 ../src/desktopicon.c:789
|
||||||
#: ../src/desktopicon.c:848 ../src/desktopicon.c:853
|
#: ../src/desktopicon.c:836 ../src/desktopicon.c:841
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -311,7 +311,7 @@ msgstr ""
|
||||||
msgid "Open _with..."
|
msgid "Open _with..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/callbacks.c:1055 ../src/desktopicon.c:800
|
#: ../src/callbacks.c:1055 ../src/desktopicon.c:788
|
||||||
msgid "Are you sure you want to execute this file?"
|
msgid "Are you sure you want to execute this file?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -484,11 +484,11 @@ msgid ""
|
||||||
" -m\tMonitor where to display the desktop\n"
|
" -m\tMonitor where to display the desktop\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/desktopicon.c:851
|
#: ../src/desktopicon.c:839
|
||||||
msgid "Are you sure you want to delete "
|
msgid "Are you sure you want to delete "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/desktopicon.c:852
|
#: ../src/desktopicon.c:840
|
||||||
msgid " file(s)?"
|
msgid " file(s)?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -614,10 +614,10 @@ msgstr ""
|
||||||
msgid "View file..."
|
msgid "View file..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/view.c:403 ../src/view.c:496
|
#: ../src/view.c:407 ../src/view.c:500
|
||||||
msgid "Could not edit file"
|
msgid "Could not edit file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../src/view.c:510
|
#: ../src/view.c:514
|
||||||
msgid "Usage: view file...\n"
|
msgid "Usage: view file...\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
|
@ -13,7 +13,8 @@
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
* along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||||
/* FIXME
|
/* FIXME
|
||||||
* - track multiple selection on delete/properties... */
|
* - track multiple selection on delete/properties...
|
||||||
|
* - add a "Rename..." menu action */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -160,7 +161,7 @@ static int _desktop_get_workarea(Desktop * desktop);
|
||||||
/* desktop_new */
|
/* desktop_new */
|
||||||
/* callbacks */
|
/* callbacks */
|
||||||
static gboolean _new_idle(gpointer data);
|
static gboolean _new_idle(gpointer data);
|
||||||
static GdkFilterReturn _new_on_root_event(GdkXEvent * xevent, GdkEvent * event,
|
static GdkFilterReturn _on_root_event(GdkXEvent * xevent, GdkEvent * event,
|
||||||
gpointer data);
|
gpointer data);
|
||||||
|
|
||||||
Desktop * desktop_new(DesktopPrefs * prefs)
|
Desktop * desktop_new(DesktopPrefs * prefs)
|
||||||
|
@ -188,16 +189,15 @@ Desktop * desktop_new(DesktopPrefs * prefs)
|
||||||
desktop->home = "/";
|
desktop->home = "/";
|
||||||
desktop_set_layout(desktop, desktop->prefs.layout);
|
desktop_set_layout(desktop, desktop->prefs.layout);
|
||||||
/* manage root window events */
|
/* manage root window events */
|
||||||
gdk_add_client_message_filter(gdk_atom_intern(
|
gdk_add_client_message_filter(gdk_atom_intern(DESKTOP_CLIENT_MESSAGE,
|
||||||
DESKTOP_CLIENT_MESSAGE, FALSE),
|
FALSE), _on_root_event, desktop);
|
||||||
_new_on_root_event, desktop);
|
|
||||||
gdk_window_get_geometry(desktop->root, &desktop->window.x,
|
gdk_window_get_geometry(desktop->root, &desktop->window.x,
|
||||||
&desktop->window.y, &desktop->window.width,
|
&desktop->window.y, &desktop->window.width,
|
||||||
&desktop->window.height, &depth);
|
&desktop->window.height, &depth);
|
||||||
gdk_window_set_events(desktop->root, gdk_window_get_events(
|
gdk_window_set_events(desktop->root, gdk_window_get_events(
|
||||||
desktop->root) | GDK_BUTTON_PRESS_MASK
|
desktop->root) | GDK_BUTTON_PRESS_MASK
|
||||||
| GDK_PROPERTY_CHANGE_MASK);
|
| GDK_PROPERTY_CHANGE_MASK);
|
||||||
gdk_window_add_filter(desktop->root, _new_on_root_event, desktop);
|
gdk_window_add_filter(desktop->root, _on_root_event, desktop);
|
||||||
/* draw background when idle */
|
/* draw background when idle */
|
||||||
g_idle_add(_new_idle, desktop);
|
g_idle_add(_new_idle, desktop);
|
||||||
return desktop;
|
return desktop;
|
||||||
|
@ -288,7 +288,7 @@ static void _on_popup_paste(gpointer data);
|
||||||
static void _on_popup_preferences(gpointer data);
|
static void _on_popup_preferences(gpointer data);
|
||||||
static void _on_popup_symlink(gpointer data);
|
static void _on_popup_symlink(gpointer data);
|
||||||
|
|
||||||
static GdkFilterReturn _new_on_root_event(GdkXEvent * xevent, GdkEvent * event,
|
static GdkFilterReturn _on_root_event(GdkXEvent * xevent, GdkEvent * event,
|
||||||
gpointer data)
|
gpointer data)
|
||||||
{
|
{
|
||||||
Desktop * desktop = data;
|
Desktop * desktop = data;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* $Id$ */
|
/* $Id$ */
|
||||||
/* Copyright (c) 2010 Pierre Pronchery <khorben@defora.org> */
|
/* Copyright (c) 2011 Pierre Pronchery <khorben@defora.org> */
|
||||||
/* This file is part of DeforaOS Desktop Browser */
|
/* This file is part of DeforaOS Desktop Browser */
|
||||||
/* This program is free software: you can redistribute it and/or modify
|
/* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -718,7 +718,9 @@ static void _on_icon_open(gpointer data)
|
||||||
{
|
{
|
||||||
DesktopIcon * desktopicon = data;
|
DesktopIcon * desktopicon = data;
|
||||||
Mime * mime;
|
Mime * mime;
|
||||||
pid_t pid;
|
char * argv[] = { "browser", "browser", "--", NULL, NULL };
|
||||||
|
GSpawnFlags flags = G_SPAWN_SEARCH_PATH | G_SPAWN_FILE_AND_ARGV_ZERO;
|
||||||
|
GError * error = NULL;
|
||||||
|
|
||||||
if(desktopicon->path == NULL && desktopicon->callback != NULL)
|
if(desktopicon->path == NULL && desktopicon->callback != NULL)
|
||||||
{
|
{
|
||||||
|
@ -733,16 +735,10 @@ static void _on_icon_open(gpointer data)
|
||||||
_on_icon_open_with(desktopicon);
|
_on_icon_open_with(desktopicon);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if((pid = fork()) == -1)
|
argv[3] = desktopicon->path;
|
||||||
{
|
if(g_spawn_async(NULL, argv, NULL, flags, NULL, NULL, NULL, &error)
|
||||||
desktop_error(desktopicon->desktop, "fork", 0);
|
!= TRUE)
|
||||||
return;
|
desktop_error(desktopicon->desktop, argv[0], 1); /* XXX */
|
||||||
}
|
|
||||||
if(pid != 0)
|
|
||||||
return;
|
|
||||||
execlp("browser", "browser", "--", desktopicon->path, NULL);
|
|
||||||
fprintf(stderr, "%s%s\n", "desktop: browser: ", strerror(errno));
|
|
||||||
exit(127);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void _on_icon_edit(gpointer data)
|
static void _on_icon_edit(gpointer data)
|
||||||
|
@ -758,31 +754,23 @@ static gboolean _run_confirm(DesktopIcon * desktopicon);
|
||||||
static void _on_icon_run(gpointer data)
|
static void _on_icon_run(gpointer data)
|
||||||
{
|
{
|
||||||
DesktopIcon * desktopicon = data;
|
DesktopIcon * desktopicon = data;
|
||||||
pid_t pid;
|
char * argv[] = { NULL, NULL, NULL };
|
||||||
|
GSpawnFlags flags = G_SPAWN_SEARCH_PATH | G_SPAWN_FILE_AND_ARGV_ZERO;
|
||||||
|
GError * error = NULL;
|
||||||
|
|
||||||
if(desktopicon->confirm != FALSE && _run_confirm(desktopicon) != TRUE)
|
if(desktopicon->confirm != FALSE && _run_confirm(desktopicon) != TRUE)
|
||||||
return;
|
return;
|
||||||
if((pid = fork()) == -1)
|
|
||||||
desktop_error(desktopicon->desktop, "fork", 0);
|
|
||||||
else if(pid != 0)
|
|
||||||
return;
|
|
||||||
if(desktopicon->tryexec != NULL) /* XXX ugly */
|
if(desktopicon->tryexec != NULL) /* XXX ugly */
|
||||||
{
|
argv[0] = desktopicon->tryexec;
|
||||||
execlp(desktopicon->tryexec, desktopicon->tryexec, NULL);
|
else if(desktopicon->exec != NULL)
|
||||||
desktop_error(NULL, desktopicon->tryexec, 0);
|
|
||||||
}
|
|
||||||
if(desktopicon->exec != NULL)
|
|
||||||
{
|
|
||||||
/* FIXME it's actually a format string */
|
/* FIXME it's actually a format string */
|
||||||
execlp(desktopicon->exec, desktopicon->exec, NULL);
|
argv[0] = desktopicon->exec;
|
||||||
desktop_error(NULL, desktopicon->exec, 0);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
argv[0] = desktopicon->path;
|
||||||
execl(desktopicon->path, desktopicon->path, NULL);
|
argv[1] = argv[0];
|
||||||
desktop_error(NULL, desktopicon->path, 0);
|
if(g_spawn_async(NULL, argv, NULL, flags, NULL, NULL, NULL, &error)
|
||||||
}
|
!= TRUE)
|
||||||
exit(127);
|
desktop_error(desktopicon->desktop, argv[0], 1); /* XXX */
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean _run_confirm(DesktopIcon * desktopicon)
|
static gboolean _run_confirm(DesktopIcon * desktopicon)
|
||||||
|
@ -809,7 +797,9 @@ static void _on_icon_open_with(gpointer data)
|
||||||
DesktopIcon * desktopicon = data;
|
DesktopIcon * desktopicon = data;
|
||||||
GtkWidget * dialog;
|
GtkWidget * dialog;
|
||||||
char * filename = NULL;
|
char * filename = NULL;
|
||||||
pid_t pid;
|
char * argv[] = { NULL, NULL, NULL, NULL };
|
||||||
|
GSpawnFlags flags = G_SPAWN_SEARCH_PATH | G_SPAWN_FILE_AND_ARGV_ZERO;
|
||||||
|
GError * error = NULL;
|
||||||
|
|
||||||
dialog = gtk_file_chooser_dialog_new(_("Open with..."),
|
dialog = gtk_file_chooser_dialog_new(_("Open with..."),
|
||||||
GTK_WINDOW(desktopicon->window),
|
GTK_WINDOW(desktopicon->window),
|
||||||
|
@ -822,14 +812,12 @@ static void _on_icon_open_with(gpointer data)
|
||||||
gtk_widget_destroy(dialog);
|
gtk_widget_destroy(dialog);
|
||||||
if(filename == NULL)
|
if(filename == NULL)
|
||||||
return;
|
return;
|
||||||
if((pid = fork()) == -1)
|
argv[0] = filename;
|
||||||
desktop_error(desktopicon->desktop, "fork", 0);
|
argv[1] = filename;
|
||||||
else if(pid == 0)
|
argv[2] = desktopicon->path;
|
||||||
{
|
if(g_spawn_async(NULL, argv, NULL, flags, NULL, NULL, NULL, &error)
|
||||||
execlp(filename, filename, desktopicon->path, NULL);
|
!= TRUE)
|
||||||
desktop_error(NULL, filename, 0);
|
desktop_error(desktopicon->desktop, argv[0], 1); /* XXX */
|
||||||
exit(127);
|
|
||||||
}
|
|
||||||
g_free(filename);
|
g_free(filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -858,7 +846,7 @@ static void _on_icon_delete(gpointer data)
|
||||||
/* FIXME check if needs UTF-8 conversion */
|
/* FIXME check if needs UTF-8 conversion */
|
||||||
selection = g_list_append(selection, desktopicon->path);
|
selection = g_list_append(selection, desktopicon->path);
|
||||||
if(_common_exec("delete", "-ir", selection) != 0)
|
if(_common_exec("delete", "-ir", selection) != 0)
|
||||||
desktop_error(desktopicon->desktop, "fork", 0);
|
desktop_error(desktopicon->desktop, "fork", 1);
|
||||||
g_list_free(selection);
|
g_list_free(selection);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -866,18 +854,14 @@ static void _on_icon_delete(gpointer data)
|
||||||
static void _on_icon_properties(gpointer data)
|
static void _on_icon_properties(gpointer data)
|
||||||
{
|
{
|
||||||
DesktopIcon * desktopicon = data;
|
DesktopIcon * desktopicon = data;
|
||||||
pid_t pid;
|
char * argv[] = { "properties", "properties", "--", NULL, NULL };
|
||||||
|
GSpawnFlags flags = G_SPAWN_SEARCH_PATH | G_SPAWN_FILE_AND_ARGV_ZERO;
|
||||||
|
GError * error = NULL;
|
||||||
|
|
||||||
if((pid = fork()) == -1)
|
argv[3] = desktopicon->path;
|
||||||
{
|
if(g_spawn_async(NULL, argv, NULL, flags, NULL, NULL, NULL, &error)
|
||||||
desktop_error(desktopicon->desktop, "fork", 0);
|
!= TRUE)
|
||||||
return;
|
desktop_error(desktopicon->desktop, argv[0], 1); /* XXX */
|
||||||
}
|
|
||||||
else if(pid != 0)
|
|
||||||
return;
|
|
||||||
execlp("properties", "properties", "--", desktopicon->path, NULL);
|
|
||||||
desktop_error(NULL, "properties", 0);
|
|
||||||
exit(127);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean _on_icon_key_press(GtkWidget * widget, GdkEventKey * event,
|
static gboolean _on_icon_key_press(GtkWidget * widget, GdkEventKey * event,
|
||||||
|
@ -920,5 +904,5 @@ static void _on_icon_drag_data_received(GtkWidget * widget,
|
||||||
DesktopIcon * desktopicon = data;
|
DesktopIcon * desktopicon = data;
|
||||||
|
|
||||||
if(_common_drag_data_received(context, seldata, desktopicon->path) != 0)
|
if(_common_drag_data_received(context, seldata, desktopicon->path) != 0)
|
||||||
desktop_error(desktopicon->desktop, "fork", 0);
|
desktop_error(desktopicon->desktop, "fork", 1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user