Screen saver add x11bypasswindowmanager attribute

This commit is contained in:
tanyulong2021 2021-11-02 14:57:51 +08:00
parent 7040b51491
commit 1d5a6cea9f
2 changed files with 54 additions and 1 deletions

View File

@ -0,0 +1,48 @@
From 3ff7cce8755475f9a458cabf9bfacafb2f587225 Mon Sep 17 00:00:00 2001
From: tanyulong <tanyulong@kylinos.cn>
Date: Tue, 2 Nov 2021 14:52:58 +0800
Subject: [PATCH] Screen saver add x11 attribute
---
screensaver/screensaver.cpp | 1 +
src/screensaverwidget.cpp | 11 ++++++++---
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/screensaver/screensaver.cpp b/screensaver/screensaver.cpp
index f722c8f..1739afd 100755
--- a/screensaver/screensaver.cpp
+++ b/screensaver/screensaver.cpp
@@ -57,6 +57,7 @@ Screensaver::Screensaver(QWidget *parent):
m_timer(nullptr)
{
installEventFilter(this);
+ setWindowFlags(Qt::X11BypassWindowManagerHint);
setUpdateCenterWidget();
initUI();
m_background = new MBackground();
diff --git a/src/screensaverwidget.cpp b/src/screensaverwidget.cpp
index 8f9efd3..d691786 100755
--- a/src/screensaverwidget.cpp
+++ b/src/screensaverwidget.cpp
@@ -37,10 +37,15 @@ ScreenSaverWidget::ScreenSaverWidget(ScreenSaver *screensaver, QWidget *parent)
setFocus();
this->installEventFilter(this);
- QPalette plt;
- plt.setBrush(QPalette::Window, Qt::black);
- setPalette(plt);
+ //QPalette plt;
+ //plt.setBrush(QPalette::Window, Qt::black);
+ //setPalette(plt);
+ QPalette pal(palette());
+ pal.setColor(QPalette::Background, Qt::black); //设置背景黑色
+
setAutoFillBackground(true);
+ setPalette(pal);
+
switch(screensaver->mode) {
case SAVER_RANDOM:
case SAVER_SINGLE:
--
2.30.0

View File

@ -1,6 +1,6 @@
Name: ukui-screensaver
Version: 3.0.1
Release: 8
Release: 9
Summary: parallels toolbox for UKUI
License: GPL-3+ GPL-2+
URL: http://www.ukui.org
@ -33,6 +33,7 @@ patch3: 0004-remove-in-debian-copyright-file.patch
patch4: 0005-Add-sentence-author-info.patch
#patch5: 0006-Add-fractional-scaling-parameters.patch
patch6: 0007-screen-saver-mode-is-set-to-single-and-the-problem-of-segfault.patch
patch7: 0008-Screen-saver-add-x11-attribute.patch
%description
The ukui-sidebar is mainly used in the desktop operating system.
@ -49,6 +50,7 @@ patch6: 0007-screen-saver-mode-is-set-to-single-and-the-problem-of-segfault.pat
%patch4 -p1
#%patch5 -p1
%patch6 -p1
%patch7 -p1
%build
cmake .
@ -77,6 +79,9 @@ rm -rf $RPM_BUILD_ROOT
#%%{_datadir}/ukui-screensaver/screensaver-en.ini
%changelog
* Tue Tue 02 2021 tanyulong <tanyulong@kylinos.cn> - 3.0.1-9
- Screen saver add x11bypasswindowmanager attribute
* Mon Nov 1 2021 tanyulong <tanyulong@kylinos.cn> - 3.0.1-8
- When the screen saver mode is set to single, but the screen saver is empty, the problem of segfault