Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- # I was looking at a certain provissioning tool, and keeping track of all the lines was hard,
- # highlighting isnt an option, and theres a lot of stuff on the sceen.
- # this script is to help me keep track of the line I'm on.
- # pip install PyQt5
- import sys
- from PyQt5 import QtCore, QtWidgets, QtGui
- class HighlightLineOverlay(QtWidgets.QWidget):
- def __init__(self):
- super().__init__()
- # Set up the main window
- self.setWindowFlags(
- QtCore.Qt.FramelessWindowHint |
- QtCore.Qt.WindowStaysOnTopHint |
- QtCore.Qt.Tool |
- QtCore.Qt.WindowTransparentForInput
- )
- self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
- # Set the overlay window to full screen
- self.screen_width = QtWidgets.QApplication.primaryScreen().size().width()
- self.screen_height = QtWidgets.QApplication.primaryScreen().size().height()
- self.setGeometry(0, 0, self.screen_width, self.screen_height)
- # Create the highlight bar with semi-transparent color
- self.bar_height = 15 # Adjust bar thickness here
- self.bar_color = QtGui.QColor(255, 255, 0, 50) # Yellow bar with transparency (150)
- self.bar_y_position = 100 # Initial Y position
- self.showFullScreen()
- # Set up a timer to update the bar position based on mouse Y coordinate
- self.timer = QtCore.QTimer(self)
- self.timer.timeout.connect(self.update_bar_position)
- self.timer.start(20) # Refresh rate
- def paintEvent(self, event):
- # Draw the highlight bar
- painter = QtGui.QPainter(self)
- painter.setRenderHint(QtGui.QPainter.Antialiasing)
- painter.setBrush(self.bar_color)
- painter.setPen(QtCore.Qt.NoPen)
- painter.drawRect(0, self.bar_y_position, self.screen_width, self.bar_height)
- def update_bar_position(self):
- # Get the current mouse position
- cursor_pos = QtGui.QCursor.pos()
- # Update the bar's Y position to follow the mouse's Y coordinate
- self.bar_y_position = cursor_pos.y()
- self.update() # Redraw the bar at the new position
- if __name__ == "__main__":
- app = QtWidgets.QApplication(sys.argv)
- overlay = HighlightLineOverlay()
- overlay.show()
- sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement