Skip to content

Commit 62d94f9

Browse files
committed
修复Linux浮窗无焦点激活异常&修复无法展开设置侧边栏
1 parent c22826a commit 62d94f9

4 files changed

Lines changed: 6 additions & 7 deletions

File tree

CHANGELOG/v2.3.0-beta.1/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ v2.3 - Shirako (砂狼白子) beta 1
2323
- 修复 **通知浮窗** 开启卡片显示后背景异常
2424
- 修复 **简化模式** 设置项缺失崩溃
2525
- 修复 **Linux通知** 缺少notify-send崩溃
26+
- 修复 **Linux浮窗** 无焦点激活异常
2627

2728
## 🔧 其它变更
2829

app/core/utils.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from typing import Optional, Callable, TypeVar, Any
33
from functools import wraps
44
from loguru import logger
5+
from PySide6.QtCore import Qt
56
from PySide6.QtWidgets import QWidget
67

78

@@ -46,7 +47,8 @@ def activate_window(window: QWidget) -> bool:
4647
try:
4748
window.show()
4849
window.raise_()
49-
window.activateWindow()
50+
if not (window.windowFlags() & Qt.WindowDoesNotAcceptFocus):
51+
window.activateWindow()
5052
return True
5153
except Exception as e:
5254
logger.exception(f"激活窗口失败: {e}", exc_info=True)

app/core/window_manager.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from loguru import logger
44
from PySide6.QtCore import QTimer
55
from app.tools.settings_access import readme_settings_async
6-
from app.core.utils import safe_execute, safe_close_window
6+
from app.core.utils import safe_execute, safe_close_window, activate_window
77

88
if TYPE_CHECKING:
99
from PySide6.QtWidgets import QWidget
@@ -603,8 +603,7 @@ def impl():
603603
if action == "show":
604604
if not win.isVisible():
605605
win.show()
606-
win.raise_()
607-
win.activateWindow()
606+
activate_window(win)
608607
return
609608

610609
safe_execute(impl, error_message="执行窗口控制失败")

app/view/settings/settings.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,6 @@ def _setup_sidebar_scroll(self):
117117
return
118118
if getattr(self, "_sidebar_scroll_area", None) is not None:
119119
return
120-
panel = getattr(navigation, "panel", None)
121-
if panel is not None and hasattr(panel, "setMinimumExpandWidth"):
122-
panel.setMinimumExpandWidth(0)
123120

124121
scroll_area = SingleDirectionScrollArea(self)
125122
scroll_area.setWidgetResizable(True)

0 commit comments

Comments
 (0)