aboutsummaryrefslogtreecommitdiff
path: root/src/main-window.vala
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2023-02-06 12:10:08 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2023-02-06 12:10:08 +0100
commit0941cb7f75ac4d248af120efc05ec2412fcb944d (patch)
treeaf9e9631b7bf2a3756a2096ae3f519467946be42 /src/main-window.vala
parente79bf3a819a0c972eeabd3018d412baf0531965b (diff)
parent5ffd6d93a5f1120f7b2295b377d7a938394a7702 (diff)
downloadarctica-greeter-0941cb7f75ac4d248af120efc05ec2412fcb944d.tar.gz
arctica-greeter-0941cb7f75ac4d248af120efc05ec2412fcb944d.tar.bz2
arctica-greeter-0941cb7f75ac4d248af120efc05ec2412fcb944d.zip
Merge branch 'sunweaver-pr/ports-from-slick-greeter'
Attributes GH PR #41: https://github.com/ArcticaProject/arctica-greeter/pull/41
Diffstat (limited to 'src/main-window.vala')
-rw-r--r--src/main-window.vala39
1 files changed, 18 insertions, 21 deletions
diff --git a/src/main-window.vala b/src/main-window.vala
index d7fe6f0..5dd5a9a 100644
--- a/src/main-window.vala
+++ b/src/main-window.vala
@@ -363,19 +363,26 @@ public class MainWindow : Gtk.Window
if (stack.top () is UserList)
{
var user_list = stack.top () as UserList;
- if (!user_list.show_hidden_users)
+ var shift_mask = Gdk.ModifierType.CONTROL_MASK | Gdk.ModifierType.MOD1_MASK;
+ var control_mask = Gdk.ModifierType.SHIFT_MASK | Gdk.ModifierType.MOD1_MASK;
+ var alt_mask = Gdk.ModifierType.CONTROL_MASK | Gdk.ModifierType.SHIFT_MASK;
+ if (((event.keyval == Gdk.Key.Shift_L || event.keyval == Gdk.Key.Shift_R) && (event.state & shift_mask) == shift_mask) ||
+ ((event.keyval == Gdk.Key.Control_L || event.keyval == Gdk.Key.Control_R) && (event.state & control_mask) == control_mask) ||
+ ((event.keyval == Gdk.Key.Alt_L || event.keyval == Gdk.Key.Alt_R) && (event.state & alt_mask) == alt_mask))
{
- var shift_mask = Gdk.ModifierType.CONTROL_MASK | Gdk.ModifierType.MOD1_MASK;
- var control_mask = Gdk.ModifierType.SHIFT_MASK | Gdk.ModifierType.MOD1_MASK;
- var alt_mask = Gdk.ModifierType.CONTROL_MASK | Gdk.ModifierType.SHIFT_MASK;
- if (((event.keyval == Gdk.Key.Shift_L || event.keyval == Gdk.Key.Shift_R) && (event.state & shift_mask) == shift_mask) ||
- ((event.keyval == Gdk.Key.Control_L || event.keyval == Gdk.Key.Control_R) && (event.state & control_mask) == control_mask) ||
- ((event.keyval == Gdk.Key.Alt_L || event.keyval == Gdk.Key.Alt_R) && (event.state & alt_mask) == alt_mask))
- {
- debug ("Hidden user key combination detected");
- user_list.show_hidden_users = true;
+ debug ("Hidden user key combination detected");
+ user_list.show_hidden_users = ! user_list.show_hidden_users;
+ return true;
+ }
+ }
+ else if (stack.top () is SessionList) {
+ // Session list is open
+ switch (event.keyval) {
+ case Gdk.Key.Escape:
+ case Gdk.Key.Left:
+ case Gdk.Key.KP_Left:
+ pop_list();
return true;
- }
}
}
@@ -408,16 +415,6 @@ public class MainWindow : Gtk.Window
if (login_box.sensitive)
top.scroll (GreeterList.ScrollTarget.DOWN);
return true;
- case Gdk.Key.Left:
- case Gdk.Key.KP_Left:
- if (shutdown_dialog != null)
- shutdown_dialog.focus_prev ();
- return true;
- case Gdk.Key.Right:
- case Gdk.Key.KP_Right:
- if (shutdown_dialog != null)
- shutdown_dialog.focus_next ();
- return true;
case Gdk.Key.F10:
if (login_box.sensitive)
menubar.select_first (false);