Mastodon full-width columns

Makes the columns in Mastodon instances take up all the space.

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!)

/* ==UserStyle==
@name           Mastodon full-width columns
@namespace      gitlab.com/Neui/userstyles
@homepageURL    https://gitlab.com/Neui/userstyles
@supportURL     https://gitlab.com/Neui/userstyles/issues
@version        1.0.1
@license        CC-BY-4.0
@description    Makes the columns in Mastodon instances take up all the space.
@author         Neui
@preprocessor   uso
@var            number    nColumns        "Number of columns"                    4
@var            number    minWidth        "Columns minimum width (px)"           350
@var            number    drawerMinWidth  "Left-most column minimum width (px)"  300
@var            checkbox  drawerFixed     "Left-most column fixed width"         0
==/UserStyle== */

@-moz-document regexp("https?://mastodon\.[a-z0-9.-]+/.*") {
    body:not(.layout-single-column) .columns-area > .drawer,
    body:not(.layout-single-column) .columns-area > .column {
        --drawerFixedWidthForOtherColumns1: initial;
        --drawerFixedWidthForOtherColumns/*[[drawerFixed]]*/: calc(/*[[drawerMinWidth]]*/px / (/*[[nColumns]]*/ * /*[[nColumns]]*/));
        min-width: /*[[minWidth]]*/px;
        width: calc((100% / /*[[nColumns]]*/) + var(--drawerFixedWidthForOtherColumns1, 0px));
    }
    body:not(.layout-single-column) .columns-area > .drawer {
        min-width: /*[[drawerMinWidth]]*/px;
        --drawerFixedWidth1: initial;
        --drawerFixedWidth/*[[drawerFixed]]*/: /*[[drawerMinWidth]]*/px;
        width: var(--drawerFixedWidth1, calc(100% / /*[[nColumns]]*/));
    }
    body:not(.layout-single-column) .columns-area > .column__wrapper > .column {
        width: 100%;
    }
    /* Used when page width is narrow (phone-view) */
    body:not(.layout-single-column) .react-swipeable-view-container .columns-area > .column,
    body:not(.layout-single-column) .react-swipeable-view-container .columns-area > .drawer {
        width: inherit;
    }
}