Stop partial contest lock bypass

This commit is contained in:
Jan Schär 2024-05-11 23:25:34 +02:00
parent a2938a3515
commit 58fedcfc70
1 changed files with 9 additions and 0 deletions

View File

@ -10,6 +10,7 @@ const {
const Background = imports.ui.background; const Background = imports.ui.background;
const Layout = imports.ui.layout; const Layout = imports.ui.layout;
const Main = imports.ui.main; const Main = imports.ui.main;
const ScreenShield = imports.ui.screenShield;
// half of the time for which a frame is displayed // half of the time for which a frame is displayed
const HALF_FRAME_TIME_MS = 8; const HALF_FRAME_TIME_MS = 8;
@ -254,6 +255,14 @@ function activate () {
return; return;
} }
// Monkeypatch disable regular lock screen deactivation.
// It is possible to trigger this function while contest lock is active,
// by pressing Ctrl+Alt+F1. This switches to GDM, which, after the automatic
// login timeout, switches back to our session and emits an Unlock signal.
// If we did not disable it here, this would then partially unlock the screen,
// such that you can interact with the Gnome Shell but not with applications.
ScreenShield.ScreenShield.prototype.deactivate = () => {};
actor.show(); actor.show();
Main.sessionMode.pushMode('unlock-dialog'); Main.sessionMode.pushMode('unlock-dialog');