chiark / gitweb /
logind: allow switching to unused VTs via SwitchTo()
authorDavid Herrmann <dh.herrmann@gmail.com>
Tue, 8 Jul 2014 10:56:55 +0000 (12:56 +0200)
committerDavid Herrmann <dh.herrmann@gmail.com>
Tue, 8 Jul 2014 10:56:55 +0000 (12:56 +0200)
If compositors use the new SwitchTo() logic to map F1-F12, we should allow
them to switch to unregistered VTs, too. Otherwise, the auto-spawn logic
of gettys won't trigger.

Reported-by: Jasper St. Pierre <jstpierre@mecheye.net>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
src/login/logind-seat.c

index 3114de8..9992195 100644 (file)
@@ -275,8 +275,13 @@ int seat_switch_to(Seat *s, unsigned int num) {
         if (!num)
                 return -EINVAL;
 
-        if (num >= s->position_count || !s->positions[num])
+        if (num >= s->position_count || !s->positions[num]) {
+                /* allow switching to unused VTs to trigger auto-activate */
+                if (seat_has_vts(s) && num < 64)
+                        return chvt(num);
+
                 return -EINVAL;
+        }
 
         return session_activate(s->positions[num]);
 }