Skip to content

Commit c27ed9c

Browse files
committed
Add argument --no-shadow
1 parent 9b12b1d commit c27ed9c

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

orangecanvas/main.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
from contextlib import ExitStack, closing
1515

1616
from AnyQt.QtGui import QFont, QColor, QPalette
17-
from AnyQt.QtCore import Qt, QSettings, QTimer, QUrl, QDir
17+
from AnyQt.QtCore import Qt, QSettings, QTimer, QUrl, QDir, QObject, QEvent
18+
from AnyQt.QtWidgets import QWidget
1819

1920
from orangecanvas import localization
2021
from .utils.after_exit import run_after_exit
@@ -97,6 +98,18 @@ def activate_default_config(self):
9798
# Init config
9899
config.init()
99100

101+
def install_shadow_remover(self):
102+
class ShadowRemover(QObject):
103+
def eventFilter(self, obj, event):
104+
if event.type() == QEvent.Type.Polish:
105+
if isinstance(obj, QWidget) and obj.isWindow():
106+
obj.setWindowFlags(
107+
obj.windowFlags() | Qt.WindowType.NoDropShadowWindowHint)
108+
return super().eventFilter(obj, event)
109+
110+
self.__remover = ShadowRemover()
111+
self.application.installEventFilter(self.__remover)
112+
100113
def show_splash_message(self, message: str, color=QColor()):
101114
"""Display splash screen message"""
102115
splash = self.splash_screen()
@@ -201,6 +214,8 @@ def run(self, argv: List[str]) -> int:
201214
with ExitStack() as stack:
202215
self.stack = stack
203216
self.setup_application()
217+
if self.options.no_shadow:
218+
self.install_shadow_remover()
204219
stack.callback(self.tear_down_application)
205220
self.setup_sys_redirections()
206221
stack.callback(self.tear_down_sys_redirections)
@@ -526,6 +541,11 @@ def log_level(value):
526541
type=str, default=None,
527542
)
528543

544+
parser.add_argument(
545+
"--no-shadow", help="Disable drop shadows in the UI",
546+
action="store_true", default=False
547+
)
548+
529549
deprecated = parser.add_argument_group("Deprecated")
530550
deprecated.add_argument(
531551
"--qt", help="Additional arguments for QApplication.\nDeprecated. "

0 commit comments

Comments
 (0)