File clipboard-daemon-gtk3.patch of Package clipboard-daemon
--- a/clipboard-daemon.c
+++ b/clipboard-daemon.c
@@ -45,11 +45,11 @@ save_clipboard_data (GtkSelectionData *c
not equal GDK_SELECTION_TYPE_ATOM (4). That's why gtk_selection_data_get_targets()
fails. */
- count = content->length / sizeof (Atom);
+ count = gtk_selection_data_get_length (content) / sizeof (Atom);
atoms = g_new0 (GdkAtom, count);
for (i = 0; i < count; i++)
- atoms[i] = gdk_x11_xatom_to_atom ((Atom) content->data[i * sizeof (Atom)]);
+ atoms[i] = gdk_x11_xatom_to_atom ((Atom) gtk_selection_data_get_data (content)[i * sizeof (Atom)]);
}
for (i = 0; i < count; i++)
@@ -76,8 +76,11 @@ clipboard_get_func (GtkClipboard *cb, Gt
SelectionDataEntry *data_entry;
data_entry = GINT_TO_POINTER ((guint) info);
- gtk_selection_data_set (data, data_entry->data->type, data_entry->data->format,
- data_entry->data->data, data_entry->data->length);
+ gtk_selection_data_set (data,
+ gtk_selection_data_get_data_type (data_entry->data),
+ gtk_selection_data_get_format (data_entry->data),
+ gtk_selection_data_get_data (data_entry->data),
+ gtk_selection_data_get_length (data_entry->data));
}
@@ -100,7 +103,7 @@ claim_clipboard ()
targets = selection_data_list_make_targets (clipboard_saved, &n_targets);
if (!gtk_clipboard_set_with_data (clipboard, targets, n_targets,
clipboard_get_func, clipboard_clear_func, NULL))
- gtk_timeout_add (1500, check_clipboard, NULL);
+ g_timeout_add (1500, check_clipboard, NULL);
g_free (targets);
}
@@ -116,7 +119,7 @@ check_clipboard (gpointer reclaim)
if (content)
{
gtk_selection_data_free (content);
- gtk_timeout_add (1000, check_clipboard, NULL);
+ g_timeout_add (1000, check_clipboard, NULL);
return FALSE;
}
@@ -127,9 +130,10 @@ check_clipboard (gpointer reclaim)
gboolean saved = FALSE;
/* Save the clipboard content and claim ownership */
- name = gdk_atom_name (content->type);
+ name = gdk_atom_name (gtk_selection_data_get_data_type (content));
if (name && (strcmp (name, "ATOM") == 0
- || (strcmp (name, "TARGETS") == 0 && content->length > -1)))
+ || (strcmp (name, "TARGETS") == 0
+ && gtk_selection_data_get_length (content) > -1)))
saved = save_clipboard_data (content);
else
g_print ("Unknown atom %s???\n", name);
@@ -139,7 +143,7 @@ check_clipboard (gpointer reclaim)
claim_clipboard ();
else
/* Saving failed; try again */
- gtk_timeout_add (500, check_clipboard, NULL);
+ g_timeout_add (500, check_clipboard, NULL);
}
else if (GPOINTER_TO_INT (reclaim))
/* We lost the clipboard ownership but the new clipboard doesn't have data.
@@ -148,7 +152,7 @@ check_clipboard (gpointer reclaim)
claim_clipboard ();
else
/* No clipboard data; try again in 500 msec */
- gtk_timeout_add (500, check_clipboard, NULL);
+ g_timeout_add (500, check_clipboard, NULL);
return FALSE;
}
@@ -164,7 +168,7 @@ clipboard_daemon_start ()
if (XGetSelectionOwner (gdk_x11_get_default_xdisplay (), gdk_x11_atom_to_xatom (daemon)) != None)
{
/* Yes; try to start the daemon again in 3 seconds */
- gtk_timeout_add (3000, (GtkFunction) clipboard_daemon_start, NULL);
+ g_timeout_add (3000, clipboard_daemon_start, NULL);
return FALSE;
}
--- a/Makefile
+++ b/Makefile
@@ -7,16 +7,16 @@ VERSION=1.0
all: clipboard-daemon
clipboard-daemon: main.o clipboard-daemon.o selection-data-list.o
- $(CC) $(CFLAGS) main.o clipboard-daemon.o selection-data-list.o -o clipboard-daemon `pkg-config --libs gtk+-2.0`
+ $(CC) $(CFLAGS) main.o clipboard-daemon.o selection-data-list.o -o clipboard-daemon `pkg-config --libs x11 glib-2.0 gtk+-3.0`
main.o: main.c
- $(CC) $(CFLAGS) -c main.c -o main.o `pkg-config --cflags gtk+-2.0`
+ $(CC) $(CFLAGS) -c main.c -o main.o `pkg-config --cflags x11 glib-2.0 gtk+-3.0`
clipboard-daemon.o: clipboard-daemon.c clipboard-daemon.h
- $(CC) $(CFLAGS) -c clipboard-daemon.c -o clipboard-daemon.o `pkg-config --cflags gtk+-2.0`
+ $(CC) $(CFLAGS) -c clipboard-daemon.c -o clipboard-daemon.o `pkg-config --cflags x11 glib-2.0 gtk+-3.0`
selection-data-list.o: selection-data-list.c selection-data-list.h
- $(CC) $(CFLAGS) -c selection-data-list.c -o selection-data-list.o `pkg-config --cflags gtk+-2.0`
+ $(CC) $(CFLAGS) -c selection-data-list.c -o selection-data-list.o `pkg-config --cflags x11 glib-2.0 gtk+-3.0`
distdir:
rm -rf clipboard-daemon-$(VERSION)
--- a/selection-data-list.c
+++ b/selection-data-list.c
@@ -87,7 +87,8 @@ selection_data_list_make_targets (Select
entries[i].target = data_entry->name;
entries[i].info = (guint) GPOINTER_TO_INT (data_entry);
if (data_entry->data)
- entries[i].flags = (guint) data_entry->data->type;
+ entries[i].flags = (guint)
+ gtk_selection_data_get_data_type (data_entry->data);
i++;
}
*n_targets = i;