Merge pull request #43 from pblaszczyk/spaces_gtk3
Add optional support for GTK+3.
This commit is contained in:
commit
a8de309ee0
2
README
2
README
|
@ -22,7 +22,7 @@ How to compile and install clipit
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
Requirements:
|
Requirements:
|
||||||
* gtk+ >= 2.10.0
|
* gtk+ >= 2.10.0 (>= 3.0 for gtk+3)
|
||||||
* xdotool - for automatic paste functionality
|
* xdotool - for automatic paste functionality
|
||||||
|
|
||||||
Download the clipit source code, then:
|
Download the clipit source code, then:
|
||||||
|
|
|
@ -88,7 +88,14 @@ AC_PROG_MAKE_SET()
|
||||||
# -------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------
|
||||||
# Checks for libraries.
|
# Checks for libraries.
|
||||||
# -------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------
|
||||||
AM_PATH_GTK_2_0(2.10.0, [], AC_MSG_ERROR(Requirement not met: gtk >= 2.10.0))
|
AC_ARG_WITH([gtk3], AS_HELP_STRING([--with-gtk3], [Build with the GTK+ 3 interface]))
|
||||||
|
|
||||||
|
if test "x$with_gtk3" = "xyes"; then
|
||||||
|
PKG_CHECK_MODULES([GTK], [gtk+-3.0])
|
||||||
|
else
|
||||||
|
PKG_CHECK_MODULES([GTK], [gtk+-2.0 >= 2.10])
|
||||||
|
fi
|
||||||
|
|
||||||
AM_PATH_GLIB_2_0(2.14.0, [], AC_MSG_ERROR(Requirement not met: glib >= 2.14.0))
|
AM_PATH_GLIB_2_0(2.14.0, [], AC_MSG_ERROR(Requirement not met: glib >= 2.14.0))
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
AM_CPPFLAGS = -I$(top_srcdir)
|
AM_CPPFLAGS = -I$(top_srcdir)
|
||||||
AM_CFLAGS = -Wall -g -DCLIPITLOCALEDIR=\""$(clipitlocaledir)"\"
|
AM_CFLAGS = -Wall -g -DCLIPITLOCALEDIR=\""$(clipitlocaledir)"\"
|
||||||
## FIXME!!!
|
## FIXME!!!
|
||||||
INCLUDES = $(GTK_CFLAGS) $(APPINDICATOR_CFLAGS) -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include
|
INCLUDES = $(GTK_CFLAGS) $(APPINDICATOR_CFLAGS)
|
||||||
LDADD = $(GTK_LIBS) $(APPINDICATOR_LIBS) $(X11_LIBS)
|
LDADD = $(GTK_LIBS) $(APPINDICATOR_LIBS) $(X11_LIBS)
|
||||||
AM_LDFLAGS = -Wl,--as-needed
|
AM_LDFLAGS = -Wl,--as-needed
|
||||||
|
|
||||||
|
|
|
@ -579,20 +579,20 @@ reload_modmap (GdkKeymap *keymap,
|
||||||
j = 0;
|
j = 0;
|
||||||
while (j < n_entries)
|
while (j < n_entries)
|
||||||
{
|
{
|
||||||
if (keyvals[j] == GDK_Num_Lock)
|
if (keyvals[j] == GDK_KEY_Num_Lock)
|
||||||
mask |= EGG_VIRTUAL_NUM_LOCK_MASK;
|
mask |= EGG_VIRTUAL_NUM_LOCK_MASK;
|
||||||
else if (keyvals[j] == GDK_Scroll_Lock)
|
else if (keyvals[j] == GDK_KEY_Scroll_Lock)
|
||||||
mask |= EGG_VIRTUAL_SCROLL_LOCK_MASK;
|
mask |= EGG_VIRTUAL_SCROLL_LOCK_MASK;
|
||||||
else if (keyvals[j] == GDK_Meta_L ||
|
else if (keyvals[j] == GDK_KEY_Meta_L ||
|
||||||
keyvals[j] == GDK_Meta_R)
|
keyvals[j] == GDK_KEY_Meta_R)
|
||||||
mask |= EGG_VIRTUAL_META_MASK;
|
mask |= EGG_VIRTUAL_META_MASK;
|
||||||
else if (keyvals[j] == GDK_Hyper_L ||
|
else if (keyvals[j] == GDK_KEY_Hyper_L ||
|
||||||
keyvals[j] == GDK_Hyper_R)
|
keyvals[j] == GDK_KEY_Hyper_R)
|
||||||
mask |= EGG_VIRTUAL_HYPER_MASK;
|
mask |= EGG_VIRTUAL_HYPER_MASK;
|
||||||
else if (keyvals[j] == GDK_Super_L ||
|
else if (keyvals[j] == GDK_KEY_Super_L ||
|
||||||
keyvals[j] == GDK_Super_R)
|
keyvals[j] == GDK_KEY_Super_R)
|
||||||
mask |= EGG_VIRTUAL_SUPER_MASK;
|
mask |= EGG_VIRTUAL_SUPER_MASK;
|
||||||
else if (keyvals[j] == GDK_Mode_switch)
|
else if (keyvals[j] == GDK_KEY_Mode_switch)
|
||||||
mask |= EGG_VIRTUAL_MODE_SWITCH_MASK;
|
mask |= EGG_VIRTUAL_MODE_SWITCH_MASK;
|
||||||
|
|
||||||
++j;
|
++j;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#ifndef __EGG_ACCELERATORS_H__
|
#ifndef __EGG_ACCELERATORS_H__
|
||||||
#define __EGG_ACCELERATORS_H__
|
#define __EGG_ACCELERATORS_H__
|
||||||
|
|
||||||
#include <gtk/gtkaccelgroup.h>
|
#include <gtk/gtk.h>
|
||||||
#include <gdk/gdk.h>
|
#include <gdk/gdk.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
|
@ -86,7 +86,7 @@ grab_ungrab_with_ignorable_modifiers (GdkWindow *rootwin,
|
||||||
XGrabKey (GDK_WINDOW_XDISPLAY (rootwin),
|
XGrabKey (GDK_WINDOW_XDISPLAY (rootwin),
|
||||||
binding->keycode,
|
binding->keycode,
|
||||||
binding->modifiers | mod_masks [i],
|
binding->modifiers | mod_masks [i],
|
||||||
GDK_WINDOW_XWINDOW (rootwin),
|
GDK_WINDOW_XID (rootwin),
|
||||||
False,
|
False,
|
||||||
GrabModeAsync,
|
GrabModeAsync,
|
||||||
GrabModeAsync);
|
GrabModeAsync);
|
||||||
|
@ -94,7 +94,7 @@ grab_ungrab_with_ignorable_modifiers (GdkWindow *rootwin,
|
||||||
XUngrabKey (GDK_WINDOW_XDISPLAY (rootwin),
|
XUngrabKey (GDK_WINDOW_XDISPLAY (rootwin),
|
||||||
binding->keycode,
|
binding->keycode,
|
||||||
binding->modifiers | mod_masks [i],
|
binding->modifiers | mod_masks [i],
|
||||||
GDK_WINDOW_XWINDOW (rootwin));
|
GDK_WINDOW_XID (rootwin));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -309,7 +309,8 @@ keybinder_is_modifier (guint keycode)
|
||||||
XModifierKeymap *mod_keymap;
|
XModifierKeymap *mod_keymap;
|
||||||
gboolean retval = FALSE;
|
gboolean retval = FALSE;
|
||||||
|
|
||||||
mod_keymap = XGetModifierMapping (gdk_display);
|
mod_keymap = XGetModifierMapping (
|
||||||
|
GDK_WINDOW_XDISPLAY(gdk_display_get_default()));
|
||||||
|
|
||||||
map_size = 8 * mod_keymap->max_keypermod;
|
map_size = 8 * mod_keymap->max_keypermod;
|
||||||
|
|
||||||
|
|
|
@ -279,7 +279,7 @@ static void show_about_dialog(GtkMenuItem *menu_item, gpointer user_data) {
|
||||||
gtk_window_set_icon((GtkWindow*)about_dialog,
|
gtk_window_set_icon((GtkWindow*)about_dialog,
|
||||||
gtk_widget_render_icon(about_dialog, GTK_STOCK_ABOUT, GTK_ICON_SIZE_MENU, NULL));
|
gtk_widget_render_icon(about_dialog, GTK_STOCK_ABOUT, GTK_ICON_SIZE_MENU, NULL));
|
||||||
|
|
||||||
gtk_about_dialog_set_name((GtkAboutDialog*)about_dialog, "ClipIt");
|
gtk_about_dialog_set_program_name((GtkAboutDialog*)about_dialog, "ClipIt");
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
gtk_about_dialog_set_version((GtkAboutDialog*)about_dialog, VERSION);
|
gtk_about_dialog_set_version((GtkAboutDialog*)about_dialog, VERSION);
|
||||||
#endif
|
#endif
|
||||||
|
@ -831,7 +831,7 @@ static void clipit_init() {
|
||||||
create_app_indicator(1);
|
create_app_indicator(1);
|
||||||
#else
|
#else
|
||||||
status_icon = gtk_status_icon_new_from_icon_name("clipit-trayicon");
|
status_icon = gtk_status_icon_new_from_icon_name("clipit-trayicon");
|
||||||
gtk_status_icon_set_tooltip((GtkStatusIcon*)status_icon, _("Clipboard Manager"));
|
gtk_status_icon_set_tooltip_text((GtkStatusIcon*)status_icon, _("Clipboard Manager"));
|
||||||
g_signal_connect((GObject*)status_icon, "button_press_event", (GCallback)status_icon_clicked, NULL);
|
g_signal_connect((GObject*)status_icon, "button_press_event", (GCallback)status_icon_clicked, NULL);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,10 @@ G_BEGIN_DECLS
|
||||||
#define POPUP_DELAY 30
|
#define POPUP_DELAY 30
|
||||||
#define CHECK_INTERVAL 500
|
#define CHECK_INTERVAL 500
|
||||||
|
|
||||||
|
#if GTK_MAJOR_VERSION == 3
|
||||||
|
#define GTK_DIALOG_NO_SEPARATOR 0
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
gboolean use_copy; /* Use copy */
|
gboolean use_copy; /* Use copy */
|
||||||
gboolean use_primary; /* Use primary */
|
gboolean use_primary; /* Use primary */
|
||||||
|
|
|
@ -150,14 +150,14 @@ static void edit_selected()
|
||||||
gtk_scrolled_window_set_policy((GtkScrolledWindow*)scrolled_window,
|
gtk_scrolled_window_set_policy((GtkScrolledWindow*)scrolled_window,
|
||||||
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
|
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
|
||||||
|
|
||||||
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), scrolled_window, TRUE, TRUE, 2);
|
gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), scrolled_window, TRUE, TRUE, 2);
|
||||||
GtkWidget* text_view = gtk_text_view_new_with_buffer(clipboard_buffer);
|
GtkWidget* text_view = gtk_text_view_new_with_buffer(clipboard_buffer);
|
||||||
gtk_text_view_set_left_margin((GtkTextView*)text_view, 2);
|
gtk_text_view_set_left_margin((GtkTextView*)text_view, 2);
|
||||||
gtk_text_view_set_right_margin((GtkTextView*)text_view, 2);
|
gtk_text_view_set_right_margin((GtkTextView*)text_view, 2);
|
||||||
gtk_container_add((GtkContainer*)scrolled_window, text_view);
|
gtk_container_add((GtkContainer*)scrolled_window, text_view);
|
||||||
GtkWidget *static_check = gtk_check_button_new_with_mnemonic(_("_Static item"));
|
GtkWidget *static_check = gtk_check_button_new_with_mnemonic(_("_Static item"));
|
||||||
gtk_toggle_button_set_active((GtkToggleButton*)static_check, elem_data->is_static);
|
gtk_toggle_button_set_active((GtkToggleButton*)static_check, elem_data->is_static);
|
||||||
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), static_check, FALSE, FALSE, 2);
|
gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), static_check, FALSE, FALSE, 2);
|
||||||
|
|
||||||
/* Run the dialog */
|
/* Run the dialog */
|
||||||
gtk_widget_show_all(dialog);
|
gtk_widget_show_all(dialog);
|
||||||
|
|
|
@ -641,7 +641,7 @@ void show_preferences(gint tab) {
|
||||||
*alignment, *hbox,
|
*alignment, *hbox,
|
||||||
*vbox;
|
*vbox;
|
||||||
|
|
||||||
GtkObject *adjustment, *adjustment_small, *adjustment_statics;
|
GtkWidget *adjustment, *adjustment_small, *adjustment_statics;
|
||||||
GtkTreeViewColumn *tree_column;
|
GtkTreeViewColumn *tree_column;
|
||||||
|
|
||||||
/* Create the dialog */
|
/* Create the dialog */
|
||||||
|
@ -799,10 +799,10 @@ void show_preferences(gint tab) {
|
||||||
label = gtk_label_new(_("Omit items in the:"));
|
label = gtk_label_new(_("Omit items in the:"));
|
||||||
gtk_misc_set_alignment((GtkMisc*)label, 0.0, 0.50);
|
gtk_misc_set_alignment((GtkMisc*)label, 0.0, 0.50);
|
||||||
gtk_box_pack_start((GtkBox*)hbox, label, FALSE, FALSE, 0);
|
gtk_box_pack_start((GtkBox*)hbox, label, FALSE, FALSE, 0);
|
||||||
ellipsize_combo = gtk_combo_box_new_text();
|
ellipsize_combo = gtk_combo_box_text_new();
|
||||||
gtk_combo_box_append_text((GtkComboBox*)ellipsize_combo, _("Beginning"));
|
gtk_combo_box_text_append_text((GtkComboBox*)ellipsize_combo, _("Beginning"));
|
||||||
gtk_combo_box_append_text((GtkComboBox*)ellipsize_combo, _("Middle"));
|
gtk_combo_box_text_append_text((GtkComboBox*)ellipsize_combo, _("Middle"));
|
||||||
gtk_combo_box_append_text((GtkComboBox*)ellipsize_combo, _("End"));
|
gtk_combo_box_text_append_text((GtkComboBox*)ellipsize_combo, _("End"));
|
||||||
gtk_box_pack_start((GtkBox*)hbox, ellipsize_combo, FALSE, FALSE, 0);
|
gtk_box_pack_start((GtkBox*)hbox, ellipsize_combo, FALSE, FALSE, 0);
|
||||||
gtk_box_pack_start((GtkBox*)vbox_history, frame, FALSE, FALSE, 0);
|
gtk_box_pack_start((GtkBox*)vbox_history, frame, FALSE, FALSE, 0);
|
||||||
|
|
||||||
|
@ -823,9 +823,9 @@ void show_preferences(gint tab) {
|
||||||
gtk_misc_set_alignment((GtkMisc*)label, 0.0, 0.50);
|
gtk_misc_set_alignment((GtkMisc*)label, 0.0, 0.50);
|
||||||
gtk_box_pack_start((GtkBox*)hbox, label, FALSE, FALSE, 0);
|
gtk_box_pack_start((GtkBox*)hbox, label, FALSE, FALSE, 0);
|
||||||
ellipsize_combo = gtk_combo_box_new_text();
|
ellipsize_combo = gtk_combo_box_new_text();
|
||||||
gtk_combo_box_append_text((GtkComboBox*)ellipsize_combo, _("Beginning"));
|
gtk_combo_box_text_append_text((GtkComboBox*)ellipsize_combo, _("Beginning"));
|
||||||
gtk_combo_box_append_text((GtkComboBox*)ellipsize_combo, _("Middle"));
|
gtk_combo_box_text_append_text((GtkComboBox*)ellipsize_combo, _("Middle"));
|
||||||
gtk_combo_box_append_text((GtkComboBox*)ellipsize_combo, _("End"));
|
gtk_combo_box_text_append_text((GtkComboBox*)ellipsize_combo, _("End"));
|
||||||
gtk_box_pack_start((GtkBox*)hbox, ellipsize_combo, FALSE, FALSE, 0);
|
gtk_box_pack_start((GtkBox*)hbox, ellipsize_combo, FALSE, FALSE, 0);
|
||||||
gtk_box_pack_start((GtkBox*)vbox_history, frame, FALSE, FALSE, 0); */
|
gtk_box_pack_start((GtkBox*)vbox_history, frame, FALSE, FALSE, 0); */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user