aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--README4
-rwxr-xr-xexamples/data/uzbl/scripts/uzblcat22
-rw-r--r--uzbl.c64
-rw-r--r--uzbl.h6
4 files changed, 8 insertions, 88 deletions
diff --git a/README b/README
index 3314bf7..b36293c 100644
--- a/README
+++ b/README
@@ -174,11 +174,7 @@ Besides the builtin variables you can also define your own ones and use them in
* Variables:
- uri (callback: load the uri)
- verbose: affects output on stdout
- - mode:insert or command mode
- inject_html
- - base_url: used when passing html through stdin
- - html_endmarker: delimiter when passing html through stdin
- - html_mode_timeout: consider end of html input after x seconds when no endmarker found
- keycmd: holds the input buffer (callback: update input buffer)
- status_message (callback: update title)
- show_status: show statusbar or not
diff --git a/examples/data/uzbl/scripts/uzblcat b/examples/data/uzbl/scripts/uzblcat
index 5c3063e..e955608 100755
--- a/examples/data/uzbl/scripts/uzblcat
+++ b/examples/data/uzbl/scripts/uzblcat
@@ -1,20 +1,12 @@
-#!/usr/bin/env perl
+#!/usr/bin/env python
# uzblcat - safely push html to uzbl
# See http://www.uzbl.org/wiki/html-mode
-use strict; use warnings;
-my $html;
-local $/; # slurp files
-# automagically choose to read from stdin/files/...
-$html .= $_ for <>;
+from sys import stdin, stdout
-my $endmarker = rand;
-$endmarker .= rand() while $html =~ /^\Q$endmarker\E$/m;
+stdout.write("uri data:text/html,")
+for line in stdin:
+ stdout.write(line[0:-1])
+
+# vim: set noet ff=unix
-print "set base_url = $ENV{BASE_URL}\n" if $ENV{BASE_URL};
-print << "EOS";
-set html_endmarker = $endmarker
-set mode = 1
-$html
-$endmarker
-EOS
diff --git a/uzbl.c b/uzbl.c
index e2148fd..38dcc5f 100644
--- a/uzbl.c
+++ b/uzbl.c
@@ -115,11 +115,8 @@ const struct var_name_to_ptr_t {
/* ---------------------------------------------------------------------------------------------- */
{ "uri", PTR_V_STR(uzbl.state.uri, 1, cmd_load_uri)},
{ "verbose", PTR_V_INT(uzbl.state.verbose, 1, NULL)},
- { "mode", PTR_V_INT(uzbl.behave.mode, 0, NULL)},
{ "inject_html", PTR_V_STR(uzbl.behave.inject_html, 0, cmd_inject_html)},
{ "base_url", PTR_V_STR(uzbl.behave.base_url, 1, NULL)},
- { "html_endmarker", PTR_V_STR(uzbl.behave.html_endmarker, 1, NULL)},
- { "html_mode_timeout", PTR_V_INT(uzbl.behave.html_timeout, 1, NULL)},
{ "keycmd", PTR_V_STR(uzbl.state.keycmd, 1, set_keycmd)},
{ "status_message", PTR_V_STR(uzbl.gui.sbar.msg, 1, update_title)},
{ "show_status", PTR_V_INT(uzbl.behave.show_status, 1, cmd_set_status)},
@@ -496,20 +493,6 @@ clean_up(void) {
g_hash_table_destroy(uzbl.behave.commands);
}
-/* used for html_mode_timeout
- * be sure to extend this function to use
- * more timers if needed in other places
-*/
-void
-set_timeout(int seconds) {
- struct itimerval t;
- memset(&t, 0, sizeof t);
-
- t.it_value.tv_sec = seconds;
- t.it_value.tv_usec = 0;
- setitimer(ITIMER_REAL, &t, NULL);
-}
-
/* --- SIGNAL HANDLER --- */
void
@@ -525,15 +508,6 @@ catch_sigint(int s) {
exit(EXIT_SUCCESS);
}
-void
-catch_alrm(int s) {
- (void) s;
-
- set_var_value("mode", "0");
- render_html();
-}
-
-
/* --- CALLBACKS --- */
gboolean
@@ -1920,40 +1894,12 @@ set_var_value(const gchar *name, gchar *val) {
return TRUE;
}
-void
-render_html() {
- Behaviour *b = &uzbl.behave;
-
- if(b->html_buffer->str) {
- webkit_web_view_load_html_string (uzbl.gui.web_view,
- b->html_buffer->str, b->base_url);
- g_string_free(b->html_buffer, TRUE);
- b->html_buffer = g_string_new("");
- }
-}
-
enum {M_CMD, M_HTML};
void
parse_cmd_line(const char *ctl_line, GString *result) {
- Behaviour *b = &uzbl.behave;
size_t len=0;
- if(b->mode == M_HTML) {
- len = strlen(b->html_endmarker);
- /* ctl_line has trailing '\n' so we check for strlen(ctl_line)-1 */
- if(len == strlen(ctl_line)-1 &&
- !strncmp(b->html_endmarker, ctl_line, len)) {
- set_timeout(0);
- set_var_value("mode", "0");
- render_html();
- return;
- }
- else {
- set_timeout(b->html_timeout);
- g_string_append(b->html_buffer, ctl_line);
- }
- }
- else if((ctl_line[0] == '#') /* Comments */
+ if((ctl_line[0] == '#') /* Comments */
|| (ctl_line[0] == ' ')
|| (ctl_line[0] == '\n'))
; /* ignore these lines */
@@ -2844,19 +2790,11 @@ initialize(int argc, char *argv[]) {
fprintf(stderr, "uzbl: error hooking SIGTERM\n");
if(setup_signal(SIGINT, catch_sigint) == SIG_ERR)
fprintf(stderr, "uzbl: error hooking SIGINT\n");
- if(setup_signal(SIGALRM, catch_alrm) == SIG_ERR)
- fprintf(stderr, "uzbl: error hooking SIGALARM\n");
uzbl.gui.sbar.progress_s = g_strdup("="); //TODO: move these to config.h
uzbl.gui.sbar.progress_u = g_strdup("ยท");
uzbl.gui.sbar.progress_w = 10;
- /* HTML mode defaults*/
- uzbl.behave.html_buffer = g_string_new("");
- uzbl.behave.html_endmarker = g_strdup(".");
- uzbl.behave.html_timeout = 60;
- uzbl.behave.base_url = g_strdup("http://invalid");
-
/* default mode indicators */
uzbl.behave.insert_indicator = g_strdup("I");
uzbl.behave.cmd_indicator = g_strdup("C");
diff --git a/uzbl.h b/uzbl.h
index b99a89c..b175ccb 100644
--- a/uzbl.h
+++ b/uzbl.h
@@ -134,11 +134,8 @@ typedef struct {
guint caret_browsing;
guint mode;
gchar* base_url;
- gchar* html_endmarker;
gchar* insert_indicator;
gchar* cmd_indicator;
- GString* html_buffer;
- guint html_timeout;
gboolean print_version;
/* command list: name -> Command */
@@ -451,9 +448,6 @@ void
act_dump_config();
void
-render_html();
-
-void
set_timeout(int seconds);
void