|
Packit Service |
c6b782 |
#include <dazzle.h>
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
typedef enum
|
|
Packit Service |
c6b782 |
{
|
|
Packit Service |
c6b782 |
COMMAND_SHOW,
|
|
Packit Service |
c6b782 |
COMMAND_HIDE,
|
|
Packit Service |
c6b782 |
COMMAND_EXIT
|
|
Packit Service |
c6b782 |
} Command;
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
#define INTERVAL 500
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
static struct {
|
|
Packit Service |
c6b782 |
gint interval;
|
|
Packit Service |
c6b782 |
Command command;
|
|
Packit Service |
c6b782 |
} commands[] = {
|
|
Packit Service |
c6b782 |
{ 1000, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_SHOW },
|
|
Packit Service |
c6b782 |
{ INTERVAL, COMMAND_HIDE },
|
|
Packit Service |
c6b782 |
{ 300, COMMAND_EXIT },
|
|
Packit Service |
c6b782 |
};
|
|
Packit Service |
c6b782 |
static gint current_command;
|
|
Packit Service |
c6b782 |
static GtkWidget *dockbin;
|
|
Packit Service |
c6b782 |
static GtkWidget *class_entry;
|
|
Packit Service |
c6b782 |
static GTimer *timer;
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
static void
|
|
Packit Service |
c6b782 |
toggle_all (gboolean show)
|
|
Packit Service |
c6b782 |
{
|
|
Packit Service |
c6b782 |
DzlDockRevealer *edge;
|
|
Packit Service |
c6b782 |
DzlDockBin *dock = DZL_DOCK_BIN (dockbin);
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
edge = DZL_DOCK_REVEALER (dzl_dock_bin_get_left_edge (dock));
|
|
Packit Service |
c6b782 |
dzl_dock_revealer_set_reveal_child (edge, show);
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
edge = DZL_DOCK_REVEALER (dzl_dock_bin_get_right_edge (dock));
|
|
Packit Service |
c6b782 |
dzl_dock_revealer_set_reveal_child (edge, show);
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
edge = DZL_DOCK_REVEALER (dzl_dock_bin_get_bottom_edge (dock));
|
|
Packit Service |
c6b782 |
dzl_dock_revealer_set_reveal_child (edge, show);
|
|
Packit Service |
c6b782 |
}
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
static void
|
|
Packit Service |
c6b782 |
adjust_sizes (void)
|
|
Packit Service |
c6b782 |
{
|
|
Packit Service |
c6b782 |
DzlDockBin *dock = DZL_DOCK_BIN (dockbin);
|
|
Packit Service |
c6b782 |
GtkWidget *edge;
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
edge = dzl_dock_bin_get_left_edge (dock);
|
|
Packit Service |
c6b782 |
dzl_dock_revealer_set_position (DZL_DOCK_REVEALER (edge), 300);
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
edge = dzl_dock_bin_get_right_edge (dock);
|
|
Packit Service |
c6b782 |
dzl_dock_revealer_set_position (DZL_DOCK_REVEALER (edge), 300);
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
edge = dzl_dock_bin_get_bottom_edge (dock);
|
|
Packit Service |
c6b782 |
dzl_dock_revealer_set_position (DZL_DOCK_REVEALER (edge), 300);
|
|
Packit Service |
c6b782 |
}
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
static void
|
|
Packit Service |
c6b782 |
grab_class_entry (GtkWidget *button)
|
|
Packit Service |
c6b782 |
{
|
|
Packit Service |
c6b782 |
gtk_widget_grab_focus (class_entry);
|
|
Packit Service |
c6b782 |
}
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
static gboolean
|
|
Packit Service |
c6b782 |
process_command (gpointer data)
|
|
Packit Service |
c6b782 |
{
|
|
Packit Service |
c6b782 |
switch (commands [current_command].command)
|
|
Packit Service |
c6b782 |
{
|
|
Packit Service |
c6b782 |
case COMMAND_SHOW:
|
|
Packit Service |
c6b782 |
toggle_all (TRUE);
|
|
Packit Service |
c6b782 |
break;
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
case COMMAND_HIDE:
|
|
Packit Service |
c6b782 |
toggle_all (FALSE);
|
|
Packit Service |
c6b782 |
break;
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
case COMMAND_EXIT:
|
|
Packit Service |
c6b782 |
default:
|
|
Packit Service |
c6b782 |
gtk_main_quit ();
|
|
Packit Service |
c6b782 |
return G_SOURCE_REMOVE;
|
|
Packit Service |
c6b782 |
}
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
g_timeout_add (commands [++current_command].interval,
|
|
Packit Service |
c6b782 |
process_command,
|
|
Packit Service |
c6b782 |
NULL);
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
return G_SOURCE_REMOVE;
|
|
Packit Service |
c6b782 |
}
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
static void
|
|
Packit Service |
c6b782 |
log_handler (const gchar *domain,
|
|
Packit Service |
c6b782 |
GLogLevelFlags flags,
|
|
Packit Service |
c6b782 |
const gchar *message,
|
|
Packit Service |
c6b782 |
gpointer user_data)
|
|
Packit Service |
c6b782 |
{
|
|
Packit Service |
c6b782 |
gdouble t = g_timer_elapsed (timer, NULL);
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
g_print ("%s: time=%0.5lf %s\n", domain, t, message);
|
|
Packit Service |
c6b782 |
}
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
static void
|
|
Packit Service |
c6b782 |
load_css (void)
|
|
Packit Service |
c6b782 |
{
|
|
Packit Service |
c6b782 |
g_autoptr(GtkCssProvider) provider = NULL;
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
provider = dzl_css_provider_new ("resource:///org/gnome/dazzle/themes");
|
|
Packit Service |
c6b782 |
gtk_style_context_add_provider_for_screen (gdk_screen_get_default (),
|
|
Packit Service |
c6b782 |
GTK_STYLE_PROVIDER (provider),
|
|
Packit Service |
c6b782 |
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
|
|
Packit Service |
c6b782 |
}
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
gint
|
|
Packit Service |
c6b782 |
main (gint argc,
|
|
Packit Service |
c6b782 |
gchar *argv[])
|
|
Packit Service |
c6b782 |
{
|
|
Packit Service |
c6b782 |
GtkBuilder *builder = NULL;
|
|
Packit Service |
c6b782 |
GtkWindow *window = NULL;
|
|
Packit Service |
c6b782 |
GActionGroup *group;
|
|
Packit Service |
c6b782 |
GError *error = NULL;
|
|
Packit Service |
c6b782 |
g_autofree gchar *ui_path = g_build_filename (TEST_DATA_DIR, "test-panel.ui", NULL);
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
gtk_init (&argc, &argv);
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
load_css ();
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
timer = g_timer_new ();
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
builder = gtk_builder_new ();
|
|
Packit Service |
c6b782 |
gtk_builder_add_from_file (builder, ui_path, &error);
|
|
Packit Service |
c6b782 |
g_assert_no_error (error);
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
window = GTK_WINDOW (gtk_builder_get_object (builder, "window"));
|
|
Packit Service |
c6b782 |
g_signal_connect (window, "delete-event", gtk_main_quit, NULL);
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
dockbin = GTK_WIDGET (gtk_builder_get_object (builder, "dockbin"));
|
|
Packit Service |
c6b782 |
/* _dzl_dock_item_printf (DZL_DOCK_ITEM (dockbin)); */
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
group = gtk_widget_get_action_group (dockbin, "dockbin");
|
|
Packit Service |
c6b782 |
gtk_widget_insert_action_group (GTK_WIDGET (window), "dockbin", group);
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
adjust_sizes ();
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
class_entry = GTK_WIDGET (gtk_builder_get_object (builder, "class_entry"));
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
#if 0
|
|
Packit Service |
c6b782 |
gtk_builder_add_callback_symbol (builder, "toggle_all", G_CALLBACK (toggle_all));
|
|
Packit Service |
c6b782 |
#endif
|
|
Packit Service |
c6b782 |
gtk_builder_add_callback_symbol (builder, "grab_class_entry", G_CALLBACK (grab_class_entry));
|
|
Packit Service |
c6b782 |
gtk_builder_connect_signals (builder, dockbin);
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
if (0)
|
|
Packit Service |
c6b782 |
g_timeout_add (commands [0].interval,
|
|
Packit Service |
c6b782 |
process_command,
|
|
Packit Service |
c6b782 |
NULL);
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
g_log_set_default_handler (log_handler, NULL);
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
gtk_widget_grab_focus (GTK_WIDGET (gtk_builder_get_object (builder, "text_view")));
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
gtk_window_maximize (window);
|
|
Packit Service |
c6b782 |
gtk_window_present (window);
|
|
Packit Service |
c6b782 |
gtk_main ();
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
g_clear_object (&builder);
|
|
Packit Service |
c6b782 |
|
|
Packit Service |
c6b782 |
return 0;
|
|
Packit Service |
c6b782 |
}
|