30 +*passwdTimeoutEnabled: True |
30 +*passwdTimeoutEnabled: True |
31 *dpmsEnabled: True |
31 *dpmsEnabled: True |
32 *dpmsQuickoffEnabled: False |
32 *dpmsQuickoffEnabled: False |
33 *dpmsStandby: 0:10:00 |
33 *dpmsStandby: 0:10:00 |
34 diff --git a/driver/demo-Gtk.c b/driver/demo-Gtk.c |
34 diff --git a/driver/demo-Gtk.c b/driver/demo-Gtk.c |
35 index d4cc4a5..3d86087 100644 |
35 index f6f9c19..e78c3ed 100644 |
36 --- a/driver/demo-Gtk.c |
36 --- a/driver/demo-Gtk.c |
37 +++ b/driver/demo-Gtk.c |
37 +++ b/driver/demo-Gtk.c |
38 @@ -1566,6 +1566,8 @@ flush_dialog_changes_and_save (state *s) |
38 @@ -1576,6 +1576,8 @@ flush_dialog_changes_and_save (state *s) |
39 |
39 |
40 MINUTES (&p2->timeout, "timeout_spinbutton"); |
40 MINUTES (&p2->timeout, "timeout_spinbutton"); |
41 MINUTES (&p2->cycle, "cycle_spinbutton"); |
41 MINUTES (&p2->cycle, "cycle_spinbutton"); |
42 + CHECKBOX (p2->unlock_timeout_p, "pwd_button"); /* bugid 5077981 */ |
42 + CHECKBOX (p2->unlock_timeout_p, "pwd_button"); /* bugid 5077981 */ |
43 + MINUTES (&p2->passwd_timeout, "pwd_spinbutton"); |
43 + MINUTES (&p2->passwd_timeout, "pwd_spinbutton"); |
44 CHECKBOX (p2->lock_p, "lock_button"); |
44 CHECKBOX (p2->lock_p, "lock_button"); |
45 MINUTES (&p2->lock_timeout, "lock_spinbutton"); |
45 MINUTES (&p2->lock_timeout, "lock_spinbutton"); |
46 |
46 |
47 @@ -1670,6 +1672,8 @@ flush_dialog_changes_and_save (state *s) |
47 @@ -1677,6 +1679,8 @@ flush_dialog_changes_and_save (state *s) |
48 COPY(cycle, "cycle"); |
48 COPY(cycle, "cycle"); |
49 COPY(lock_p, "lock_p"); |
49 COPY(lock_p, "lock_p"); |
50 COPY(lock_timeout, "lock_timeout"); |
50 COPY(lock_timeout, "lock_timeout"); |
51 + COPY(unlock_timeout_p,"unlock_timeout_p"); /* bugid 5077981 */ |
51 + COPY(unlock_timeout_p,"unlock_timeout_p"); /* bugid 5077981 */ |
52 + COPY(passwd_timeout, "passwd_timeout"); |
52 + COPY(passwd_timeout, "passwd_timeout"); |
53 |
53 |
54 COPY(dpms_enabled_p, "dpms_enabled_p"); |
54 COPY(dpms_enabled_p, "dpms_enabled_p"); |
55 COPY(dpms_quickoff_p, "dpms_quickoff_enabled_p"); |
55 COPY(dpms_quickoff_p, "dpms_quickoff_enabled_p"); |
56 @@ -2802,6 +2806,9 @@ populate_prefs_page (state *s) |
56 @@ -2797,6 +2801,9 @@ populate_prefs_page (state *s) |
57 FMT_MINUTES ("timeout_spinbutton", p->timeout); |
57 FMT_MINUTES ("timeout_spinbutton", p->timeout); |
58 FMT_MINUTES ("cycle_spinbutton", p->cycle); |
58 FMT_MINUTES ("cycle_spinbutton", p->cycle); |
59 FMT_MINUTES ("lock_spinbutton", p->lock_timeout); |
59 FMT_MINUTES ("lock_spinbutton", p->lock_timeout); |
60 + /* bugid 5077981 */ |
60 + /* bugid 5077981 */ |
61 + FMT_MINUTES ("pwd_spinbutton", p->passwd_timeout); |
61 + FMT_MINUTES ("pwd_spinbutton", p->passwd_timeout); |
62 + |
62 + |
63 FMT_MINUTES ("dpms_standby_spinbutton", p->dpms_standby); |
63 FMT_MINUTES ("dpms_standby_spinbutton", p->dpms_standby); |
64 FMT_MINUTES ("dpms_suspend_spinbutton", p->dpms_suspend); |
64 FMT_MINUTES ("dpms_suspend_spinbutton", p->dpms_suspend); |
65 FMT_MINUTES ("dpms_off_spinbutton", p->dpms_off); |
65 FMT_MINUTES ("dpms_off_spinbutton", p->dpms_off); |
66 @@ -2814,6 +2821,7 @@ populate_prefs_page (state *s) |
66 @@ -2809,6 +2816,7 @@ populate_prefs_page (state *s) |
67 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (name_to_widget (s,(NAME))),\ |
67 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (name_to_widget (s,(NAME))),\ |
68 (ACTIVEP)) |
68 (ACTIVEP)) |
69 |
69 |
70 + TOGGLE_ACTIVE ("pwd_button", p->unlock_timeout_p); /* bugid 5077981 */ |
70 + TOGGLE_ACTIVE ("pwd_button", p->unlock_timeout_p); /* bugid 5077981 */ |
71 TOGGLE_ACTIVE ("lock_button", p->lock_p); |
71 TOGGLE_ACTIVE ("lock_button", p->lock_p); |
72 #if 0 |
72 #if 0 |
73 TOGGLE_ACTIVE ("verbose_button", p->verbose_p); |
73 TOGGLE_ACTIVE ("verbose_button", p->verbose_p); |
74 @@ -2919,6 +2927,10 @@ populate_prefs_page (state *s) |
74 @@ -2914,6 +2922,10 @@ populate_prefs_page (state *s) |
75 |
75 |
76 /* Blanking and Locking |
76 /* Blanking and Locking |
77 */ |
77 */ |
78 + /* bugid 5077081 */ |
78 + /* bugid 5077081 */ |
79 + SENSITIZE ("pwd_spinbutton", p->unlock_timeout_p); |
79 + SENSITIZE ("pwd_spinbutton", p->unlock_timeout_p); |
80 + SENSITIZE ("pwd_mlabel", p->unlock_timeout_p); |
80 + SENSITIZE ("pwd_mlabel", p->unlock_timeout_p); |
81 + |
81 + |
82 SENSITIZE ("lock_button", can_lock_p); |
82 SENSITIZE ("lock_button", can_lock_p); |
83 SENSITIZE ("lock_spinbutton", can_lock_p && p->lock_p); |
83 SENSITIZE ("lock_spinbutton", can_lock_p && p->lock_p); |
84 SENSITIZE ("lock_mlabel", can_lock_p && p->lock_p); |
84 SENSITIZE ("lock_mlabel", can_lock_p && p->lock_p); |
85 @@ -3093,6 +3105,7 @@ fix_text_entry_sizes (state *s) |
85 @@ -3089,6 +3101,7 @@ fix_text_entry_sizes (state *s) |
86 # if 0 /* appears no longer necessary with Gtk 1.2.10 */ |
86 # if 0 /* appears no longer necessary with Gtk 1.2.10 */ |
87 const char * const spinbuttons[] = { |
87 const char * const spinbuttons[] = { |
88 "timeout_spinbutton", "cycle_spinbutton", "lock_spinbutton", |
88 "timeout_spinbutton", "cycle_spinbutton", "lock_spinbutton", |
89 + "pwd_spinbutton", /* bugid 5077981 */ |
89 + "pwd_spinbutton", /* bugid 5077981 */ |
90 "dpms_standby_spinbutton", "dpms_suspend_spinbutton", |
90 "dpms_standby_spinbutton", "dpms_suspend_spinbutton", |
91 "dpms_off_spinbutton", |
91 "dpms_off_spinbutton", |
92 "-fade_spinbutton" }; |
92 "-fade_spinbutton" }; |
93 diff --git a/driver/lock.c b/driver/lock.c |
93 diff --git a/driver/lock.c b/driver/lock.c |
94 index becf85b..08f0f98 100644 |
94 index a4114e2..abf86c0 100644 |
95 --- a/driver/lock.c |
95 --- a/driver/lock.c |
96 +++ b/driver/lock.c |
96 +++ b/driver/lock.c |
97 @@ -1651,6 +1651,10 @@ update_passwd_window (saver_info *si, const char *printed_passwd, float ratio) |
97 @@ -1651,6 +1651,10 @@ update_passwd_window (saver_info *si, const char *printed_passwd, float ratio) |
98 event.xclient.data.l[1] = 0; |
98 event.xclient.data.l[1] = 0; |
99 event.xclient.data.l[2] = 0; |
99 event.xclient.data.l[2] = 0; |
158 + Bool unlock_timeout_p; /* whether to timeout unlock dialog */ |
158 + Bool unlock_timeout_p; /* whether to timeout unlock dialog */ |
159 + /* bugid 5077981 */ |
159 + /* bugid 5077981 */ |
160 |
160 |
161 Bool fade_p; /* whether to fade to black, if possible */ |
161 Bool fade_p; /* whether to fade to black, if possible */ |
162 Bool unfade_p; /* whether to fade from black, if possible */ |
162 Bool unfade_p; /* whether to fade from black, if possible */ |
163 diff --git a/driver/xscreensaver-demo.glade2.in b/driver/xscreensaver-demo.glade2.in |
163 diff --git a/driver/xscreensaver-demo.ui.in b/driver/xscreensaver-demo.ui.in |
164 index 40e47f6..a7a06a6 100644 |
164 index c04a331..2281859 100644 |
165 --- a/driver/xscreensaver-demo.glade2.in |
165 --- a/driver/xscreensaver-demo.ui.in |
166 +++ b/driver/xscreensaver-demo.glade2.in |
166 +++ b/driver/xscreensaver-demo.ui.in |
167 @@ -165,7 +165,7 @@ |
167 @@ -57,6 +57,14 @@ |
168 <child> |
168 <property name="page_size">0</property> |
169 <widget class="GtkTable" id="blanking_table"> |
169 <property name="value">0</property> |
170 <property name="visible">True</property> |
170 </object> |
171 - <property name="n_rows">3</property> |
171 + <object class="GtkAdjustment" id="adjustment8"> |
172 + <property name="n_rows">4</property> |
172 + <property name="upper">720</property> |
173 <property name="n_columns">4</property> |
173 + <property name="lower">0</property> |
174 <property name="homogeneous">False</property> |
174 + <property name="page_increment">15</property> |
175 <property name="row_spacing">2</property> |
175 + <property name="step_increment">1</property> |
176 @@ -466,6 +466,102 @@ |
176 + <property name="page_size">0</property> |
177 <property name="y_options"></property> |
177 + <property name="value">0</property> |
178 </packing> |
178 + </object> |
179 </child> |
179 <object class="GtkListStore" id="mode_menu_model"> |
180 + |
180 <columns> |
181 + <child> |
181 <column type="gchararray"/> |
182 + <widget class="GtkSpinButton" id="pwd_spinbutton"> |
182 @@ -268,7 +276,7 @@ |
183 + <property name="visible">True</property> |
183 <child> |
184 + <property name="tooltip" translatable="yes">How long the unlock dialog waits for input before disappearing.</property> |
184 <object class="GtkTable" id="blanking_table"> |
185 + <property name="can_focus">True</property> |
185 <property name="visible">True</property> |
186 + <property name="climb_rate">15</property> |
186 - <property name="n_rows">3</property> |
187 + <property name="digits">0</property> |
187 + <property name="n_rows">4</property> |
188 + <property name="numeric">True</property> |
188 <property name="n_columns">4</property> |
189 + <property name="update_policy">GTK_UPDATE_ALWAYS</property> |
189 <property name="homogeneous">False</property> |
190 + <property name="snap_to_ticks">True</property> |
190 <property name="row_spacing">2</property> |
191 + <property name="wrap">False</property> |
191 @@ -409,7 +417,7 @@ |
192 + <property name="adjustment">0 0 720 1 15 15</property> |
192 <property name="right_attach">3</property> |
193 + <accessibility> |
193 <property name="top_attach">2</property> |
194 + <atkrelation target="pwd_button" type="controlled-by"/> |
194 <property name="bottom_attach">3</property> |
195 + <atkrelation target="pwd_button" type="labelled-by"/> |
195 - <property name="y_padding">10</property> |
196 + <atkrelation target="pwd_mlabel" type="labelled-by"/> |
196 + <property name="y_padding">0</property> |
197 + </accessibility> |
197 <property name="x_options">fill</property> |
198 + <signal name="activate" handler="pref_changed_cb"/> |
198 <property name="y_options"/> |
199 + <signal name="focus_out_event" handler="pref_changed_event_cb"/> |
199 </packing> |
200 + <signal name="value_changed" handler="pref_changed_cb"/> |
200 @@ -567,6 +575,97 @@ |
201 + </widget> |
201 <property name="y_options"/> |
202 + <packing> |
202 </packing> |
203 + <property name="left_attach">2</property> |
203 </child> |
204 + <property name="right_attach">3</property> |
204 + <child> |
205 + <property name="top_attach">3</property> |
205 + <object class="GtkSpinButton" id="pwd_spinbutton"> |
206 + <property name="bottom_attach">4</property> |
206 + <property name="visible">True</property> |
207 + <property name="y_padding">10</property> |
207 + <property name="tooltip-text" translatable="yes">How long the unlock dialog waits for input before disappearing.</property> |
208 + <property name="x_options">fill</property> |
208 + <property name="can_focus">True</property> |
209 + <property name="y_options"></property> |
209 + <property name="climb_rate">15</property> |
210 + </packing> |
210 + <property name="digits">0</property> |
211 + </child> |
211 + <property name="numeric">True</property> |
212 + |
212 + <property name="update_policy">GTK_UPDATE_ALWAYS</property> |
213 + <child> |
213 + <property name="snap_to_ticks">True</property> |
214 + <widget class="GtkEventBox" id="pwd_button_eventbox"> |
214 + <property name="wrap">False</property> |
215 + <property name="visible">True</property> |
215 + <property name="adjustment">adjustment8</property> |
216 + <property name="tooltip" translatable="yes">Whether the unlock dialog box should disappear after a timeout.</property> |
216 + <accessibility> |
217 + <property name="visible_window">True</property> |
217 + <relation target="pwd_button" type="controlled-by"/> |
218 + <property name="above_child">False</property> |
218 + <relation target="pwd_button" type="labelled-by"/> |
219 + |
219 + <relation target="pwd_mlabel" type="labelled-by"/> |
220 + <child> |
220 + </accessibility> |
221 + <widget class="GtkCheckButton" id="pwd_button"> |
221 + <signal handler="pref_changed_cb" name="activate"/> |
222 + <property name="visible">True</property> |
222 + <signal handler="pref_changed_event_cb" name="focus_out_event"/> |
223 + <property name="can_focus">True</property> |
223 + <signal handler="pref_changed_cb" name="value_changed"/> |
224 + <property name="label" translatable="yes">Timeout _Unlock After</property> |
224 + </object> |
225 + <property name="use_underline">True</property> |
225 + <packing> |
226 + <property name="relief">GTK_RELIEF_NORMAL</property> |
226 + <property name="left_attach">2</property> |
227 + <property name="focus_on_click">True</property> |
227 + <property name="right_attach">3</property> |
228 + <property name="active">False</property> |
228 + <property name="top_attach">3</property> |
229 + <property name="inconsistent">False</property> |
229 + <property name="bottom_attach">4</property> |
230 + <property name="draw_indicator">True</property> |
230 + <property name="x_options">fill</property> |
231 + <accessibility> |
231 + <property name="y_options"/> |
232 + <atkrelation target="pwd_spinbutton" type="controller-for"/> |
232 + </packing> |
233 + <atkrelation target="pwd_spinbutton" type="label-for"/> |
233 + </child> |
234 + <atkrelation target="pwd_spinbutton" type="flows-to"/> |
234 + <child> |
235 + </accessibility> |
235 + <object class="GtkEventBox" id="pwd_button_eventbox"> |
236 + <signal name="toggled" handler="pref_changed_cb"/> |
236 + <property name="visible">True</property> |
237 + </widget> |
237 + <property name="tooltip-text" translatable="yes">Whether the unlock dialog box should disappear after a timeout.</property> |
238 + </child> |
238 + <property name="visible_window">True</property> |
239 + </widget> |
239 + <property name="above_child">False</property> |
240 + <packing> |
240 + <child> |
241 + <property name="left_attach">0</property> |
241 + <object class="GtkCheckButton" id="pwd_button"> |
242 + <property name="right_attach">2</property> |
242 + <property name="visible">True</property> |
243 + <property name="top_attach">3</property> |
243 + <property name="can_focus">True</property> |
244 + <property name="bottom_attach">4</property> |
244 + <property name="label" translatable="yes">Timeout _Unlock After</property> |
245 + <property name="x_options">fill</property> |
245 + <property name="use_underline">True</property> |
246 + <property name="y_options">fill</property> |
246 + <property name="relief">GTK_RELIEF_NORMAL</property> |
247 + </packing> |
247 + <property name="focus_on_click">True</property> |
248 + </child> |
248 + <property name="active">False</property> |
249 + |
249 + <property name="inconsistent">False</property> |
250 + <child> |
250 + <property name="draw_indicator">True</property> |
251 + <widget class="GtkLabel" id="pwd_mlabel"> |
251 + <accessibility> |
252 + <property name="visible">True</property> |
252 + <relation target="pwd_spinbutton" type="controller-for"/> |
253 + <property name="label" translatable="yes">minutes</property> |
253 + <relation target="pwd_spinbutton" type="label-for"/> |
254 + <property name="use_underline">False</property> |
254 + <relation target="pwd_spinbutton" type="flows-to"/> |
255 + <property name="use_markup">False</property> |
255 + </accessibility> |
256 + <property name="justify">GTK_JUSTIFY_LEFT</property> |
256 + <signal handler="pref_changed_cb" name="toggled"/> |
257 + <property name="wrap">False</property> |
257 + </object> |
258 + <property name="selectable">False</property> |
258 + </child> |
259 + <property name="xalign">0</property> |
259 + </object> |
260 + <property name="yalign">0.5</property> |
260 + <packing> |
261 + <property name="xpad">8</property> |
261 + <property name="left_attach">0</property> |
262 + <property name="ypad">0</property> |
262 + <property name="right_attach">2</property> |
263 + <accessibility> |
263 + <property name="top_attach">3</property> |
264 + <atkrelation target="pwd_spinbutton" type="label-for"/> |
264 + <property name="bottom_attach">4</property> |
265 + <atkrelation target="pwd_spinbutton" type="flows-from"/> |
265 + <property name="x_options">fill</property> |
266 + </accessibility> |
266 + <property name="y_options"/> |
267 + </widget> |
267 + </packing> |
268 + <packing> |
268 + </child> |
269 + <property name="left_attach">3</property> |
269 + <child> |
270 + <property name="right_attach">4</property> |
270 + <object class="GtkLabel" id="pwd_mlabel"> |
271 + <property name="top_attach">3</property> |
271 + <property name="visible">True</property> |
272 + <property name="bottom_attach">4</property> |
272 + <property name="label" translatable="yes">minutes</property> |
273 + <property name="y_options"></property> |
273 + <property name="use_underline">False</property> |
274 + </packing> |
274 + <property name="use_markup">False</property> |
275 + </child> |
275 + <property name="justify">GTK_JUSTIFY_LEFT</property> |
276 </widget> |
276 + <property name="wrap">False</property> |
277 <packing> |
277 + <property name="selectable">False</property> |
278 <property name="left_attach">0</property> |
278 + <property name="xalign">0</property> |
|
279 + <property name="yalign">0.5</property> |
|
280 + <property name="xpad">8</property> |
|
281 + <property name="ypad">0</property> |
|
282 + <accessibility> |
|
283 + <relation target="pwd_spinbutton" type="label-for"/> |
|
284 + <relation target="pwd_spinbutton" type="flows-from"/> |
|
285 + </accessibility> |
|
286 + </object> |
|
287 + <packing> |
|
288 + <property name="left_attach">3</property> |
|
289 + <property name="right_attach">4</property> |
|
290 + <property name="top_attach">3</property> |
|
291 + <property name="bottom_attach">4</property> |
|
292 + <property name="y_options"/> |
|
293 + </packing> |
|
294 + </child> |
|
295 </object> |
|
296 <packing> |
|
297 <property name="left_attach">0</property> |
279 -- |
298 -- |
280 2.6.1 |
299 2.7.4 |
281 |
300 |