aboutsummaryrefslogtreecommitdiffhomepage
path: root/uzbl-core.c
diff options
context:
space:
mode:
Diffstat (limited to 'uzbl-core.c')
-rw-r--r--uzbl-core.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/uzbl-core.c b/uzbl-core.c
index b3a0f0f..a290369 100644
--- a/uzbl-core.c
+++ b/uzbl-core.c
@@ -52,7 +52,7 @@ GOptionEntry entries[] =
{ "socket", 's', 0, G_OPTION_ARG_INT, &uzbl.state.socket_id,
"Socket ID", "SOCKET" },
{ "connect-socket", 0, 0, G_OPTION_ARG_STRING_ARRAY, &uzbl.state.connect_socket_names,
- "Socket Name", "CSOCKET" },
+ "Connect to server socket", "CSOCKET" },
{ "geometry", 'g', 0, G_OPTION_ARG_STRING, &uzbl.gui.geometry,
"Set window geometry (format: WIDTHxHEIGHT+-X+-Y)", "GEOMETRY" },
{ "version", 'V', 0, G_OPTION_ARG_NONE, &uzbl.behave.print_version,
@@ -1927,6 +1927,7 @@ create_browser () {
"signal::key-press-event", (GCallback)key_press_cb, NULL,
"signal::key-release-event", (GCallback)key_release_cb, NULL,
"signal::button-press-event", (GCallback)button_press_cb, NULL,
+ "signal::button-release-event", (GCallback)button_release_cb, NULL,
"signal::title-changed", (GCallback)title_change_cb, NULL,
"signal::selection-changed", (GCallback)selection_changed_cb, NULL,
"signal::load-progress-changed", (GCallback)progress_change_cb, NULL,
@@ -2305,6 +2306,15 @@ retrieve_geometry() {
* external applications need to do anyhow */
void
initialize(int argc, char *argv[]) {
+ int i;
+
+ for(i=0; i<argc; ++i) {
+ if(!strcmp(argv[i], "-s") || !strcmp(argv[i], "--socket")) {
+ uzbl.state.plug_mode = TRUE;
+ break;
+ }
+ }
+
if (!g_thread_supported ())
g_thread_init (NULL);
gtk_init (&argc, &argv);
@@ -2404,7 +2414,7 @@ main (int argc, char* argv[]) {
gtk_box_pack_start (GTK_BOX (uzbl.gui.vbox), uzbl.gui.scrolled_win, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (uzbl.gui.vbox), uzbl.gui.mainbar, FALSE, TRUE, 0);
- if (uzbl.state.socket_id) {
+ if (uzbl.state.plug_mode) {
uzbl.gui.plug = create_plug ();
gtk_container_add (GTK_CONTAINER (uzbl.gui.plug), uzbl.gui.vbox);
gtk_widget_show_all (GTK_WIDGET (uzbl.gui.plug));
@@ -2437,6 +2447,12 @@ main (int argc, char* argv[]) {
uzbl.info.pid_str = g_string_free(tmp, FALSE);
send_event(INSTANCE_START, uzbl.info.pid_str, NULL);
+ if(uzbl.state.plug_mode) {
+ char *t = itos(gtk_plug_get_id(uzbl.gui.plug));
+ send_event(PLUG_CREATED, t, NULL);
+ g_free(t);
+ }
+
gtk_widget_grab_focus (GTK_WIDGET (uzbl.gui.web_view));
if (uzbl.state.verbose) {