New information menu to select the columns to display; minor clean up
(Old svn revision: 4806)
This commit is contained in:
@@ -22,16 +22,23 @@
|
|||||||
#include "callbacks.h"
|
#include "callbacks.h"
|
||||||
#include "menu-positions.h"
|
#include "menu-positions.h"
|
||||||
|
|
||||||
void on_button1_activate(GtkButton *button)
|
void on_preferences(GtkButton *button)
|
||||||
{
|
{
|
||||||
if(mainmenu == NULL)
|
if(mainmenu == NULL)
|
||||||
mainmenu = create_mainmenu();
|
mainmenu = create_mainmenu();
|
||||||
gtk_menu_popup(GTK_MENU(mainmenu), NULL, NULL, (GtkMenuPositionFunc)position_mainmenu, button, 0, gtk_get_current_event_time());
|
gtk_menu_popup(GTK_MENU(mainmenu), NULL, NULL, (GtkMenuPositionFunc)position_menu_cover_widget, button, 0, gtk_get_current_event_time());
|
||||||
}
|
}
|
||||||
|
|
||||||
void on_button3_toggled_event(GtkButton *button, GdkEventButton *event)
|
void on_information(GtkButton *button)
|
||||||
{
|
{
|
||||||
full_view = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button));
|
if(infomenu == NULL)
|
||||||
|
infomenu = create_infomenu();
|
||||||
|
gtk_menu_popup(GTK_MENU(infomenu), NULL, NULL, (GtkMenuPositionFunc)position_menu_cover_widget, button, 0, gtk_get_current_event_time());
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_show_info_toggled(GtkCheckMenuItem *menuitem, gint column_id)
|
||||||
|
{
|
||||||
|
show_col[column_id] = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menuitem));
|
||||||
change_list_store_view();
|
change_list_store_view();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -34,8 +34,9 @@
|
|||||||
|
|
||||||
#include "xfce-taskmanager-linux.h"
|
#include "xfce-taskmanager-linux.h"
|
||||||
|
|
||||||
void on_button1_activate(GtkButton *button);
|
void on_preferences(GtkButton *button);
|
||||||
void on_button3_toggled_event(GtkButton *button, GdkEventButton *event);
|
void on_information(GtkButton *button);
|
||||||
|
void on_show_info_toggled(GtkCheckMenuItem *menuitem, gint uid);
|
||||||
gboolean on_treeview1_button_press_event(GtkButton *button, GdkEventButton *event);
|
gboolean on_treeview1_button_press_event(GtkButton *button, GdkEventButton *event);
|
||||||
void on_info1_activate (GtkMenuItem *menuitem, gpointer user_data);
|
void on_info1_activate (GtkMenuItem *menuitem, gpointer user_data);
|
||||||
void handle_task_menu(GtkWidget *widget, gchar *signal);
|
void handle_task_menu(GtkWidget *widget, gchar *signal);
|
||||||
|
|||||||
@@ -201,11 +201,20 @@ void load_config(void)
|
|||||||
sort_column = xfce_rc_read_int_entry(rc_file, "sort_column", COLUMN_PID);
|
sort_column = xfce_rc_read_int_entry(rc_file, "sort_column", COLUMN_PID);
|
||||||
sort_type = xfce_rc_read_int_entry(rc_file, "sort_type", GTK_SORT_ASCENDING);
|
sort_type = xfce_rc_read_int_entry(rc_file, "sort_type", GTK_SORT_ASCENDING);
|
||||||
|
|
||||||
full_view = xfce_rc_read_bool_entry(rc_file, "full_view", FALSE);
|
|
||||||
|
|
||||||
win_width = xfce_rc_read_int_entry(rc_file, "win_width", 500);
|
win_width = xfce_rc_read_int_entry(rc_file, "win_width", 500);
|
||||||
win_height = xfce_rc_read_int_entry(rc_file, "win_height", 400);
|
win_height = xfce_rc_read_int_entry(rc_file, "win_height", 400);
|
||||||
|
|
||||||
|
xfce_rc_set_group (rc_file, "Information");
|
||||||
|
|
||||||
|
show_col[COLUMN_PID] = xfce_rc_read_bool_entry(rc_file, "show_col_pid", TRUE);
|
||||||
|
show_col[COLUMN_PPID] = xfce_rc_read_bool_entry(rc_file, "show_col_ppid", FALSE);
|
||||||
|
show_col[COLUMN_STATE] = xfce_rc_read_bool_entry(rc_file, "show_col_state", FALSE);
|
||||||
|
show_col[COLUMN_MEM] = xfce_rc_read_bool_entry(rc_file, "show_col_mem", FALSE);
|
||||||
|
show_col[COLUMN_RSS] = xfce_rc_read_bool_entry(rc_file, "show_col_rss", TRUE);
|
||||||
|
show_col[COLUMN_UNAME] = xfce_rc_read_bool_entry(rc_file, "show_col_uname", FALSE);
|
||||||
|
show_col[COLUMN_TIME] = xfce_rc_read_bool_entry(rc_file, "show_col_time", TRUE);
|
||||||
|
show_col[COLUMN_PRIO] = xfce_rc_read_bool_entry(rc_file, "show_col_prio", TRUE);
|
||||||
|
|
||||||
xfce_rc_close(rc_file);
|
xfce_rc_close(rc_file);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -224,13 +233,22 @@ void save_config(void)
|
|||||||
xfce_rc_write_int_entry(rc_file, "sort_column", sort_column);
|
xfce_rc_write_int_entry(rc_file, "sort_column", sort_column);
|
||||||
xfce_rc_write_int_entry(rc_file, "sort_type", sort_type);
|
xfce_rc_write_int_entry(rc_file, "sort_type", sort_type);
|
||||||
|
|
||||||
xfce_rc_write_bool_entry(rc_file, "full_view", full_view);
|
|
||||||
|
|
||||||
gtk_window_get_size(GTK_WINDOW (main_window), (gint *) &win_width, (gint *) &win_height);
|
gtk_window_get_size(GTK_WINDOW (main_window), (gint *) &win_width, (gint *) &win_height);
|
||||||
|
|
||||||
xfce_rc_write_int_entry(rc_file, "win_width", win_width);
|
xfce_rc_write_int_entry(rc_file, "win_width", win_width);
|
||||||
xfce_rc_write_int_entry(rc_file, "win_height", win_height);
|
xfce_rc_write_int_entry(rc_file, "win_height", win_height);
|
||||||
|
|
||||||
|
xfce_rc_set_group (rc_file, "Information");
|
||||||
|
|
||||||
|
xfce_rc_write_bool_entry(rc_file, "show_col_pid", show_col[COLUMN_PID]);
|
||||||
|
xfce_rc_write_bool_entry(rc_file, "show_col_ppid", show_col[COLUMN_PPID]);
|
||||||
|
xfce_rc_write_bool_entry(rc_file, "show_col_state", show_col[COLUMN_STATE]);
|
||||||
|
xfce_rc_write_bool_entry(rc_file, "show_col_mem", show_col[COLUMN_MEM]);
|
||||||
|
xfce_rc_write_bool_entry(rc_file, "show_col_rss", show_col[COLUMN_RSS]);
|
||||||
|
xfce_rc_write_bool_entry(rc_file, "show_col_uname", show_col[COLUMN_UNAME]);
|
||||||
|
xfce_rc_write_bool_entry(rc_file, "show_col_time", show_col[COLUMN_TIME]);
|
||||||
|
xfce_rc_write_bool_entry(rc_file, "show_col_prio", show_col[COLUMN_PRIO]);
|
||||||
|
|
||||||
xfce_rc_flush(rc_file);
|
xfce_rc_flush(rc_file);
|
||||||
|
|
||||||
xfce_rc_close(rc_file);
|
xfce_rc_close(rc_file);
|
||||||
|
|||||||
@@ -33,9 +33,9 @@ GtkWidget* create_main_window (void)
|
|||||||
GtkWidget *vbox1;
|
GtkWidget *vbox1;
|
||||||
GtkWidget *bbox1;
|
GtkWidget *bbox1;
|
||||||
GtkWidget *scrolledwindow1;
|
GtkWidget *scrolledwindow1;
|
||||||
GtkWidget *button1;
|
GtkWidget *button_preferences;
|
||||||
GtkWidget *button2;
|
GtkWidget *button_information;
|
||||||
GtkWidget *button3;
|
GtkWidget *button_quit;
|
||||||
|
|
||||||
GtkWidget *system_info_box;
|
GtkWidget *system_info_box;
|
||||||
|
|
||||||
@@ -79,6 +79,7 @@ GtkWidget* create_main_window (void)
|
|||||||
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_SHADOW_IN);
|
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_SHADOW_IN);
|
||||||
|
|
||||||
treeview = gtk_tree_view_new ();
|
treeview = gtk_tree_view_new ();
|
||||||
|
gtk_tree_view_set_show_expanders (GTK_TREE_VIEW (treeview), FALSE);
|
||||||
gtk_widget_show (treeview);
|
gtk_widget_show (treeview);
|
||||||
gtk_container_add (GTK_CONTAINER (scrolledwindow1), treeview);
|
gtk_container_add (GTK_CONTAINER (scrolledwindow1), treeview);
|
||||||
|
|
||||||
@@ -94,27 +95,25 @@ GtkWidget* create_main_window (void)
|
|||||||
gtk_box_pack_start(GTK_BOX(vbox1), bbox1, FALSE, TRUE, 0);
|
gtk_box_pack_start(GTK_BOX(vbox1), bbox1, FALSE, TRUE, 0);
|
||||||
gtk_widget_show (bbox1);
|
gtk_widget_show (bbox1);
|
||||||
|
|
||||||
button2 = gtk_button_new_from_stock ("gtk-preferences");
|
button_preferences = gtk_button_new_from_stock ("gtk-preferences");
|
||||||
gtk_button_set_focus_on_click (GTK_BUTTON (button2), FALSE);
|
gtk_button_set_focus_on_click (GTK_BUTTON (button_preferences), FALSE);
|
||||||
gtk_widget_show (button2);
|
gtk_widget_show (button_preferences);
|
||||||
gtk_box_pack_start (GTK_BOX (bbox1), button2, FALSE, FALSE, 0);
|
gtk_box_pack_start (GTK_BOX (bbox1), button_preferences, FALSE, FALSE, 0);
|
||||||
|
|
||||||
button3 = gtk_toggle_button_new_with_label ("gtk-info");
|
button_information = gtk_button_new_from_stock ("gtk-info");
|
||||||
gtk_button_set_focus_on_click (GTK_BUTTON (button3), FALSE);
|
gtk_button_set_focus_on_click (GTK_BUTTON (button_information), FALSE);
|
||||||
gtk_button_set_use_stock (GTK_BUTTON(button3), TRUE);
|
gtk_widget_show (button_information);
|
||||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(button3), full_view);
|
gtk_box_pack_start (GTK_BOX (bbox1), button_information, FALSE, FALSE, 0);
|
||||||
gtk_widget_show (button3);
|
|
||||||
gtk_box_pack_start (GTK_BOX (bbox1), button3, FALSE, FALSE, 0);
|
|
||||||
|
|
||||||
button1 = gtk_button_new_from_stock ("gtk-quit");
|
button_quit = gtk_button_new_from_stock ("gtk-quit");
|
||||||
gtk_widget_show (button1);
|
gtk_widget_show (button_quit);
|
||||||
gtk_box_pack_start (GTK_BOX (bbox1), button1, FALSE, FALSE, 0);
|
gtk_box_pack_start (GTK_BOX (bbox1), button_quit, FALSE, FALSE, 0);
|
||||||
|
|
||||||
g_signal_connect ((gpointer) window, "delete-event", G_CALLBACK (on_quit), NULL);
|
g_signal_connect_swapped (treeview, "button-press-event", G_CALLBACK(on_treeview1_button_press_event), NULL);
|
||||||
g_signal_connect_swapped ((gpointer) treeview, "button-press-event", G_CALLBACK(on_treeview1_button_press_event), NULL);
|
g_signal_connect (button_preferences, "clicked", G_CALLBACK (on_preferences), NULL);
|
||||||
g_signal_connect ((gpointer) button1, "clicked", G_CALLBACK (on_quit), NULL);
|
g_signal_connect (button_information, "clicked", G_CALLBACK (on_information), NULL);
|
||||||
g_signal_connect ((gpointer) button2, "clicked", G_CALLBACK (on_button1_activate), NULL);
|
g_signal_connect (button_quit, "clicked", G_CALLBACK (on_quit), NULL);
|
||||||
g_signal_connect ((gpointer) button3, "toggled", G_CALLBACK (on_button3_toggled_event), NULL);
|
g_signal_connect (window, "delete-event", G_CALLBACK (on_quit), NULL);
|
||||||
|
|
||||||
return window;
|
return window;
|
||||||
}
|
}
|
||||||
@@ -322,6 +321,50 @@ GtkWidget* create_mainmenu (void)
|
|||||||
return mainmenu;
|
return mainmenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GtkWidget* create_infomenu (void)
|
||||||
|
{
|
||||||
|
GtkWidget *infomenu;
|
||||||
|
GtkWidget *title;
|
||||||
|
GtkWidget *separator;
|
||||||
|
GtkWidget *col_items[N_COLUMNS] = { 0 };
|
||||||
|
gint i;
|
||||||
|
|
||||||
|
infomenu = gtk_menu_new ();
|
||||||
|
|
||||||
|
title = gtk_image_menu_item_new_from_stock("gtk-info", NULL);
|
||||||
|
gtk_widget_show(title);
|
||||||
|
gtk_menu_shell_append(GTK_MENU_SHELL(infomenu), title);
|
||||||
|
gtk_widget_set_sensitive(title, FALSE);
|
||||||
|
|
||||||
|
separator = gtk_separator_menu_item_new();
|
||||||
|
gtk_widget_show(separator);
|
||||||
|
gtk_menu_shell_append(GTK_MENU_SHELL(infomenu), separator);
|
||||||
|
gtk_widget_set_sensitive(separator, FALSE);
|
||||||
|
|
||||||
|
col_items[COLUMN_PID] = gtk_check_menu_item_new_with_label (_("PID"));
|
||||||
|
col_items[COLUMN_PPID] = gtk_check_menu_item_new_with_label (_("PPID"));
|
||||||
|
col_items[COLUMN_STATE] = gtk_check_menu_item_new_with_label (_("State"));
|
||||||
|
col_items[COLUMN_MEM] = gtk_check_menu_item_new_with_label (_("VM-Size"));
|
||||||
|
col_items[COLUMN_RSS] = gtk_check_menu_item_new_with_label (_("RSS"));
|
||||||
|
col_items[COLUMN_UNAME] = gtk_check_menu_item_new_with_label (_("User"));
|
||||||
|
col_items[COLUMN_TIME] = gtk_check_menu_item_new_with_label (_("CPU%"));
|
||||||
|
col_items[COLUMN_PRIO] = gtk_check_menu_item_new_with_label (_("Priority"));
|
||||||
|
|
||||||
|
for (i = 0; i < N_COLUMNS; i++)
|
||||||
|
{
|
||||||
|
if (GTK_IS_WIDGET (col_items[i]))
|
||||||
|
{
|
||||||
|
gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (col_items[i]), show_col[i]);
|
||||||
|
gtk_widget_show(col_items[i]);
|
||||||
|
gtk_menu_shell_append(GTK_MENU_SHELL(infomenu), col_items[i]);
|
||||||
|
g_signal_connect (col_items[i], "toggled",
|
||||||
|
G_CALLBACK (on_show_info_toggled), GINT_TO_POINTER(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return infomenu;
|
||||||
|
}
|
||||||
|
|
||||||
void show_about_dialog(void)
|
void show_about_dialog(void)
|
||||||
{
|
{
|
||||||
GtkWidget *about_dialog;
|
GtkWidget *about_dialog;
|
||||||
@@ -361,12 +404,14 @@ void show_about_dialog(void)
|
|||||||
|
|
||||||
void change_list_store_view(void)
|
void change_list_store_view(void)
|
||||||
{
|
{
|
||||||
gtk_tree_view_column_set_visible
|
gtk_tree_view_column_set_visible(gtk_tree_view_get_column(GTK_TREE_VIEW(treeview), COLUMN_PID), show_col[COLUMN_PID]);
|
||||||
(gtk_tree_view_get_column(GTK_TREE_VIEW(treeview), COLUMN_PPID), full_view);
|
gtk_tree_view_column_set_visible(gtk_tree_view_get_column(GTK_TREE_VIEW(treeview), COLUMN_PPID), show_col[COLUMN_PPID]);
|
||||||
gtk_tree_view_column_set_visible
|
gtk_tree_view_column_set_visible(gtk_tree_view_get_column(GTK_TREE_VIEW(treeview), COLUMN_STATE), show_col[COLUMN_STATE]);
|
||||||
(gtk_tree_view_get_column(GTK_TREE_VIEW(treeview), COLUMN_STATE), full_view);
|
gtk_tree_view_column_set_visible(gtk_tree_view_get_column(GTK_TREE_VIEW(treeview), COLUMN_MEM), show_col[COLUMN_MEM]);
|
||||||
gtk_tree_view_column_set_visible
|
gtk_tree_view_column_set_visible(gtk_tree_view_get_column(GTK_TREE_VIEW(treeview), COLUMN_RSS), show_col[COLUMN_RSS]);
|
||||||
(gtk_tree_view_get_column(GTK_TREE_VIEW(treeview), COLUMN_MEM), full_view);
|
gtk_tree_view_column_set_visible(gtk_tree_view_get_column(GTK_TREE_VIEW(treeview), COLUMN_UNAME), show_col[COLUMN_UNAME]);
|
||||||
|
gtk_tree_view_column_set_visible(gtk_tree_view_get_column(GTK_TREE_VIEW(treeview), COLUMN_TIME), show_col[COLUMN_TIME]);
|
||||||
|
gtk_tree_view_column_set_visible(gtk_tree_view_get_column(GTK_TREE_VIEW(treeview), COLUMN_PRIO), show_col[COLUMN_PRIO]);
|
||||||
}
|
}
|
||||||
|
|
||||||
void fill_list_item(gint i, GtkTreeIter *iter)
|
void fill_list_item(gint i, GtkTreeIter *iter)
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ GtkTreeStore *list_store;
|
|||||||
GtkTreeSelection *selection;
|
GtkTreeSelection *selection;
|
||||||
GtkWidget *treeview;
|
GtkWidget *treeview;
|
||||||
GtkWidget *mainmenu;
|
GtkWidget *mainmenu;
|
||||||
|
GtkWidget *infomenu;
|
||||||
GtkTooltips *tooltips;
|
GtkTooltips *tooltips;
|
||||||
GtkWidget *taskpopup;
|
GtkWidget *taskpopup;
|
||||||
GtkWidget *priopopup;
|
GtkWidget *priopopup;
|
||||||
@@ -52,16 +53,6 @@ GtkWidget *mem_usage_progress_bar;
|
|||||||
GtkWidget *cpu_usage_progress_bar_box;
|
GtkWidget *cpu_usage_progress_bar_box;
|
||||||
GtkWidget *mem_usage_progress_bar_box;
|
GtkWidget *mem_usage_progress_bar_box;
|
||||||
|
|
||||||
#define COLUMN_NAME 0
|
|
||||||
#define COLUMN_PID 1
|
|
||||||
#define COLUMN_PPID 2
|
|
||||||
#define COLUMN_STATE 3
|
|
||||||
#define COLUMN_MEM 4
|
|
||||||
#define COLUMN_RSS 5
|
|
||||||
#define COLUMN_UNAME 6
|
|
||||||
#define COLUMN_TIME 7
|
|
||||||
#define COLUMN_PRIO 8
|
|
||||||
|
|
||||||
GtkTreeViewColumn *column;
|
GtkTreeViewColumn *column;
|
||||||
|
|
||||||
void change_list_store_view(void);
|
void change_list_store_view(void);
|
||||||
@@ -70,7 +61,8 @@ void create_list_store(void);
|
|||||||
GtkWidget* create_main_window (void);
|
GtkWidget* create_main_window (void);
|
||||||
GtkWidget* create_taskpopup (void);
|
GtkWidget* create_taskpopup (void);
|
||||||
GtkWidget* create_mainmenu (void);
|
GtkWidget* create_mainmenu (void);
|
||||||
GtkWidget *create_prio_submenu(void);
|
GtkWidget* create_infomenu (void);
|
||||||
|
GtkWidget* create_prio_submenu(void);
|
||||||
|
|
||||||
void show_about_dialog(void);
|
void show_about_dialog(void);
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* xfce4-taskmanager - very simple taskmanger
|
* xfce4-taskmanager - very simple taskmanager
|
||||||
*
|
*
|
||||||
* Copyright (c) 2008 Mike Massonnet <mmassonnet@xfce.org>
|
* Copyright (c) 2008 Mike Massonnet <mmassonnet@xfce.org>
|
||||||
*
|
*
|
||||||
@@ -20,20 +20,18 @@
|
|||||||
|
|
||||||
#include "menu-positions.h"
|
#include "menu-positions.h"
|
||||||
|
|
||||||
void position_mainmenu(GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer user_data)
|
void position_menu_cover_widget(GtkMenu *menu, gint *x, gint *y, gboolean *push_in, GtkWidget *widget)
|
||||||
{
|
{
|
||||||
GtkWidget *widget;
|
|
||||||
GtkRequisition requisition;
|
GtkRequisition requisition;
|
||||||
|
|
||||||
widget = user_data;
|
|
||||||
gtk_widget_size_request(GTK_WIDGET(menu), &requisition);
|
|
||||||
gdk_window_get_origin(widget->window, x, y);
|
gdk_window_get_origin(widget->window, x, y);
|
||||||
|
|
||||||
*x += widget->allocation.x;
|
*x += widget->allocation.x;
|
||||||
*y += widget->allocation.y;
|
*y += widget->allocation.y;
|
||||||
|
|
||||||
if(*y + requisition.height > gdk_screen_height ())
|
gtk_widget_size_request(GTK_WIDGET(menu), &requisition);
|
||||||
*y = gdk_screen_height () - requisition.height;
|
if(*y + requisition.height > gdk_screen_height())
|
||||||
|
*y = gdk_screen_height() - requisition.height;
|
||||||
else if(*y < 0)
|
else if(*y < 0)
|
||||||
*y = 0;
|
*y = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,6 @@
|
|||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "interface.h"
|
#include "interface.h"
|
||||||
|
|
||||||
void position_mainmenu(GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer user_data);
|
void position_menu_cover_widget(GtkMenu *menu, gint *x, gint *y, gboolean *push_in, GtkWidget *widget);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
16
src/types.h
16
src/types.h
@@ -76,7 +76,21 @@ gboolean show_cached_as_free; /* Show memory used Cache as free memory */
|
|||||||
guint sort_column;
|
guint sort_column;
|
||||||
guint sort_type;
|
guint sort_type;
|
||||||
|
|
||||||
gboolean full_view;
|
enum
|
||||||
|
{
|
||||||
|
COLUMN_NAME = 0,
|
||||||
|
COLUMN_PID,
|
||||||
|
COLUMN_PPID,
|
||||||
|
COLUMN_STATE,
|
||||||
|
COLUMN_MEM,
|
||||||
|
COLUMN_RSS,
|
||||||
|
COLUMN_UNAME,
|
||||||
|
COLUMN_TIME,
|
||||||
|
COLUMN_PRIO,
|
||||||
|
N_COLUMNS,
|
||||||
|
};
|
||||||
|
|
||||||
|
gboolean show_col[N_COLUMNS];
|
||||||
|
|
||||||
guint win_width;
|
guint win_width;
|
||||||
guint win_height;
|
guint win_height;
|
||||||
|
|||||||
Reference in New Issue
Block a user