Skip to content
Subway SeatSubway SeatSubway Seat
← All ports

DesktopNeeds rofi 1.7+

rofi

Colors on rofi's default layout: the window on the raised paper ground, a text-wash selection, gold matches, denim for active entries and orange for urgent ones. The palette's roles are defined as variables (@text-hi, @orange) for anything you add after @theme.

Showing WalnutTunnelEnamelMoquetteDeep LevelPortlandGuimardCatacombesCarrelage. Switch flavors with the bullets up top.

rofi Report a problem with this portReport a problem with this portReport a problem with this portReport a problem with this portReport a problem with this portReport a problem with this portReport a problem with this portReport a problem with this portReport a problem with this port

The quick way

The installer sets it up and switches the theme on for you. More ways to install

curl -fsSL https://oddurs.github.io/subway-seat/install.sh | sh -s -- --flavor walnut --only rofi
curl -fsSL https://oddurs.github.io/subway-seat/install.sh | sh -s -- --flavor tunnel --only rofi
curl -fsSL https://oddurs.github.io/subway-seat/install.sh | sh -s -- --flavor enamel --only rofi
curl -fsSL https://oddurs.github.io/subway-seat/install.sh | sh -s -- --flavor moquette --only rofi
curl -fsSL https://oddurs.github.io/subway-seat/install.sh | sh -s -- --flavor deep --only rofi
curl -fsSL https://oddurs.github.io/subway-seat/install.sh | sh -s -- --flavor portland --only rofi
curl -fsSL https://oddurs.github.io/subway-seat/install.sh | sh -s -- --flavor guimard --only rofi
curl -fsSL https://oddurs.github.io/subway-seat/install.sh | sh -s -- --flavor catacombes --only rofi
curl -fsSL https://oddurs.github.io/subway-seat/install.sh | sh -s -- --flavor carrelage --only rofi

Turn it on

In ~/.config/rofi/config.rasi, at the end (or pick it in rofi-theme-selector)
@theme "subway-seat"
In ~/.config/rofi/config.rasi, at the end (or pick it in rofi-theme-selector)
@theme "subway-seat-tunnel"
In ~/.config/rofi/config.rasi, at the end (or pick it in rofi-theme-selector)
@theme "subway-seat-enamel"
In ~/.config/rofi/config.rasi, at the end (or pick it in rofi-theme-selector)
@theme "london-moquette"
In ~/.config/rofi/config.rasi, at the end (or pick it in rofi-theme-selector)
@theme "london-deep-level"
In ~/.config/rofi/config.rasi, at the end (or pick it in rofi-theme-selector)
@theme "london-portland"
In ~/.config/rofi/config.rasi, at the end (or pick it in rofi-theme-selector)
@theme "paris-guimard"
In ~/.config/rofi/config.rasi, at the end (or pick it in rofi-theme-selector)
@theme "paris-catacombes"
In ~/.config/rofi/config.rasi, at the end (or pick it in rofi-theme-selector)
@theme "paris-carrelage"

The files

subway-seat.rasisave as ~/.local/share/rofi/themes/subway-seat.rasi
/* Subway Seat — generated from palette.py by build.py. Edit the palette, not this file. */
/* Subway Seat for rofi */

@import "default"

* {
    crust:     #20160E;
    mantle:    #2A1D13;
    base:      #362619;
    surface0:  #43301F;
    surface1:  #513B27;
    surface2:  #634932;
    overlay0:  #7B6047;
    overlay1:  #967B5C;
    overlay2:  #AE9575;
    subtext0:  #C4AE8C;
    subtext1:  #D9C6A3;
    text:      #EDDCBC;
    text-hi:   #F8ECD4;
    yellow:    #F3BF45;
    yellow-hi: #FFD36B;
    orange:    #EC7F31;
    orange-hi: #FF9D55;
    red:       #E05C45;
    red-hi:    #FF8373;
    green:     #ADB956;
    green-hi:  #BFCB63;
    sage:      #86AD95;
    sage-hi:   #A5C9B0;
    denim:     #7F9BAE;
    denim-hi:  #9DB6C6;
    clay:      #F4A87E;

    paper:     #43301F;
    edge:      #584532;
    hover:     #503D2B;
    selection: #6C5945;

    /* the default theme's variables */
    background:                  @paper;
    foreground:                  @text;
    lightbg:                     @hover;
    lightfg:                     @subtext1;
    red:                         @red;
    blue:                        @denim;
    border-color:                @edge;
    separatorcolor:              @edge;
    normal-background:           @paper;
    normal-foreground:           @text;
    alternate-normal-background: @paper;
    alternate-normal-foreground: @text;
    active-background:           @paper;
    active-foreground:           @denim;
    alternate-active-background: @paper;
    alternate-active-foreground: @denim;
    urgent-background:           @paper;
    urgent-foreground:           @orange;
    alternate-urgent-background: @paper;
    alternate-urgent-foreground: @orange;
    selected-normal-background:  @selection;
    selected-normal-foreground:  @text-hi;
    selected-active-background:  @selection;
    selected-active-foreground:  #9DB6C6;
    selected-urgent-background:  @selection;
    selected-urgent-foreground:  #FF9D55;
}

