Universal Page Orientation Lock Reminder
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
This script detects pages that use the Screen Orientation API to lock the screen orientation—portrait, landscape, or specific angles—and displays a floating reminder panel showing the current orientation lock status. It monitors orientation changes via the Screen Orientation API and provides users with an override option to temporarily unlock orientation, a persistent unlock preference per domain, and a notification when orientation is locked. A small badge appears on the page indicating if the current page is forcing a specific orientation—click the badge to unlock it. Users can unlock orientation for the current session or permanently for the domain, with preferences stored locally.
WHERE IT RUNS
Works on any webpage that uses the Screen Orientation API—mobile web apps, games, video players, or any site that locks orientation for specific content. The script detects orientation lock status and provides unlock controls, making it compatible with most modern browsers that support the Screen Orientation API.
HOW TO USE
The panel appears automatically when you visit a page. It shows the current orientation status: "Locked: Portrait/Landscape" or "Free" or "Unlocked (Override)." If the page has locked orientation, the panel displays a status badge showing the locked orientation. Click "Unlock Orientation" to unlock the screen orientation for the current domain—the preference is saved so the page will be unlocked on future visits. Click "Lock (Reset)" to remove the unlock preference and let the page control orientation again. A small badge appears in the corner of the page when orientation is locked—click it to quickly unlock. Enable "Show notifications" to receive a notification when orientation is locked on a page. The panel updates in real-time when orientation changes.
TECHNICAL MECHANISM: SCREEN ORIENTATION API MONITORING WITH UNLOCK OVERRIDE
The script uses the Screen Orientation API (window.screen.orientation) to detect the current orientation type and angle. It checks for the presence of the screen.orientation object and monitors for "change" events on the orientation object, as well as the document-level "orientationchange" event. The orientation type (portrait-primary, portrait-secondary, landscape-primary, landscape-secondary, etc.) is mapped to a user-friendly label. The unlock override uses screen.orientation.unlock() when available, falling back to screen.orientation.lock('any') on browsers that support the lock method but not unlock. The unlock preference is stored per domain using GM_setValue as a boolean flag. When the preference is set, the script attempts to unlock on page load and re-applies the unlock when orientation changes are detected. The badge is created as a fixed-position element that appears when orientation is locked and the user hasn't set an unlock preference. Clicking the badge triggers the unlock action and removes the badge. Notifications use GM_notification to alert the user when orientation is locked.
THE PANEL
The orientation lock reminder appears in a draggable, resizable panel that remembers its position per site. The panel shows the current orientation status, action buttons, and notification toggle. Drag by the header to reposition, collapse to a compact icon with a click, and resize using the bottom-right corner. The panel snaps to screen edges for tidy placement and closes with the Escape key. All settings—notification preference, unlock preference per domain, and panel position—persist per website using GM_setValue, so your view returns exactly as you left it.
PLEASE NOTE
This script requires the free BotGentz extension to run. The Screen Orientation API is not supported in all browsers—the script gracefully handles unsupported browsers and shows "Not Supported" status. The unlock override may not work on all browsers due to security restrictions—some browsers may not allow script-initiated orientation changes after the page has locked it. The unlock preference is stored per domain; resetting it allows the page to re-lock orientation on the next page load. The badge is a visual indicator only and does not interfere with the page's functionality. The script does not access any personal data or send data anywhere—all processing happens locally in your browser.