fix: quitting apps by pressing q multiple times (closes #5247)
This commit is contained in:
1 parent
ab704dc4be
commit
21aeafd8dd
1 file changed
+9
-3
@@ -205,11 +205,17 @@ class Windows {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static func updateSelectedWindow() {
|
static func updateSelectedWindow() {
|
||||||
guard let index = (list.firstIndex { $0.id == selectedWindowTarget }) else {
|
// selectedWindowTarget still exists: we select its new index
|
||||||
setInitialSelectedAndHoveredWindowIndex()
|
if let index = (list.firstIndex { $0.id == selectedWindowTarget }) {
|
||||||
|
updateSelectedAndHoveredWindowIndex(index)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
updateSelectedAndHoveredWindowIndex(index)
|
// list has reduced (e.g. app was quit). Selection should be at the end, so users can for example quit many apps in a sequence
|
||||||
|
let lastIndex = list.filter { $0.shouldShowTheUser }.count - 1
|
||||||
|
if selectedWindowIndex > lastIndex {
|
||||||
|
updateSelectedAndHoveredWindowIndex(lastIndex)
|
||||||
|
}
|
||||||
|
// selectedWindowIndex is undisturbed: do nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
static func updateSelectedAndHoveredWindowIndex(_ newIndex: Int, _ fromMouse: Bool = false) {
|
static func updateSelectedAndHoveredWindowIndex(_ newIndex: Int, _ fromMouse: Bool = false) {
|
||||||
|
|||||||
Reference in new issue
Block a user