element-text {
    highlight: bold #F3BF45;
}

entry {
    placeholder-color: #967B5C;
}

prompt {
    text-color: @subtext1;
}

num-filtered-rows, num-rows, textbox-num-sep {
    text-color: #967B5C;
}

scrollbar {
    handle-color: #967B5C;
}
subway-seat-tunnel.rasisave as ~/.local/share/rofi/themes/subway-seat-tunnel.rasi
/* Subway Seat — generated from palette.py by build.py. Edit the palette, not this file. */
/* Subway Seat Tunnel for rofi */

@import "default"

* {
    crust:     #140D07;
    mantle:    #1B120A;
    base:      #24180E;
    surface0:  #302115;
    surface1:  #3D2C1D;
    surface2:  #4F3927;
    overlay0:  #745B45;
    overlay1:  #917759;
    overlay2:  #AA9171;
    subtext0:  #C0AA88;
    subtext1:  #D6C3A0;
    text:      #E9D8B6;
    text-hi:   #F6EAD1;
    yellow:    #F3BF45;
    yellow-hi: #FFD36B;
    orange:    #EC7F31;
    orange-hi: #FF9D55;
    red:       #E05C45;
    red-hi:    #FF8373;
    green:     #ADB956;
    green-hi:  #BFCB63;
    sage:      #86AD95;
    sage-hi:   #A5C9B0;
    denim:     #7F9BAE;
    denim-hi:  #9DB6C6;
    clay:      #F4A87E;

    paper:     #302115;
    edge:      #463729;
    hover:     #3F2F22;
    selection: #5C4D3C;

    /* the default theme's variables */
    background:                  @paper;
    foreground:                  @text;
    lightbg:                     @hover;
    lightfg:                     @subtext1;
    red:                         @red;
    blue:                        @denim;
    border-color:                @edge;
    separatorcolor:              @edge;
    normal-background:           @paper;
    normal-foreground:           @text;
    alternate-normal-background: @paper;
    alternate-normal-foreground: @text;
    active-background:           @paper;
    active-foreground:           @denim;
    alternate-active-background: @paper;
    alternate-active-foreground: @denim;
    urgent-background:           @paper;
    urgent-foreground:           @orange;
    alternate-urgent-background: @paper;
    alternate-urgent-foreground: @orange;
    selected-normal-background:  @selection;
    selected-normal-foreground:  @text-hi;
    selected-active-background:  @selection;
    selected-active-foreground:  #9DB6C6;
    selected-urgent-background:  @selection;
    selected-urgent-foreground:  #FF9D55;
}

element-text {
    highlight: bold #F3BF45;
}

entry {
    placeholder-color: #917759;
}

prompt {
    text-color: @subtext1;
}

num-filtered-rows, num-rows, textbox-num-sep {
    text-color: #917759;
}

scrollbar {
    handle-color: #917759;
}
subway-seat-enamel.rasisave as ~/.local/share/rofi/themes/subway-seat-enamel.rasi
/* Subway Seat — generated from palette.py by build.py. Edit the palette, not this file. */
/* Subway Seat Enamel for rofi */

@import "default"

