Skip to content

Settings menu is not showing on primary display #743

@dynobo

Description

@dynobo

What happened?

In a multi monitor setup, the settings menu might not always show on the primary screen.

Ideas:

  • Check for primaryScreen during screen detection and create the menu button on the primary display instead on the first one.
  • Test how this behaves on the different operating systems: primaryScreen is the application "primary", not the system prima: according to the docs, it's the screen where the first application window got drawn. Not sure...
    1. ... how this behaves if NormCap get's launched from e.g. a shortcut on the secondary screen
    2. ... if the primaryScreen is even correct under Wayland systems.

How did you install NormCap?

AppImage (Linux)

Operating System + Version?

KDE

[Linux only] Display Server (DS) + Desktop environment (DE)?

Wayland

Debug log output?*

22:18:10 - INFO    - normcap:52 - Start NormCap v0.6.0-beta2
22:18:10 - DEBUG   - normcap:118 - Set XCURSOR_SIZE=24
22:18:10 - DEBUG   - normcap:123 - Set QT_QPA_PLATFORM=wayland
22:18:10 - DEBUG   - normcap:130 - Append /tmp/.mount_NormCagGOGna/usr/bin to AppImage internal PATH
22:18:10 - DEBUG   - normcap.gui.tray:71 - System info:
{'normcap_version': '0.6.0-beta2', 'python_version': '3.10.16', 'cli_args': '/tmp/.mount_NormCagGOGna/usr/app/normcap/__main__.py -v debug', 'is_briefcase_package': True, 'is_flatpak_package': False, 'is_appimage_package': True, 'platform': 'linux', 'desktop_environment': <DesktopEnvironment.KDE: 3>, 'display_manager_is_wayland': True, 'pyside6_version': '6.9.0', 'qt_version': '6.9.0', 'qt_library_path': '/tmp/.mount_NormCagGOGna/usr/app_packages/PySide6/Qt/plugins, /tmp/.mount_NormCagGOGna/usr/python/bin', 'locale': 'ja_JP', 'config_directory': PosixPath('/home/luca/.config/normcap'), 'resources_path': PosixPath('/tmp/.mount_NormCagGOGna/usr/app/normcap/resources'), 'tesseract_path': PosixPath('/tmp/.mount_NormCagGOGna/usr/bin/tesseract'), 'tessdata_path': PosixPath('/home/luca/.config/normcap/tessdata'), 'envs': {'TESSDATA_PREFIX': None, 'LD_LIBRARY_PATH': None}, 'screens': [Screen(left=5120, top=403, right=7039, bottom=1482, device_pixel_ratio=1.0, index=0, screenshot=<PySide6.QtGui.QImage(null) at 0x7fd67459d080>), Screen(left=0, top=87, right=2559, bottom=1526, device_pixel_ratio=1.0, index=1, screenshot=<PySide6.QtGui.QImage(null) at 0x7fd67459d140>), Screen(left=2560, top=0, right=5119, bottom=1439, device_pixel_ratio=1.0, index=2, screenshot=<PySide6.QtGui.QImage(null) at 0x7fd67459d200>)]}
22:18:10 - DEBUG   - normcap.gui.settings:222 - Skip update of unknown setting (version: False)
22:18:10 - DEBUG   - normcap.gui.settings:222 - Skip update of unknown setting (cli-mode: False)
22:18:10 - DEBUG   - normcap.gui.settings:222 - Skip update of unknown setting (background-mode: False)
22:18:10 - DEBUG   - normcap.gui.settings:222 - Skip update of unknown setting (screenshot-handler: None)
22:18:10 - DEBUG   - normcap.gui.settings:222 - Skip update of unknown setting (clipboard-handler: None)
22:18:10 - DEBUG   - normcap.gui.settings:222 - Skip update of unknown setting (notification-handler: None)
22:18:10 - DEBUG   - normcap.gui.tray:422 - Listen on local socket v0.6.0-beta2-normcap.
22:18:10 - DEBUG   - normcap.detection.ocr.tesseract:122 - Executing '/tmp/.mount_NormCagGOGna/usr/bin/tesseract --list-langs --tessdata-dir /home/luca/.config/normcap/tessdata'
22:18:10 - DEBUG   - normcap.detection.ocr.tesseract:135 - Tesseract command output: List of available languages in "/home/luca/.config/normcap/tessdata/" (1): ¬ eng ¬
22:18:13 - DEBUG   - normcap.screenshot.main:28 - Compatible capture handlers: ['SPECTACLE', 'DBUS_PORTAL']
22:18:13 - DEBUG   - normcap.screenshot.handlers.spectacle:27 - normcap.screenshot.handlers.spectacle dependencies are installed (/usr/bin/spectacle)
22:18:13 - DEBUG   - normcap.screenshot.main:35 - Available capture handlers: ['SPECTACLE', 'DBUS_PORTAL']
22:18:15 - DEBUG   - normcap.screenshot.post_processing:17 - Virtual geometry width: 7040
22:18:15 - DEBUG   - normcap.screenshot.post_processing:18 - Image width: 7040
22:18:15 - DEBUG   - normcap.screenshot.post_processing:19 - Resize ratio: 1.0
22:18:15 - INFO    - normcap.screenshot.main:74 - Screen captured using SPECTACLE
22:18:15 - DEBUG   - normcap.gui.utils:34 - Save debug image as /tmp/normcap/2025-05-23_20-18-15_raw_screen0.png
22:18:15 - DEBUG   - normcap.gui.utils:34 - Save debug image as /tmp/normcap/2025-05-23_20-18-15_raw_screen1.png
22:18:15 - DEBUG   - normcap.gui.utils:34 - Save debug image as /tmp/normcap/2025-05-23_20-18-15_raw_screen2.png
22:18:15 - DEBUG   - normcap.gui.window:51 - Create window for screen 0
22:18:15 - DEBUG   - normcap.gui.window:139 - Set window of screen 0 to fullscreen
22:18:15 - DEBUG   - normcap.gui.window:51 - Create window for screen 1
22:18:15 - DEBUG   - normcap.gui.window:139 - Set window of screen 1 to fullscreen
22:18:15 - DEBUG   - normcap.gui.window:51 - Create window for screen 2
22:18:15 - DEBUG   - normcap.gui.window:139 - Set window of screen 2 to fullscreen
22:18:15 - DEBUG   - normcap.gui.dbus:72 - Moving window 'NormCap [0]' to (left=5120, top=403, right=7039, bottom=1482) via org.kde.kwin.Scripting
22:18:15 - WARNING - normcap.gui.dbus:102 - Failed to move window via org.kde.kwin.Scripting!
22:18:15 - DEBUG   - normcap.gui.dbus:103 - Traceback (most recent call last):
  File "/tmp/.mount_NormCagGOGna/usr/app/normcap/gui/dbus.py", line 96, in move_window_via_kde_kwin_scripting
    raise RuntimeError(  # noqa: TRY301
RuntimeError: ('org.kde.kwin.Scripting.loadScript response: %s', (13,))
22:18:15 - DEBUG   - normcap.gui.dbus:72 - Moving window 'NormCap [1]' to (left=0, top=87, right=2559, bottom=1526) via org.kde.kwin.Scripting
22:18:15 - WARNING - normcap.gui.dbus:102 - Failed to move window via org.kde.kwin.Scripting!
22:18:15 - DEBUG   - normcap.gui.dbus:103 - Traceback (most recent call last):
  File "/tmp/.mount_NormCagGOGna/usr/app/normcap/gui/dbus.py", line 96, in move_window_via_kde_kwin_scripting
    raise RuntimeError(  # noqa: TRY301
RuntimeError: ('org.kde.kwin.Scripting.loadScript response: %s', (14,))
22:18:15 - DEBUG   - normcap.gui.dbus:72 - Moving window 'NormCap [2]' to (left=2560, top=0, right=5119, bottom=1439) via org.kde.kwin.Scripting
22:18:15 - WARNING - normcap.gui.dbus:102 - Failed to move window via org.kde.kwin.Scripting!
22:18:15 - DEBUG   - normcap.gui.dbus:103 - Traceback (most recent call last):
  File "/tmp/.mount_NormCagGOGna/usr/app/normcap/gui/dbus.py", line 96, in move_window_via_kde_kwin_scripting
    raise RuntimeError(  # noqa: TRY301
RuntimeError: ('org.kde.kwin.Scripting.loadScript response: %s', (15,))
22:18:16 - DEBUG   - normcap.gui.tray:384 - Hide 3 windows
22:18:16 - INFO    - normcap.gui.utils:15 - Crop image to region (1225, 444, 1225, 444)
22:18:16 - DEBUG   - normcap.gui.utils:34 - Save debug image as /tmp/normcap/2025-05-23_20-18-16_cropped.png
22:18:16 - WARNING - normcap.gui.tray:273 - Area of 1px is too small. Skip detection.
22:18:16 - INFO    - normcap.gui.tray:598 - Exit normcap
22:18:16 - DEBUG   - normcap.gui.tray:599 - Debug images saved in /tmp/normcap

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlogThis issue is on the roadmapbugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions