|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
From a1a46db86071388fcfeb35d06147f673c6c58c6d Mon Sep 17 00:00:00 2001
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
From: David Herrmann <dh.herrmann@gmail.com>
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
Date: Tue, 8 Jul 2014 12:56:55 +0200
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
Subject: [PATCH] logind: allow switching to unused VTs via SwitchTo()
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
If compositors use the new SwitchTo() logic to map F1-F12, we should allow
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
them to switch to unregistered VTs, too. Otherwise, the auto-spawn logic
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
of gettys won't trigger.
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
Reported-by: Jasper St. Pierre <jstpierre@mecheye.net>
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
(cherry picked from commit 154034270c4643b7cfe61c0be1676d78bb1b7b07)
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
---
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
src/login/logind-seat.c | 7 ++++++-
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
1 file changed, 6 insertions(+), 1 deletion(-)
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
diff --git a/src/login/logind-seat.c b/src/login/logind-seat.c
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
index 3114de84de..9992195151 100644
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
--- a/src/login/logind-seat.c
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
+++ b/src/login/logind-seat.c
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
@@ -275,8 +275,13 @@ int seat_switch_to(Seat *s, unsigned int num) {
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
if (!num)
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
return -EINVAL;
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
- if (num >= s->position_count || !s->positions[num])
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
+ if (num >= s->position_count || !s->positions[num]) {
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
+ /* allow switching to unused VTs to trigger auto-activate */
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
+ if (seat_has_vts(s) && num < 64)
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
+ return chvt(num);
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
return -EINVAL;
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
+ }
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
return session_activate(s->positions[num]);
|
|
Zbigniew Jędrzejewski-Szmek |
43ff24 |
}
|