* {
    crust:     #E4D8C0;
    mantle:    #EEE4D0;
    base:      #F8EFDF;
    surface0:  #DBCDB3;
    surface1:  #CBB898;
    surface2:  #BAA380;
    overlay0:  #A58D6D;
    overlay1:  #8C7254;
    overlay2:  #735C44;
    subtext0:  #654F3B;
    subtext1:  #54402F;
    text:      #3E2C1E;
    text-hi:   #2A1D13;
    yellow:    #976608;
    yellow-hi: #A9720A;
    orange:    #A04800;
    orange-hi: #BA4D0A;
    red:       #992418;
    red-hi:    #BF4233;
    green:     #66740F;
    green-hi:  #697813;
    sage:      #3E7157;
    sage-hi:   #4C8367;
    denim:     #3F6480;
    denim-hi:  #517791;
    clay:      #843811;

    paper:     #FCF7EF;
    edge:      #E1DAD1;
    hover:     #EFE9E0;
    selection: #D6CEC5;

    /* the default theme's variables */
    background:                  @paper;
    foreground:                  @text;
    lightbg:                     @hover;
    lightfg:                     @subtext1;
    red:                         @red;
    blue:                        @denim;
    border-color:                @edge;
    separatorcolor:              @edge;
    normal-background:           @paper;
    normal-foreground:           @text;
    alternate-normal-background: @paper;
    alternate-normal-foreground: @text;
    active-background:           @paper;
    active-foreground:           @denim;
    alternate-active-background: @paper;
    alternate-active-foreground: @denim;
    urgent-background:           @paper;
    urgent-foreground:           @orange;
    alternate-urgent-background: @paper;
    alternate-urgent-foreground: @orange;
    selected-normal-background:  @selection;
    selected-normal-foreground:  @text-hi;
    selected-active-background:  @selection;
    selected-active-foreground:  #3F6480;
    selected-urgent-background:  @selection;
    selected-urgent-foreground:  #A04800;
}

element-text {
    highlight: bold #976608;
}

entry {
    placeholder-color: #8C7254;
}

prompt {
    text-color: @subtext1;
}

num-filtered-rows, num-rows, textbox-num-sep {
    text-color: #8C7254;
}

scrollbar {
    handle-color: #8C7254;
}
london-moquette.rasisave as ~/.local/share/rofi/themes/london-moquette.rasi
/* Subway Seat — generated from palette.py by build.py. Edit the palette, not this file. */
/* London Moquette for rofi */

@import "default"

* {
    crust:     #121826;
    mantle:    #172032;
    base:      #1E2941;
    surface0:  #263451;
    surface1:  #303F61;
    surface2:  #3D4F72;
    overlay0:  #576685;
    overlay1:  #73819C;
    overlay2:  #8F9AB0;
    subtext0:  #A9B2C4;
    subtext1:  #C1C9D8;
    text:      #D8DEEA;
    text-hi:   #E9EDF5;
    yellow:    #F2C03F;
    yellow-hi: #FFD36C;
    orange:    #DE8946;
    orange-hi: #E5AA7F;
    red:       #DB6052;
    red-hi:    #FE8474;
    green:     #77C581;
    green-hi:  #9AD2A0;
    sage:      #54B4B5;
    sage-hi:   #72D1D3;
    denim:     #7595DA;
    denim-hi:  #8BB0FF;
    clay:      #AE9EDC;

    paper:     #263451;
    edge:      #3C4964;
    hover:     #34415D;
    selection: #515D76;

    /* the default theme's variables */
    background:                  @paper;
    foreground:                  @text;
    lightbg:                     @hover;
    lightfg:                     @subtext1;
    red:                         @red;
    blue:                        @denim;
    border-color:                @edge;
    separatorcolor:              @edge;
    normal-background:           @paper;
    normal-foreground:           @text;
    alternate-normal-background: @paper;
    alternate-normal-foreground: @text;
    active-background:           @paper;
    active-foreground:           @denim;
    alternate-active-background: @paper;
    alternate-active-foreground: @denim;
    urgent-background:           @paper;
    urgent-foreground:           @orange;
    alternate-urgent-background: @paper;
    alternate-urgent-foreground: @orange;
    selected-normal-background:  @selection;
    selected-normal-foreground:  @text-hi;
    selected-active-background:  @selection;
    selected-active-foreground:  #8BB0FF;
    selected-urgent-background:  @selection;
    selected-urgent-foreground:  #E5AA7F;
}

element-text {
    highlight: bold #F2C03F;
}

