Switch Page Direction

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

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

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

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

// ==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;
})();

*/