Skip to content

Commit 0719c0a

Browse files
committed
Don't allow system keys when screensaver up
1 parent 3ce905a commit 0719c0a

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

internal/x11/wm/events.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,10 @@ func (x *x11WM) handleInitialHints(ev xproto.ClientMessageEvent, hint string) {
170170
}
171171

172172
func (x *x11WM) handleKeyPress(ev xproto.KeyPressEvent) {
173+
if screenSaverActive {
174+
return
175+
}
176+
173177
userMod := ev.State&xproto.ModMask4 != 0
174178
if fynedesk.Instance().Settings().KeyboardModifier() == fyne.KeyModifierAlt {
175179
userMod = ev.State&xproto.ModMask1 != 0
@@ -216,6 +220,10 @@ func (x *x11WM) handleKeyPress(ev xproto.KeyPressEvent) {
216220
}
217221

218222
func (x *x11WM) handleKeyRelease(ev xproto.KeyReleaseEvent) {
223+
if screenSaverActive {
224+
return
225+
}
226+
219227
userMod := keyCodeSuper
220228
if fynedesk.Instance().Settings().KeyboardModifier() == fyne.KeyModifierAlt {
221229
userMod = keyCodeAlt

internal/x11/wm/screensaver.go

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ import (
1313

1414
func (x *x11WM) initScreensaver() {
1515
err := screensaver.Init(x.x.Conn())
16-
log.Println("ERR", err)
16+
if err != nil {
17+
log.Println("Failed to init screensaver extension")
18+
return
19+
}
1720

1821
//screensaver.SelectInput(conn.Conn(), xproto.Drawable(conn.Screen().Root),
1922
// screensaver.EventNotifyMask)
@@ -36,7 +39,7 @@ func (x *x11WM) watchScreensaver() {
3639
}
3740
}
3841

39-
var visible bool
42+
var screenSaverActive bool
4043

4144
func (x *x11WM) ShowScreensaver(s *saver.ScreenSaver) {
4245
if fynedesk.Instance().Settings().ScreenSaverType() == "XScreensaver" {
@@ -49,13 +52,13 @@ func (x *x11WM) ShowScreensaver(s *saver.ScreenSaver) {
4952
return
5053
}
5154

52-
if visible {
55+
if screenSaverActive {
5356
return
5457
}
5558

56-
visible = true
59+
screenSaverActive = true
5760
s.OnUnlocked = func() {
58-
visible = false
61+
screenSaverActive = false
5962
}
6063

6164
s.ShowWindow()

0 commit comments

Comments
 (0)