entry {
    placeholder-color: #73819C;
}

prompt {
    text-color: @subtext1;
}

num-filtered-rows, num-rows, textbox-num-sep {
    text-color: #73819C;
}

scrollbar {
    handle-color: #73819C;
}
london-deep-level.rasisave as ~/.local/share/rofi/themes/london-deep-level.rasi
/* Subway Seat — generated from palette.py by build.py. Edit the palette, not this file. */
/* London Deep Level for rofi */

@import "default"

* {
    crust:     #0A0E18;
    mantle:    #0D1421;
    base:      #121A2D;
    surface0:  #1A243A;
    surface1:  #232F49;
    surface2:  #303E5B;
    overlay0:  #53617D;
    overlay1:  #6F7C97;
    overlay2:  #8B96AC;
    subtext0:  #A5AEC0;
    subtext1:  #BEC6D5;
    text:      #D4DAE7;
    text-hi:   #E7EBF3;
    yellow:    #F2C03F;
    yellow-hi: #FFD36C;
    orange:    #DE8946;
    orange-hi: #E5AA7F;
    red:       #DB6052;
    red-hi:    #FE8474;
    green:     #77C581;
    green-hi:  #9AD2A0;
    sage:      #54B4B5;
    sage-hi:   #72D1D3;
    denim:     #7595DA;
    denim-hi:  #8BB0FF;
    clay:      #AE9EDC;

    paper:     #1A243A;
    edge:      #313A4F;
    hover:     #293248;
    selection: #465063;

    /* the default theme's variables */
    background:                  @paper;
    foreground:                  @text;
    lightbg:                     @hover;
    lightfg:                     @subtext1;
    red:                         @red;
    blue:                        @denim;
    border-color:                @edge;
    separatorcolor:              @edge;
    normal-background:           @paper;
    normal-foreground:           @text;
    alternate-normal-background: @paper;
    alternate-normal-foreground: @text;
    active-background:           @paper;
    active-foreground:           @denim;
    alternate-active-background: @paper;
    alternate-active-foreground: @denim;
    urgent-background:           @paper;
    urgent-foreground:           @orange;
    alternate-urgent-background: @paper;
    alternate-urgent-foreground: @orange;
    selected-normal-background:  @selection;
    selected-normal-foreground:  @text-hi;
    selected-active-background:  @selection;
    selected-active-foreground:  #8BB0FF;
    selected-urgent-background:  @selection;
    selected-urgent-foreground:  #E5AA7F;
}

element-text {
    highlight: bold #F2C03F;
}

entry {
    placeholder-color: #6F7C97;
}

prompt {
    text-color: @subtext1;
}

num-filtered-rows, num-rows, textbox-num-sep {
    text-color: #6F7C97;
}

scrollbar {
    handle-color: #6F7C97;
}
london-portland.rasisave as ~/.local/share/rofi/themes/london-portland.rasi
/* Subway Seat — generated from palette.py by build.py. Edit the palette, not this file. */
/* London Portland for rofi */

@import "default"

* {
    crust:     #CCDAF2;
    mantle:    #DCE5F7;
    base:      #E8F0FF;
    surface0:  #BFCFF1;
    surface1:  #A8BBE2;
    surface2:  #93A7CF;
    overlay0:  #8192B4;
    overlay1:  #697794;
    overlay2:  #556179;
    subtext0:  #4A5469;
    subtext1:  #3C4557;
    text:      #293040;
    text-hi:   #1B202B;
    yellow:    #8D6C08;
    yellow-hi: #9B770A;
    orange:    #A54300;
    orange-hi: #AC5A00;
    red:       #9B211A;
    red-hi:    #CC2E25;
    green:     #0D8131;
    green-hi:  #008730;
    sage:      #007376;
    sage-hi:   #008688;
    denim:     #0019A8;
    denim-hi:  #4A6EBD;
    clay:      #755FA9;

    paper:     #F4F8FF;
    edge:      #D7DCE4;
    hover:     #E6EAF2;
    selection: #CBD0D9;

    /* the default theme's variables */
    background:                  @paper;
    foreground:                  @text;
    lightbg:                     @hover;
    lightfg:                     @subtext1;
    red:                         @red;
    blue:                        @denim;
    border-color:                @edge;
    separatorcolor:              @edge;
    normal-background:           @paper;
    normal-foreground:           @text;
    alternate-normal-background: @paper;
    alternate-normal-foreground: @text;
    active-background:           @paper;
    active-foreground:           @denim;
    alternate-active-background: @paper;
    alternate-active-foreground: @denim;
    urgent-background:           @paper;
    urgent-foreground:           @orange;
    alternate-urgent-background: @paper;
    alternate-urgent-foreground: @orange;
    selected-normal-background:  @selection;
    selected-normal-foreground:  @text-hi;
    selected-active-background:  @selection;
    selected-active-foreground:  #0019A8;
    selected-urgent-background:  @selection;
    selected-urgent-foreground:  #A54300;
}

