Skip to main content

A small Python package for rotating the screen.

Reason this release was yanked:

Issues with typing

Project description

PyPI - Python Version PyPI - Downloads GitHub

Platforms Supported

Windows is currently the only platform supported.

Installation

Clone the repo, download as a zip file, or use the following command...

pip install rotate-screen

Documentation

The package comes with some functions to get available displays in the form of <rotatescreen Display> objects. You can then use the <rotatescreen Display> object methods to change the orientation of the display.

Here are a few of the available package functions...

Function Returns
rotatescreen.get_displays() Returns a list of <rotatescreen Display> objects for each available display.
rotatescreen.get_secondary_displays() Returns a list of <rotatescreen Display> objects for every display apart from the primary display.
rotatescreen.get_primary_display() Returns a <rotatescreen Display> object for the primary display.

Here are the available methods (no return value) for a <rotatescreen Display> object...

Procedure Arguments Result
.rotate_to(pos) pos (int): Degrees to rotate the screen to. Must be one of 0, 90, 180, 270. Rotates the screen to desired.
.set_landscape() Rotates the screen to landscape.
.set_landscape_flipped() Rotates the screen to upside down landscape.
.set_portrait() Rotates the screen to portrait.
.set_portrait_flipped() Rotates the screen to upside down portrait.

Here are the available attributes for a <rotatescreen Display> object...

Attribute Returns
.current_orientation Returns (int) the current orientation of the display, will be one of 0, 90, 180, 270.
.is_primary Returns (bool) if the display is the primary monitor.
.info Returns (dict) monitor info.
.device Returns monitor device info.
.device_description Returns (str) visable name for display device.

Example: Ctrl+Alt+Arrow Shortcut

This is a simple example that implements the 'Ctrl+Alt+Arrow' keyboard shortcut for rotating the display. This is because some graphics cards don't come with this capability by default.

This example requires the keyboard module...

pip install keyboard

Here is the code! It adds hotkeys to rotate the primary display in the desired direction upon the user entering Ctrl, Alt and an arrow key. It then waits until the script is exited.

import rotatescreen
import keyboard

screen = rotatescreen.get_primary_display()

keyboard.add_hotkey('ctrl+alt+up', screen.set_landscape, suppress=True)
keyboard.add_hotkey('ctrl+alt+right', screen.set_portrait_flipped, suppress=True)
keyboard.add_hotkey('ctrl+alt+down', screen.set_landscape_flipped, suppress=True)
keyboard.add_hotkey('ctrl+alt+left', screen.set_portrait, suppress=True)

keyboard.wait()

Example: Do A Barrel Roll

This was a little joke script to show off some more of the modules functionality, due to the way windows rotates the display this is a pretty horrific looking, but entertaining. :)

import rotatescreen
import time

screen = rotatescreen.get_primary_display()
start_pos = screen.current_orientation

for i in range(1, 5):
    pos = abs((start_pos - i*90) % 360)
    screen.rotate_to(pos)
    time.sleep(1.5)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rotate-screen-0.1.1.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rotate_screen-0.1.1-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file rotate-screen-0.1.1.tar.gz.

File metadata

  • Download URL: rotate-screen-0.1.1.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.4

File hashes

Hashes for rotate-screen-0.1.1.tar.gz
Algorithm Hash digest
SHA256 03c1033da94810ba53a58d760807b340c7e9aa8a097e8470a435dfd507628d57
MD5 4c73d2134a3d7692716cbe4da709c3a8
BLAKE2b-256 8e8bc08f4045ec0b9be7e4301bbd9bd3feff489f596a6a2475230ae487c22705

See more details on using hashes here.

File details

Details for the file rotate_screen-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: rotate_screen-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.4

File hashes

Hashes for rotate_screen-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0af4a21fbfff3534b7ddb46853ba217709ff549fd2ce4b41c3d1587d13a14d65
MD5 48fe4a5162d512e1ed712c6559d3e245
BLAKE2b-256 bdff5566587dc27a395aba319c72ce18a1d0792d354cfca3c7f2d016c041d1b6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page