lid behavior watcher to lock session #115

Merged
zach merged 25 commits from lid-switch-behavior into main 2026-06-03 18:02:21 +02:00
5 changed files with 36 additions and 12 deletions
Showing only changes of commit 7da2c7827a - Show all commits
+1 -2
View File
@@ -1,11 +1,10 @@
import Quickshell.Io
import Quickshell.Services.UPower
JsonObject {
property int blurAmount: 40
property bool enableFprint: true
property int maxFprintTries: 3
property bool lidWatch: UPower.displayDevice.isLaptopBattery
property bool lidWatch: false
property bool recolorLogo: false
property bool showNotifContent: false
property bool showNotifIcon: true
+18
View File
@@ -0,0 +1,18 @@
import Quickshell
import ZShell
Scope {
id: root
required property var lock
Connections {
function onLidClosing(): void {
root.lock.lock.locked = true;
AramJonghu marked this conversation as resolved Outdated
Outdated
Review

You need to create a signal in the root Scope and call it here rather than setting the locked value directly.

Scope {
    id: root
    
    signal requestLock
    
    Connections {
    // ...

Is what I suggest, ties in nicely with a similar signal related to locking.

You need to create a signal in the root `Scope` and call it here rather than setting the locked value directly. ```qml Scope { id: root signal requestLock Connections { // ... ``` Is what I suggest, ties in nicely with a similar signal related to locking.
}
target: LidWatcher
}
}
@@ -1,5 +1,6 @@
import qs.Modules.Settings.Categories.Lockscreen
import qs.Modules.Settings.Controls
import qs.Helpers
import qs.Config
SettingsPage {
@@ -63,9 +64,11 @@ SettingsPage {
name: "Laptop lid watch to lock session"
object: Config.lock
setting: "lidWatch"
shouldBeActive: Battery.isLaptop
}
Separator {
shouldBeActive: Battery.isLaptop
}
SettingSpinBox {
+7
View File
@@ -326,6 +326,13 @@ export const settingsIndex = [
section: "Lockscreen",
keywords: ["notification", "hide", "icon"],
},
{
name: "Laptop lid watch to lock session",
category: "lockscreen",
categoryName: "Lockscreen",
section: "Lockscreen",
keywords: ["lid", "lcck", "watch", "session", "laptop"],
AramJonghu marked this conversation as resolved Outdated
Outdated
Review

Typo probably. "lcck" should be "lock"

Typo probably. `"lcck"` should be `"lock"`
},
{
name: "Blur amount",
category: "lockscreen",
+7 -10
View File
@@ -8,7 +8,6 @@
import Quickshell
import Quickshell.Services.UPower
import QtQuick
import ZShell
import qs.Modules
import qs.Modules.Wallpaper
import qs.Modules.Lock
@@ -38,15 +37,6 @@ ShellRoot {
id: lock
}
Connections {
enabled: Config.lock.lidWatch
function onLidClosing(): void {
lock.lock.locked = true;
}
target: LidWatcher
}
Shortcuts {
}
@@ -57,6 +47,13 @@ ShellRoot {
Polkit {
}
LazyLoader {
activeAsync: Config.lock.lidWatch && Battery.isLaptop
component: LidService {
lock: lock
}
}
LazyLoader {
activeAsync: root.laptop