element-text {
    highlight: bold #8D6C08;
}

entry {
    placeholder-color: #697794;
}

prompt {
    text-color: @subtext1;
}

num-filtered-rows, num-rows, textbox-num-sep {
    text-color: #697794;
}

scrollbar {
    handle-color: #697794;
}
paris-guimard.rasisave as ~/.local/share/rofi/themes/paris-guimard.rasi
/* Subway Seat — generated from palette.py by build.py. Edit the palette, not this file. */
/* Paris Guimard for rofi */

@import "default"

* {
    crust:     #131A17;
    mantle:    #18241D;
    base:      #1E2E26;
    surface0:  #263930;
    surface1:  #30463B;
    surface2:  #3E554A;
    overlay0:  #586B61;
    overlay1:  #74857C;
    overlay2:  #909E96;
    subtext0:  #A9B5AE;
    subtext1:  #C2CBC5;
    text:      #D9E1DB;
    text-hi:   #E9EEEC;
    yellow:    #F1BF4B;
    yellow-hi: #FFD57A;
    orange:    #CA9245;
    orange-hi: #DFAA61;
    red:       #C7665B;
    red-hi:    #E7877B;
    green:     #70CAA9;
    green-hi:  #89DEBE;
    sage:      #549B9F;
    sage-hi:   #70B5B9;
    denim:     #709BC8;
    denim-hi:  #8DB6E2;
    clay:      #FAB49C;

    paper:     #263930;
    edge:      #3C4D45;
    hover:     #34463D;
    selection: #516159;

    /* the default theme's variables */
    background:                  @paper;
    foreground:                  @text;
    lightbg:                     @hover;
    lightfg:                     @subtext1;
    red:                         @red;
    blue:                        @denim;
    border-color:                @edge;
    separatorcolor:              @edge;
    normal-background:           @paper;
    normal-foreground:           @text;
    alternate-normal-background: @paper;
    alternate-normal-foreground: @text;
    active-background:           @paper;
    active-foreground:           @denim;
    alternate-active-background: @paper;
    alternate-active-foreground: @denim;
    urgent-background:           @paper;
    urgent-foreground:           @orange;
    alternate-urgent-background: @paper;
    alternate-urgent-foreground: @orange;
    selected-normal-background:  @selection;
    selected-normal-foreground:  @text-hi;
    selected-active-background:  @selection;
    selected-active-foreground:  #8DB6E2;
    selected-urgent-background:  @selection;
    selected-urgent-foreground:  #DFAA61;
}

element-text {
    highlight: bold #F1BF4B;
}

entry {
    placeholder-color: #74857C;
}

prompt {
    text-color: @subtext1;
}

num-filtered-rows, num-rows, textbox-num-sep {
    text-color: #74857C;
}

scrollbar {
    handle-color: #74857C;
}
paris-catacombes.rasisave as ~/.local/share/rofi/themes/paris-catacombes.rasi
/* Subway Seat — generated from palette.py by build.py. Edit the palette, not this file. */
/* Paris Catacombes for rofi */

@import "default"

