Switch Page Direction

Switch Page Direction from LTR to RTL and vice versa. Hotkey: Command + Shift + D.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript== 
// @name        Switch Page Direction
// @description Switch Page Direction from LTR to RTL and vice versa. Hotkey: Command + Shift + D.
// @author      Schimon Jehudah, Adv.
// @namespace   i2p.schimon.direction
// @homepageURL https://greasyfork.org/en/scripts/467248-switch-page-direction-hotkey
// @supportURL  https://greasyfork.org/en/scripts/467248-switch-page-direction-hotkey/feedback
// @copyright   2023, Schimon Jehudah (http://schimon.i2p)
// @license     Public Domain
// @match       file:///*
// @exclude     devtools://*
// @match       *://*/*
// @version     23.06
// @run-at      document-end
// @icon        data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48dGV4dCB5PSIuOWVtIiBmb250LXNpemU9IjkwIj7ihpTvuI88L3RleHQ+PC9zdmc+Cg==
// ==/UserScript==

document.onkeyup = function(e) {
  // Command + Shift + D
  if (e.metaKey && e.shiftKey && e.which == 68) {
    switchPageDirection();
  }
};

function switchPageDirection() {
  if (document.dir == 'ltr' || !document.dir) {
    document.dir = 'rtl';
  } else {
    document.dir = 'ltr';
  }
  return switchPageDirection;
}

/*

NOTE In case we can use context-menu and document-end in same userscript

// @run-at context-menu
// @run-at document-end


var switchPageDirection = (function switchPageDirection() {
  if (!document.dir) {
    document.dir = 'rtl';
  } else if (document.dir == 'ltr') {
    document.dir = 'rtl';
  } else if (document.dir == 'rtl') {
    document.dir = 'ltr';
  }
  return switchPageDirection;
})();

*/