eric6/Snapshot/SnapshotDefaultGrabber.py

changeset 7957
7bdfa13bc3f5
parent 7945
76daafe10009
child 7966
3afa7b9e51b0
equal deleted inserted replaced
7956:7db67b70e6a8 7957:7bdfa13bc3f5
6 """ 6 """
7 Module implementing a grabber object for non-Wayland desktops. 7 Module implementing a grabber object for non-Wayland desktops.
8 """ 8 """
9 9
10 from PyQt5.QtCore import pyqtSignal, Qt, QObject, QTimer, QEvent 10 from PyQt5.QtCore import pyqtSignal, Qt, QObject, QTimer, QEvent
11 from PyQt5.QtGui import QPixmap, QCursor 11 from PyQt5.QtGui import QPixmap, QCursor, QGuiApplication
12 from PyQt5.QtWidgets import QWidget, QApplication 12 from PyQt5.QtWidgets import QWidget
13 13
14 from .SnapshotModes import SnapshotModes 14 from .SnapshotModes import SnapshotModes
15 15
16 import Globals 16 import Globals
17 17
145 self.__grabberWidget.releaseMouse() 145 self.__grabberWidget.releaseMouse()
146 self.__grabberWidget.hide() 146 self.__grabberWidget.hide()
147 self.__grabTimer.stop() 147 self.__grabTimer.stop()
148 148
149 if mode == SnapshotModes.Fullscreen: 149 if mode == SnapshotModes.Fullscreen:
150 snapshot = QApplication.screens()[0].grabWindow(0) 150 screen = QGuiApplication.screens()[0]
151 vgeom = screen.availableVirtualGeometry()
152 snapshot = screen.grabWindow(
153 0, vgeom.x(), vgeom.y(), vgeom.width(), vgeom.height())
151 elif mode == SnapshotModes.SelectedScreen: 154 elif mode == SnapshotModes.SelectedScreen:
152 screen = QApplication.screenAt(QCursor.pos()) 155 screen = QGuiApplication.screenAt(QCursor.pos())
153 snapshot = screen.grabWindow(0) 156 sgeom = screen.geometry()
157 snapshot = screen.grabWindow(
158 0, sgeom.x(), sgeom.y(), sgeom.width(), sgeom.height())
154 else: 159 else:
155 snapshot = QPixmap() 160 snapshot = QPixmap()
156 161
157 self.grabbed.emit(snapshot) 162 self.grabbed.emit(snapshot)
158 163

eric ide

mercurial