* {
    crust:     #0A100D;
    mantle:    #0D1711;
    base:      #121E19;
    surface0:  #1A2921;
    surface1:  #24342C;
    surface2:  #31433A;
    overlay0:  #54655C;
    overlay1:  #708178;
    overlay2:  #8C9A92;
    subtext0:  #A5B1AA;
    subtext1:  #BFC8C2;
    text:      #D4DDD7;
    text-hi:   #E7ECEA;
    yellow:    #F1BF4B;
    yellow-hi: #FFD57A;
    orange:    #CA9245;
    orange-hi: #DFAA61;
    red:       #C7665B;
    red-hi:    #E7877B;
    green:     #70CAA9;
    green-hi:  #89DEBE;
    sage:      #549B9F;
    sage-hi:   #70B5B9;
    denim:     #709BC8;
    denim-hi:  #8DB6E2;
    clay:      #FAB49C;

    paper:     #1A2921;
    edge:      #313F37;
    hover:     #29372F;
    selection: #46544D;

    /* the default theme's variables */
    background:                  @paper;
    foreground:                  @text;
    lightbg:                     @hover;
    lightfg:                     @subtext1;
    red:                         @red;
    blue:                        @denim;
    border-color:                @edge;
    separatorcolor:              @edge;
    normal-background:           @paper;
    normal-foreground:           @text;
    alternate-normal-background: @paper;
    alternate-normal-foreground: @text;
    active-background:           @paper;
    active-foreground:           @denim;
    alternate-active-background: @paper;
    alternate-active-foreground: @denim;
    urgent-background:           @paper;
    urgent-foreground:           @orange;
    alternate-urgent-background: @paper;
    alternate-urgent-foreground: @orange;
    selected-normal-background:  @selection;
    selected-normal-foreground:  @text-hi;
    selected-active-background:  @selection;
    selected-active-foreground:  #8DB6E2;
    selected-urgent-background:  @selection;
    selected-urgent-foreground:  #DFAA61;
}

element-text {
    highlight: bold #F1BF4B;
}

entry {
    placeholder-color: #708178;
}

prompt {
    text-color: @subtext1;
}

num-filtered-rows, num-rows, textbox-num-sep {
    text-color: #708178;
}

scrollbar {
    handle-color: #708178;
}
paris-carrelage.rasisave as ~/.local/share/rofi/themes/paris-carrelage.rasi
/* Subway Seat — generated from palette.py by build.py. Edit the palette, not this file. */
/* Paris Carrelage for rofi */

@import "default"

* {
    crust:     #D5DBDA;
    mantle:    #E1E6E5;
    base:      #EEF2F1;
    surface0:  #C6D2CF;
    surface1:  #B0BFBB;
    surface2:  #99ABA6;
    overlay0:  #859792;
    overlay1:  #6C7C76;
    overlay2:  #56645F;
    subtext0:  #4A5752;
    subtext1:  #3B4742;
    text:      #27342F;
    text-hi:   #19221E;
    yellow:    #916D07;
    yellow-hi: #A07A12;
    orange:    #764C00;
    orange-hi: #885A00;
    red:       #88251E;
    red-hi:    #AC3B32;
    green:     #218366;
    green-hi:  #278D6E;
    sage:      #006267;
    sage-hi:   #027479;
    denim:     #25629B;
    denim-hi:  #3D75AD;
    clay:      #B36B51;

    paper:     #F6F8F8;
    edge:      #D9DCDC;
    hover:     #E7EAEA;
    selection: #CDD1D0;

    /* the default theme's variables */
    background:                  @paper;
    foreground:                  @text;
    lightbg:                     @hover;
    lightfg:                     @subtext1;
    red:                         @red;
    blue:                        @denim;
    border-color:                @edge;
    separatorcolor:              @edge;
    normal-background:           @paper;
    normal-foreground:           @text;
    alternate-normal-background: @paper;
    alternate-normal-foreground: @text;
    active-background:           @paper;
    active-foreground:           @denim;
    alternate-active-background: @paper;
    alternate-active-foreground: @denim;
    urgent-background:           @paper;
    urgent-foreground:           @orange;
    alternate-urgent-background: @paper;
    alternate-urgent-foreground: @orange;
    selected-normal-background:  @selection;
    selected-normal-foreground:  @text-hi;
    selected-active-background:  @selection;
    selected-active-foreground:  #25629B;
    selected-urgent-background:  @selection;
    selected-urgent-foreground:  #764C00;
}

element-text {
    highlight: bold #916D07;
}

entry {
    placeholder-color: #6C7C76;
}

prompt {
    text-color: @subtext1;
}

num-filtered-rows, num-rows, textbox-num-sep {
    text-color: #6C7C76;
}

scrollbar {
    handle-color: #6C7C76;
}