1 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
3 windows.c for ObConf, the configuration tool for Openbox
4 Copyright (c) 2003-2007 Dana Jansens
5 Copyright (c) 2003 Tim Riley
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 See the COPYING file for a copy of the GNU General Public License.
23 static gboolean mapping = FALSE;
25 #define POPUP_NONPIXEL 0
26 #define POPUP_ALWAYS 1
29 void windows_setup_tab()
31 GtkWidget *w, *w1, *w2;
38 w1 = get_widget("resist_window");
39 w2 = get_widget("resist_edge");
40 group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
41 gtk_size_group_add_widget(group, w1);
42 gtk_size_group_add_widget(group, w2);
44 w1 = get_widget("resist_window_label");
45 w2 = get_widget("resist_edge_label");
46 group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
47 gtk_size_group_add_widget(group, w1);
48 gtk_size_group_add_widget(group, w2);
50 w = get_widget("focus_new");
51 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
52 tree_get_bool("focus/focusNew", TRUE));
54 w = get_widget("resize_contents");
55 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
56 tree_get_bool("resize/drawContents", TRUE));
58 w = get_widget("resist_window");
59 gtk_spin_button_set_value(GTK_SPIN_BUTTON(w),
60 tree_get_int("resistance/strength", 10));
62 w = get_widget("resist_edge");
63 gtk_spin_button_set_value(GTK_SPIN_BUTTON(w),
64 tree_get_int("resistance/screen_edge_strength",
67 w = get_widget("place_mouse");
68 s = tree_get_string("placement/policy", "Smart");
69 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
70 !g_ascii_strcasecmp(s, "UnderMouse"));
73 w = get_widget("resize_popup");
74 s = tree_get_string("resize/popupShow", "NonPixel");
75 if (!strcasecmp(s, "Always")) pos = POPUP_ALWAYS;
76 else if (!strcasecmp(s, "Never")) pos = POPUP_NEVER;
77 else pos = POPUP_NONPIXEL;
79 gtk_option_menu_set_history(GTK_OPTION_MENU(w), pos);
84 void on_focus_new_toggled(GtkToggleButton *w, gpointer data)
88 tree_set_bool("focus/focusNew", gtk_toggle_button_get_active(w));
91 void on_place_mouse_toggled(GtkToggleButton *w, gpointer data)
95 tree_set_string("placement/policy",
96 (gtk_toggle_button_get_active(w) ?
97 "UnderMouse" : "Smart"));
100 void on_resist_window_value_changed(GtkSpinButton *w, gpointer data)
104 tree_set_int("resistance/strength", gtk_spin_button_get_value_as_int(w));
107 void on_resist_edge_value_changed(GtkSpinButton *w, gpointer data)
111 tree_set_int("resistance/screen_edge_strength",
112 gtk_spin_button_get_value_as_int(w));
115 void on_resize_contents_toggled(GtkToggleButton *w, gpointer data)
119 tree_set_bool("resize/drawContents", gtk_toggle_button_get_active(w));
122 void on_resize_popup_nonpixel_activate(GtkMenuItem *w, gpointer data)
126 tree_set_string("resize/popupShow", "NonPixel");
129 void on_resize_popup_always_activate(GtkMenuItem *w, gpointer data)
133 tree_set_string("resize/popupShow", "Always");
136 void on_resize_popup_never_activate(GtkMenuItem *w, gpointer data)
140 tree_set_string("resize/popupShow", "Never");