Skip to content

STACKEDmail by cmdrjorgs

Screenshot of STACKEDmail

Details

Authorcmdrjorgs

LicenseNo License

CategoryGmail

Created

Updated

Size8.0 kB

Statistics

Learn how we calculate statistics in the FAQ.

Failed to fetch stats.

Description

This style is made for use with STACK method, a process for working through your email faster in batches. Visit the STACK Method website to learn how to use it.

Categories pre-defined in STACK are given special treatment in your Inbox, and are decked out with gradient backgrounds that match your STACK labels. If you have more STACK categories than the default list, the CSS provides quick instructions on how to add support for your other labels.

NOTE: This CSS uses features not yet enabled by default in most browsers. In Chrome, go to the Experimental Web Platform Features flag and select Enable. If you are not using Chrome, see :has at CanIUse.com to see if this stylesheet can be used in your browser.

Notes

SETUP

Gmail

Create labels with the following names, hierarchy and colors:

  • ACTION (bold yellow)
    -- 1 REPLY (bold purple)
    -- 2 DO (bold red)
    -- 3 MEET (bold green)
    -- 4 FORWARD (bold pink)
    -- 5 REVIEW (bold orange)
  • ACTIVE (bold blue)
  • STORAGE (light grey)

Feel free to add labels, get rid of labels, change colors or change names. Any changes you make here will need to be adjusted in the CSS (don't worry, there's templates you can copy and paste in the code).

You'll only see these gradient background when the label is visible on the email itself. For example, if you viewing the MEET section (aka searching Gmail for label:action-3-meet), all your emails will appear normal. However, if you are in the All Mail view or searching multiple labels at once, you will see gradients on your emails.

Source code

