]> spindle.queued.net Git - midori/commitdiff
Speficy -r or --run to run a file as javascript
authorChristian Dywan <christian@twotoasts.de>
Thu, 16 Oct 2008 18:54:26 +0000 (20:54 +0200)
committerChristian Dywan <christian@twotoasts.de>
Thu, 16 Oct 2008 18:54:26 +0000 (20:54 +0200)
docs/user/midori.txt
midori/main.c

index 3e38ddfc36c39b5f2f7a8c6e1d25aedac0af6a84..26e4138324b5e792f94652addc18592ad1f710eb 100644 (file)
@@ -111,9 +111,9 @@ Running Midori normally works as follows:
   You can separate URIS by a pipe (|) as well. They are handled as if you
   provided all URIs as separate arguments.
 
-* $ midori [JAVASCRIPT]
+* $ midori --run [JAVASCRIPT]
 
-  If you pass a filename ending with ".js" Midori will attempt to run
+  If you pass the filename of a javascript Midori will attempt to run
   the contents of the file as javascript code.
 
 
@@ -127,6 +127,8 @@ The following arguments are supported if you call Midori from a command line.
 +-------+--------------------+------------------------------------------------+
 | Short | Long option        | Function                                       |
 +=======+====================+================================================+
+| -r    | --run              | Run the specified filename as javascript       |
++-------+--------------------+------------------------------------------------+
 | -v    | --version          |  Show version information and exit.            |
 +-------+--------------------+------------------------------------------------+
 
index 1c6e5410f495fede38f21a520c9dc19ccf0233ce..20d3d748382f76d96a37795266eb66b05ef35530 100644 (file)
@@ -1049,6 +1049,7 @@ int
 main (int    argc,
       char** argv)
 {
+    gboolean run;
     gboolean version;
     gchar** uris;
     MidoriApp* app;
@@ -1056,6 +1057,8 @@ main (int    argc,
     GError* error;
     GOptionEntry entries[] =
     {
+       { "run", 'r', 0, G_OPTION_ARG_NONE, &run,
+       N_("Run the specified filename as javascript"), NULL },
        { "version", 'v', 0, G_OPTION_ARG_NONE, &version,
        N_("Display program version"), NULL },
        { G_OPTION_REMAINING, 0, 0, G_OPTION_ARG_STRING_ARRAY, &uris,
@@ -1089,6 +1092,7 @@ main (int    argc,
     #endif
 
     /* Parse cli options */
+    run = FALSE;
     version = FALSE;
     uris = NULL;
     error = NULL;
@@ -1121,16 +1125,24 @@ main (int    argc,
     }
 
     /* Standalone gjs support */
-    if (uris && uris[0] && g_str_has_suffix (uris[0], ".js"))
+    if (run)
     {
-        js_context = gjs_global_context_new ();
-        exception = NULL;
-        gjs_script_from_file (js_context, uris[0], &exception);
-        JSGlobalContextRelease (js_context);
-        if (!exception)
-            return 0;
-        printf ("%s - Exception: %s\n", uris[0], exception);
-        return 1;
+        if (uris && *uris)
+        {
+            js_context = gjs_global_context_new ();
+            exception = NULL;
+            gjs_script_from_file (js_context, *uris, &exception);
+            JSGlobalContextRelease (js_context);
+            if (!exception)
+                return 0;
+            g_print ("%s - Exception: %s\n", *uris, exception);
+            return 1;
+        }
+        else
+        {
+            g_print ("%s - %s\n", _("Midori"), _("No filename specified"));
+            return 1;
+        }
     }
 
     app = midori_app_new ();