[Xfce4-commits] [apps/xfce4-screensaver] 01/01: Fix lock after delay setting
noreply at xfce.org
noreply at xfce.org
Thu Nov 15 03:11:57 CET 2018
This is an automated email from the git hooks/post-receive script.
b l u e s a b r e p u s h e d a c o m m i t t o b r a n c h m a s t e r
in repository apps/xfce4-screensaver.
commit 09812b707fa5b8c1555cd5e3f318fd01135343e1
Author: Sean Davis <smd.seandavis at gmail.com>
Date: Wed Nov 14 21:11:53 2018 -0500
Fix lock after delay setting
---
README.md | 1 -
src/gs-manager.c | 11 +++++++++--
src/gs-window-x11.c | 12 ++++++++++--
src/gs-window.h | 2 ++
4 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
index 44eecaf..ee20287 100644
--- a/README.md
+++ b/README.md
@@ -23,7 +23,6 @@ Features
Known Issues
============
- - Time before locking after the screensaver, /lock-delay, is currently ignored. Instead, the screen is immediately locked.
- Allow embedding a keyboard into the window, /embedded-keyboard-enabled, may be non-functional. Onboard crashes when embedded.
- Allow the session status message to be displayed, /status-message-enabled, is currently ignored. The status message is always displayed when received.
diff --git a/src/gs-manager.c b/src/gs-manager.c
index c3b5cb4..1bbdd86 100644
--- a/src/gs-manager.c
+++ b/src/gs-manager.c
@@ -384,13 +384,19 @@ gs_manager_get_lock_active (GSManager *manager,
void
gs_manager_set_lock_active (GSManager *manager,
gboolean lock_active) {
+ GSList *l;
+
g_return_if_fail (GS_IS_MANAGER (manager));
gs_debug ("Setting lock active: %d", lock_active);
- if (manager->priv->lock_active != lock_active) {
+ if (manager->priv->lock_active != lock_active) {
manager->priv->lock_active = lock_active;
}
+
+ for (l = manager->priv->windows; l; l = l->next) {
+ gs_window_set_lock_active(l->data, lock_active);
+ }
}
void
@@ -1648,10 +1654,11 @@ gs_manager_deactivate (GSManager *manager) {
/* reset state */
manager->priv->active = FALSE;
manager->priv->activate_time = 0;
- manager->priv->lock_active = FALSE;
manager->priv->dialog_up = FALSE;
manager->priv->fading = FALSE;
+ gs_manager_set_lock_active (manager, FALSE);
+
return TRUE;
}
diff --git a/src/gs-window-x11.c b/src/gs-window-x11.c
index 9dfeb91..c4c409a 100644
--- a/src/gs-window-x11.c
+++ b/src/gs-window-x11.c
@@ -71,6 +71,7 @@ struct GSWindowPrivate {
guint keyboard_enabled : 1;
guint64 logout_timeout;
+ gboolean lock_active;
char *logout_command;
char *keyboard_command;
char *status_message;
@@ -1614,9 +1615,8 @@ gs_window_request_unlock (GSWindow *window) {
return;
}
- if (!window->priv->lock_enabled) {
+ if (!window->priv->lock_active) {
add_emit_deactivated_idle (window);
-
return;
}
@@ -1628,6 +1628,14 @@ gs_window_request_unlock (GSWindow *window) {
}
void
+gs_window_set_lock_active (GSWindow *window,
+ gboolean active) {
+ g_return_if_fail (GS_IS_WINDOW (window));
+
+ window->priv->lock_active = active;
+}
+
+void
gs_window_cancel_unlock_request (GSWindow *window) {
/* FIXME: This is a bit of a hammer approach...
* Maybe we should send a delete-event to the plug?
diff --git a/src/gs-window.h b/src/gs-window.h
index 644640b..0612f2c 100644
--- a/src/gs-window.h
+++ b/src/gs-window.h
@@ -79,6 +79,8 @@ void gs_window_set_user_switch_enabled (GSWindow *window,
gboolean user_switch_enabled);
void gs_window_set_logout_timeout (GSWindow *window,
glong timeout);
+void gs_window_set_lock_active (GSWindow *window,
+ gboolean active);
void gs_window_set_logout_command (GSWindow *window,
const char *command);
void gs_window_set_status_message (GSWindow *window,
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list