/* ==UserStyle==
@name           STACKEDmail
@namespace      mail.google.com
@version        1.1.0
@description    STACKED in Gmail
@author         David Jorgensen
==/UserStyle== */
@-moz-document url-prefix("https://mail.google.com/"), domain("mail.google.com") {
    
	/* This style is made for use with STACK method, a process for working through your email faster in batches. Visit www.stackmethod.com to learn how to use it. */
	/* NOTE: This CSS uses features not yet enabled by default in most browsers. In Chrome, go to chrome://flags/#enable-experimental-web-platform-features and select Enable. If you are not using Chrome, see caniuse.com/?search=%3Ahas to see if this stylesheet can be used in your browser. */
	
	/* Theme colors. These should preferrably be the color you assigned to the label. */
    :root {
        --action-label-color: #fbe983;
        --reply-label-color: #b99aff;
        --do-label-color: #fb4c2f;
        --meet-label-color: #16a765;
        --forward-label-color: #f691b2;
        --review-label-color: #ffad46;
        --active-label-color: #4986e7;
        --storage-label-color: #c2c2c2;
        --assigned-label-color: #42d692;
        --starred-color: #f4b400;
        --starred-color-shadow-1: rgba(244,180,0,1);
        --starred-color-shadow-2: rgba(244,180,0,0.15);
        --starred-color-transparent: rgba(244,180,0,0);
        --backing-color: rgba(242,245,245,0.8);
		
		/* TEMPLATE COLOR, copy this! Change the "TEMPLATE" part of the variable name to the new label name, and change the color to match the color you selected for your label in Gmail. */
		--TEMPLATE-label-color: #ffffff;
    }
	
	/* Gradient backgrounds for tagged emails. Tag names must match titles given in each section below. */
    tr:has(div[title="Assigned"]){
        background: linear-gradient(
            90deg, 
            var(--backing-color) 0%, 
            var(--backing-color) 50%,
            var(--assigned-label-color) 100%)
            !important;
    }
    tr:has(div[title="ACTION"]){
        background: linear-gradient(
            90deg, 
            var(--backing-color) 0%, 
            var(--backing-color) 50%,
            var(--action-label-color) 100%)
            !important;
    }
    tr:has(div[title="ACTION/1 REPLY"]){
        background: linear-gradient(
            90deg, 
            var(--backing-color) 0%, 
            var(--backing-color) 50%,
            var(--reply-label-color) 100%)
            !important;
    }
    tr:has(div[title="ACTION/2 DO"]){
        background: linear-gradient(
            90deg, 
            var(--backing-color) 0%, 
            var(--backing-color) 50%,
            var(--do-label-color) 100%)
            !important;
    }
    tr:has(div[title="ACTION/3 MEET"]){
        background: linear-gradient(
            90deg, 
            var(--backing-color) 0%, 
            var(--backing-color) 50%,
            var(--meet-label-color) 100%)
            !important;
    }
    tr:has(div[title="ACTION/4 FORWARD"]){
        background: linear-gradient(
            90deg, 
            var(--backing-color) 0%, 
            var(--backing-color) 50%,
            var(--forward-label-color) 100%)
            !important;
    }
    tr:has(div[title="ACTION/5 REVIEW"]){
        background: linear-gradient(
            90deg, 
            var(--backing-color) 0%, 
            var(--backing-color) 50%,
            var(--review-label-color) 100%)
            !important;
    }
    tr:has(div[title="ACTIVE"]){
        background: linear-gradient(
            90deg, 
            var(--backing-color) 0%, 
            var(--backing-color) 50%,
            var(--active-label-color) 100%)
            !important;
    }
    tr:has(div[title="STORAGE"]){ /* The original STACK method uses "ARCHIVE". This is a reserved word in Gmail and cannot be used, so "STORAGE" is used here instead. */
        background: linear-gradient(
            90deg, 
            var(--backing-color) 0%, 
            var(--backing-color) 50%,
            var(--storage-label-color) 100%)
            !important;
    }
	
	/* TEMPLATE LABEL, copy this! Change the title to the new label name, and change the color variable to match the name you created in the theme color section above. */
	tr:has(div[title="TEMPLATE"]){
        background: linear-gradient(
            90deg, 
            var(--backing-color) 0%, 
            var(--backing-color) 50%,
            var(--TEMPLATE-label-color) 100%)
            !important;
    }

	/* Emphasize starred emails */
    @keyframes starred {
        from {background: var(--starred-color-shadow-1);}
        to {background: var(--starred-color-shadow-2);}
    }
    tr:has(img[alt="Starred"]) > td.PF {
        background: var(--starred-color);
		width: 10px;
		margin-right: -7px;
        animation-name: starred;
        animation-duration: .8s;
        animation-iteration-count: infinite;
        animation-direction: alternate;
        animation-timing-function: ease-in-out;
    }
	
	/* Highlight active folder in column for easier visibility */
	.ain:has(div[data-tooltip="ACTION"]) > .TO {
		background-color: var(--action-label-color) !important;
	}
	.ain:has(div[data-tooltip="ACTION"]) > .TO a {
		color: #202124;
	}
	.ain:has(div[data-tooltip="ACTION"]) > .TO .qj {
		background-color: #202124 !important;
	}
	.ain:has(div[data-tooltip="1 REPLY"]) > .TO {
		background-color: var(--reply-label-color) !important;
	}
	.ain:has(div[data-tooltip="1 REPLY"]) > .TO a {
		color: #fff !important;
	}
	.ain:has(div[data-tooltip="1 REPLY"]) > .TO .qj {
		background-color: #fff !important;
	}
	.ain:has(div[data-tooltip="2 DO"]) > .TO {
		background-color: var(--do-label-color) !important;
	}
	.ain:has(div[data-tooltip="2 DO"]) > .TO a {
		color: #fff !important;
	}
	.ain:has(div[data-tooltip="2 DO"]) > .TO .qj {
		background-color: #fff !important;
	}
	.ain:has(div[data-tooltip="3 MEET"]) > .TO {
		background-color: var(--meet-label-color) !important;
	}
	.ain:has(div[data-tooltip="3 MEET"]) > .TO a {
		color: #fff !important;
	}
	.ain:has(div[data-tooltip="3 MEET"]) > .TO .qj {
		background-color: #fff !important;
	}
	.ain:has(div[data-tooltip="4 FORWARD"]) > .TO {
		background-color: var(--forward-label-color) !important;
	}
	.ain:has(div[data-tooltip="4 FORWARD"]) > .TO a {
		color: #202124;
	}
	.ain:has(div[data-tooltip="4 FORWARD"]) > .TO .qj {
		background-color: #202124 !important;
	}
	.ain:has(div[data-tooltip="5 REVIEW"]) > .TO {
		background-color: var(--review-label-color) !important;
	}
	.ain:has(div[data-tooltip="5 REVIEW"]) > .TO a {
		color: #202124;
	}
	.ain:has(div[data-tooltip="5 REVIEW"]) > .TO .qj {
		background-color: #202124 !important;
	}
	.ain:has(div[data-tooltip="ACTIVE"]) > .TO {
		background-color: var(--active-label-color) !important;
	}
	.ain:has(div[data-tooltip="ACTIVE"]) > .TO a {
		color: #fff !important;
	}
	.ain:has(div[data-tooltip="ACTIVE"]) > .TO .qj {
		background-color: #fff !important;
	}
	.ain:has(div[data-tooltip="Assigned"]) > .TO {
		background-color: var(--assigned-label-color) !important;
	}
	.ain:has(div[data-tooltip="Assigned"]) > .TO a {
		color: #202124 !important;
	}
	.ain:has(div[data-tooltip="Assigned"]) > .TO .qj {
		background-color: #202124 !important;
	}
	
	/* Larger tags at top of emails */
	.hN {
		padding-top: 4px;
		padding-bottom: 4px;
		margin-top:-8px;
	}
	.hO {
		padding: 4px 8px 4px 8px;
		margin-top:-8px;
	}
	
	/* Various beauty tweaks */
    .aqn {
        min-width: 200px; /* Narrows left sidebar */
    }
    .aeN {
        display: none; /* hides Meet/Spaces sidebar */
    }
    .aKh {
        border-top-left-radius:10px!important; /* Rounds some corners */
        border-top-right-radius:10px!important;
    }
    .bAt, .AO, .if, .aeJ {
        border-radius:20px!important; /* Rounds some corners */
    }
    .zE {
        background: rgba(253, 237, 193, 1)!important; /* highlights unread emails in yellow */
    }
}

Reviews

No reviews yet.