Skip to content
Subway SeatSubway SeatSubway Seat
← All ports

CLI & TUINeeds bottom 0.10+

bottom

A [styles] block: cores and sensors in stripe colors, avocado download, orange upload, orange table headers and borders.

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

bottom 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 for you, then tells you the one thing it can't do. More ways to install

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

Turn it on

In the end of bottom.toml: ~/.config/bottom/ (bottom uses it on macOS too once it exists; otherwise ~/Library/Application Support/bottom/). Skip it if you already have [styles] tables
cat subway-seat.toml >> ~/.config/bottom/bottom.toml
In the end of bottom.toml: ~/.config/bottom/ (bottom uses it on macOS too once it exists; otherwise ~/Library/Application Support/bottom/). Skip it if you already have [styles] tables
cat subway-seat-tunnel.toml >> ~/.config/bottom/bottom.toml
In the end of bottom.toml: ~/.config/bottom/ (bottom uses it on macOS too once it exists; otherwise ~/Library/Application Support/bottom/). Skip it if you already have [styles] tables
cat subway-seat-enamel.toml >> ~/.config/bottom/bottom.toml
In the end of bottom.toml: ~/.config/bottom/ (bottom uses it on macOS too once it exists; otherwise ~/Library/Application Support/bottom/). Skip it if you already have [styles] tables
cat london-moquette.toml >> ~/.config/bottom/bottom.toml
In the end of bottom.toml: ~/.config/bottom/ (bottom uses it on macOS too once it exists; otherwise ~/Library/Application Support/bottom/). Skip it if you already have [styles] tables
cat london-deep-level.toml >> ~/.config/bottom/bottom.toml
In the end of bottom.toml: ~/.config/bottom/ (bottom uses it on macOS too once it exists; otherwise ~/Library/Application Support/bottom/). Skip it if you already have [styles] tables
cat london-portland.toml >> ~/.config/bottom/bottom.toml
In the end of bottom.toml: ~/.config/bottom/ (bottom uses it on macOS too once it exists; otherwise ~/Library/Application Support/bottom/). Skip it if you already have [styles] tables
cat paris-guimard.toml >> ~/.config/bottom/bottom.toml
In the end of bottom.toml: ~/.config/bottom/ (bottom uses it on macOS too once it exists; otherwise ~/Library/Application Support/bottom/). Skip it if you already have [styles] tables
cat paris-catacombes.toml >> ~/.config/bottom/bottom.toml
In the end of bottom.toml: ~/.config/bottom/ (bottom uses it on macOS too once it exists; otherwise ~/Library/Application Support/bottom/). Skip it if you already have [styles] tables
cat paris-carrelage.toml >> ~/.config/bottom/bottom.toml

The files

subway-seat.tomladd to the end of ~/.config/bottom/bottom.toml
# >>> subway-seat >>>
# Subway Seat — generated from palette.py by build.py. Edit the palette, not this file.
# Subway Seat for bottom. Key names use the 0.10 spelling, which later releases accept too.

[styles.cpu]
all_entry_color = "#EDDCBC"
avg_entry_color = "#EC7F31"
cpu_core_colors = ["#ADB956", "#F3BF45", "#EC7F31", "#FF8373", "#86AD95", "#F4A87E", "#BFCB63", "#FFD36B"]

[styles.memory]
ram_color = "#ADB956"
cache_color = "#86AD95"
swap_color = "#EC7F31"
arc_color = "#F4A87E"
gpu_colors = ["#F3BF45", "#EC7F31", "#FF8373", "#86AD95", "#F4A87E", "#BFCB63"]

[styles.network]
rx_color = "#ADB956"
tx_color = "#EC7F31"
rx_total_color = "#BFCB63"
tx_total_color = "#FF9D55"

[styles.battery]
high_battery_color = "#ADB956"
medium_battery_color = "#F3BF45"
low_battery_color = "#FF8373"

[styles.tables]
headers = { color = "#EC7F31", bold = true }

[styles.graphs]
graph_color = "#7B6047"
legend_text = { color = "#C4AE8C" }

[styles.widgets]
border_color = "#634932"
selected_border_color = "#EC7F31"
widget_title = { color = "#F3BF45" }
text = { color = "#EDDCBC" }
selected_text = { color = "#20160E", bg_color = "#EC7F31" }
disabled_text = { color = "#7B6047" }
thread_text = { color = "#86AD95" }  # 0.11+

# Newer sections (bottom 0.13+); older releases ignore them.
[styles.temp_graph]
temp_graph_color_styles = ["#ADB956", "#F3BF45", "#EC7F31", "#FF8373", "#86AD95", "#F4A87E", "#BFCB63", "#FFD36B"]

[styles.disk_io_graph]
read_colours = ["#ADB956", "#86AD95", "#BFCB63", "#A5C9B0"]
write_colours = ["#EC7F31", "#F4A87E", "#FF9D55", "#FF8373"]
# <<< subway-seat <<<
subway-seat-tunnel.tomladd to the end of ~/.config/bottom/bottom.toml
# >>> subway-seat >>>
# Subway Seat — generated from palette.py by build.py. Edit the palette, not this file.
# Subway Seat Tunnel for bottom. Key names use the 0.10 spelling, which later releases accept too.

[styles.cpu]
all_entry_color = "#E9D8B6"
avg_entry_color = "#EC7F31"
cpu_core_colors = ["#ADB956", "#F3BF45", "#EC7F31", "#FF8373", "#86AD95", "#F4A87E", "#BFCB63", "#FFD36B"]

[styles.memory]
ram_color = "#ADB956"
cache_color = "#86AD95"
swap_color = "#EC7F31"
arc_color = "#F4A87E"
gpu_colors = ["#F3BF45", "#EC7F31", "#FF8373", "#86AD95", "#F4A87E", "#BFCB63"]

[styles.network]
rx_color = "#ADB956"
tx_color = "#EC7F31"
rx_total_color = "#BFCB63"
tx_total_color = "#FF9D55"

[styles.battery]
high_battery_color = "#ADB956"
medium_battery_color = "#F3BF45"
low_battery_color = "#FF8373"

[styles.tables]
headers = { color = "#EC7F31", bold = true }

[styles.graphs]
graph_color = "#745B45"
legend_text = { color = "#C0AA88" }

[styles.widgets]
border_color = "#4F3927"
selected_border_color = "#EC7F31"
widget_title = { color = "#F3BF45" }
text = { color = "#E9D8B6" }
selected_text = { color = "#140D07", bg_color = "#EC7F31" }
disabled_text = { color = "#745B45" }
thread_text = { color = "#86AD95" }  # 0.11+

# Newer sections (bottom 0.13+); older releases ignore them.
[styles.temp_graph]
temp_graph_color_styles = ["#ADB956", "#F3BF45", "#EC7F31", "#FF8373", "#86AD95", "#F4A87E", "#BFCB63", "#FFD36B"]

[styles.disk_io_graph]
read_colours = ["#ADB956", "#86AD95", "#BFCB63", "#A5C9B0"]
write_colours = ["#EC7F31", "#F4A87E", "#FF9D55", "#FF8373"]
# <<< subway-seat <<<
subway-seat-enamel.tomladd to the end of ~/.config/bottom/bottom.toml
# >>> subway-seat >>>
# Subway Seat — generated from palette.py by build.py. Edit the palette, not this file.
# Subway Seat Enamel for bottom. Key names use the 0.10 spelling, which later releases accept too.

[styles.cpu]
all_entry_color = "#3E2C1E"
avg_entry_color = "#A04800"
cpu_core_colors = ["#66740F", "#976608", "#A04800", "#BF4233", "#3E7157", "#843811", "#697813", "#A9720A"]

[styles.memory]
ram_color = "#66740F"
cache_color = "#3E7157"
swap_color = "#A04800"
arc_color = "#843811"
gpu_colors = ["#976608", "#A04800", "#BF4233", "#3E7157", "#843811", "#697813"]

[styles.network]
rx_color = "#66740F"
tx_color = "#A04800"
rx_total_color = "#697813"
tx_total_color = "#BA4D0A"

[styles.battery]
high_battery_color = "#66740F"
medium_battery_color = "#976608"
low_battery_color = "#BF4233"

[styles.tables]
headers = { color = "#A04800", bold = true }

[styles.graphs]
graph_color = "#A58D6D"
legend_text = { color = "#654F3B" }

[styles.widgets]
border_color = "#BAA380"
selected_border_color = "#A04800"
widget_title = { color = "#976608" }
text = { color = "#3E2C1E" }
selected_text = { color = "#F8EFDF", bg_color = "#A04800" }
disabled_text = { color = "#A58D6D" }
thread_text = { color = "#3E7157" }  # 0.11+

# Newer sections (bottom 0.13+); older releases ignore them.
[styles.temp_graph]
temp_graph_color_styles = ["#66740F", "#976608", "#A04800", "#BF4233", "#3E7157", "#843811", "#697813", "#A9720A"]

[styles.disk_io_graph]
read_colours = ["#66740F", "#3E7157", "#697813", "#4C8367"]
write_colours = ["#A04800", "#843811", "#BA4D0A", "#BF4233"]
# <<< subway-seat <<<
london-moquette.tomladd to the end of ~/.config/bottom/bottom.toml
# >>> subway-seat >>>
# Subway Seat — generated from palette.py by build.py. Edit the palette, not this file.
# London Moquette for bottom. Key names use the 0.10 spelling, which later releases accept too.

[styles.cpu]
all_entry_color = "#D8DEEA"
avg_entry_color = "#DE8946"
cpu_core_colors = ["#77C581", "#F2C03F", "#DE8946", "#FE8474", "#54B4B5", "#AE9EDC", "#9AD2A0", "#FFD36C"]

[styles.memory]
ram_color = "#77C581"
cache_color = "#54B4B5"
swap_color = "#DE8946"
arc_color = "#AE9EDC"
gpu_colors = ["#F2C03F", "#DE8946", "#FE8474", "#54B4B5", "#AE9EDC", "#9AD2A0"]

[styles.network]
rx_color = "#77C581"
tx_color = "#DE8946"
rx_total_color = "#9AD2A0"
tx_total_color = "#E5AA7F"

[styles.battery]
high_battery_color = "#77C581"
medium_battery_color = "#F2C03F"
low_battery_color = "#FE8474"

[styles.tables]
headers = { color = "#DE8946", bold = true }

[styles.graphs]
graph_color = "#576685"
legend_text = { color = "#A9B2C4" }

[styles.widgets]
border_color = "#3D4F72"
selected_border_color = "#DE8946"
widget_title = { color = "#F2C03F" }
text = { color = "#D8DEEA" }
selected_text = { color = "#121826", bg_color = "#DE8946" }
disabled_text = { color = "#576685" }
thread_text = { color = "#54B4B5" }  # 0.11+

# Newer sections (bottom 0.13+); older releases ignore them.
[styles.temp_graph]
temp_graph_color_styles = ["#77C581", "#F2C03F", "#DE8946", "#FE8474", "#54B4B5", "#AE9EDC", "#9AD2A0", "#FFD36C"]

[styles.disk_io_graph]
read_colours = ["#77C581", "#54B4B5", "#9AD2A0", "#72D1D3"]
write_colours = ["#DE8946", "#AE9EDC", "#E5AA7F", "#FE8474"]
# <<< subway-seat <<<
london-deep-level.tomladd to the end of ~/.config/bottom/bottom.toml
# >>> subway-seat >>>
# Subway Seat — generated from palette.py by build.py. Edit the palette, not this file.
# London Deep Level for bottom. Key names use the 0.10 spelling, which later releases accept too.

[styles.cpu]
all_entry_color = "#D4DAE7"
avg_entry_color = "#DE8946"
cpu_core_colors = ["#77C581", "#F2C03F", "#DE8946", "#FE8474", "#54B4B5", "#AE9EDC", "#9AD2A0", "#FFD36C"]

[styles.memory]
ram_color = "#77C581"
cache_color = "#54B4B5"
swap_color = "#DE8946"
arc_color = "#AE9EDC"
gpu_colors = ["#F2C03F", "#DE8946", "#FE8474", "#54B4B5", "#AE9EDC", "#9AD2A0"]

[styles.network]
rx_color = "#77C581"
tx_color = "#DE8946"
rx_total_color = "#9AD2A0"
tx_total_color = "#E5AA7F"

[styles.battery]
high_battery_color = "#77C581"
medium_battery_color = "#F2C03F"
low_battery_color = "#FE8474"

[styles.tables]
headers = { color = "#DE8946", bold = true }

[styles.graphs]
graph_color = "#53617D"
legend_text = { color = "#A5AEC0" }

[styles.widgets]
border_color = "#303E5B"
selected_border_color = "#DE8946"
widget_title = { color = "#F2C03F" }
text = { color = "#D4DAE7" }
selected_text = { color = "#0A0E18", bg_color = "#DE8946" }
disabled_text = { color = "#53617D" }
thread_text = { color = "#54B4B5" }  # 0.11+

# Newer sections (bottom 0.13+); older releases ignore them.
[styles.temp_graph]
temp_graph_color_styles = ["#77C581", "#F2C03F", "#DE8946", "#FE8474", "#54B4B5", "#AE9EDC", "#9AD2A0", "#FFD36C"]

[styles.disk_io_graph]
read_colours = ["#77C581", "#54B4B5", "#9AD2A0", "#72D1D3"]
write_colours = ["#DE8946", "#AE9EDC", "#E5AA7F", "#FE8474"]
# <<< subway-seat <<<
london-portland.tomladd to the end of ~/.config/bottom/bottom.toml
# >>> subway-seat >>>
# Subway Seat — generated from palette.py by build.py. Edit the palette, not this file.
# London Portland for bottom. Key names use the 0.10 spelling, which later releases accept too.

[styles.cpu]
all_entry_color = "#293040"
avg_entry_color = "#A54300"
cpu_core_colors = ["#0D8131", "#8D6C08", "#A54300", "#CC2E25", "#007376", "#755FA9", "#008730", "#9B770A"]

[styles.memory]
ram_color = "#0D8131"
cache_color = "#007376"
swap_color = "#A54300"
arc_color = "#755FA9"
gpu_colors = ["#8D6C08", "#A54300", "#CC2E25", "#007376", "#755FA9", "#008730"]

[styles.network]
rx_color = "#0D8131"
tx_color = "#A54300"
rx_total_color = "#008730"
tx_total_color = "#AC5A00"

[styles.battery]
high_battery_color = "#0D8131"
medium_battery_color = "#8D6C08"
low_battery_color = "#CC2E25"

[styles.tables]
headers = { color = "#A54300", bold = true }

[styles.graphs]
graph_color = "#8192B4"
legend_text = { color = "#4A5469" }

[styles.widgets]
border_color = "#93A7CF"
selected_border_color = "#A54300"
widget_title = { color = "#8D6C08" }
text = { color = "#293040" }
selected_text = { color = "#E8F0FF", bg_color = "#A54300" }
disabled_text = { color = "#8192B4" }
thread_text = { color = "#007376" }  # 0.11+

# Newer sections (bottom 0.13+); older releases ignore them.
[styles.temp_graph]
temp_graph_color_styles = ["#0D8131", "#8D6C08", "#A54300", "#CC2E25", "#007376", "#755FA9", "#008730", "#9B770A"]

[styles.disk_io_graph]
read_colours = ["#0D8131", "#007376", "#008730", "#008688"]
write_colours = ["#A54300", "#755FA9", "#AC5A00", "#CC2E25"]
# <<< subway-seat <<<
paris-guimard.tomladd to the end of ~/.config/bottom/bottom.toml
# >>> subway-seat >>>
# Subway Seat — generated from palette.py by build.py. Edit the palette, not this file.
# Paris Guimard for bottom. Key names use the 0.10 spelling, which later releases accept too.

[styles.cpu]
all_entry_color = "#D9E1DB"
avg_entry_color = "#CA9245"
cpu_core_colors = ["#70CAA9", "#F1BF4B", "#CA9245", "#E7877B", "#549B9F", "#FAB49C", "#89DEBE", "#FFD57A"]

[styles.memory]
ram_color = "#70CAA9"
cache_color = "#549B9F"
swap_color = "#CA9245"
arc_color = "#FAB49C"
gpu_colors = ["#F1BF4B", "#CA9245", "#E7877B", "#549B9F", "#FAB49C", "#89DEBE"]

[styles.network]
rx_color = "#70CAA9"
tx_color = "#CA9245"
rx_total_color = "#89DEBE"
tx_total_color = "#DFAA61"

[styles.battery]
high_battery_color = "#70CAA9"
medium_battery_color = "#F1BF4B"
low_battery_color = "#E7877B"

[styles.tables]
headers = { color = "#CA9245", bold = true }

[styles.graphs]
graph_color = "#586B61"
legend_text = { color = "#A9B5AE" }

[styles.widgets]
border_color = "#3E554A"
selected_border_color = "#CA9245"
widget_title = { color = "#F1BF4B" }
text = { color = "#D9E1DB" }
selected_text = { color = "#131A17", bg_color = "#CA9245" }
disabled_text = { color = "#586B61" }
thread_text = { color = "#549B9F" }  # 0.11+

# Newer sections (bottom 0.13+); older releases ignore them.
[styles.temp_graph]
temp_graph_color_styles = ["#70CAA9", "#F1BF4B", "#CA9245", "#E7877B", "#549B9F", "#FAB49C", "#89DEBE", "#FFD57A"]

[styles.disk_io_graph]
read_colours = ["#70CAA9", "#549B9F", "#89DEBE", "#70B5B9"]
write_colours = ["#CA9245", "#FAB49C", "#DFAA61", "#E7877B"]
# <<< subway-seat <<<
paris-catacombes.tomladd to the end of ~/.config/bottom/bottom.toml
# >>> subway-seat >>>
# Subway Seat — generated from palette.py by build.py. Edit the palette, not this file.
# Paris Catacombes for bottom. Key names use the 0.10 spelling, which later releases accept too.

[styles.cpu]
all_entry_color = "#D4DDD7"
avg_entry_color = "#CA9245"
cpu_core_colors = ["#70CAA9", "#F1BF4B", "#CA9245", "#E7877B", "#549B9F", "#FAB49C", "#89DEBE", "#FFD57A"]

[styles.memory]
ram_color = "#70CAA9"
cache_color = "#549B9F"
swap_color = "#CA9245"
arc_color = "#FAB49C"
gpu_colors = ["#F1BF4B", "#CA9245", "#E7877B", "#549B9F", "#FAB49C", "#89DEBE"]

[styles.network]
rx_color = "#70CAA9"
tx_color = "#CA9245"
rx_total_color = "#89DEBE"
tx_total_color = "#DFAA61"

[styles.battery]
high_battery_color = "#70CAA9"
medium_battery_color = "#F1BF4B"
low_battery_color = "#E7877B"

[styles.tables]
headers = { color = "#CA9245", bold = true }

[styles.graphs]
graph_color = "#54655C"
legend_text = { color = "#A5B1AA" }

[styles.widgets]
border_color = "#31433A"
selected_border_color = "#CA9245"
widget_title = { color = "#F1BF4B" }
text = { color = "#D4DDD7" }
selected_text = { color = "#0A100D", bg_color = "#CA9245" }
disabled_text = { color = "#54655C" }
thread_text = { color = "#549B9F" }  # 0.11+

# Newer sections (bottom 0.13+); older releases ignore them.
[styles.temp_graph]
temp_graph_color_styles = ["#70CAA9", "#F1BF4B", "#CA9245", "#E7877B", "#549B9F", "#FAB49C", "#89DEBE", "#FFD57A"]

[styles.disk_io_graph]
read_colours = ["#70CAA9", "#549B9F", "#89DEBE", "#70B5B9"]
write_colours = ["#CA9245", "#FAB49C", "#DFAA61", "#E7877B"]
# <<< subway-seat <<<
paris-carrelage.tomladd to the end of ~/.config/bottom/bottom.toml
# >>> subway-seat >>>
# Subway Seat — generated from palette.py by build.py. Edit the palette, not this file.
# Paris Carrelage for bottom. Key names use the 0.10 spelling, which later releases accept too.

[styles.cpu]
all_entry_color = "#27342F"
avg_entry_color = "#764C00"
cpu_core_colors = ["#218366", "#916D07", "#764C00", "#AC3B32", "#006267", "#B36B51", "#278D6E", "#A07A12"]

[styles.memory]
ram_color = "#218366"
cache_color = "#006267"
swap_color = "#764C00"
arc_color = "#B36B51"
gpu_colors = ["#916D07", "#764C00", "#AC3B32", "#006267", "#B36B51", "#278D6E"]

[styles.network]
rx_color = "#218366"
tx_color = "#764C00"
rx_total_color = "#278D6E"
tx_total_color = "#885A00"

[styles.battery]
high_battery_color = "#218366"
medium_battery_color = "#916D07"
low_battery_color = "#AC3B32"

[styles.tables]
headers = { color = "#764C00", bold = true }

[styles.graphs]
graph_color = "#859792"
legend_text = { color = "#4A5752" }

[styles.widgets]
border_color = "#99ABA6"
selected_border_color = "#764C00"
widget_title = { color = "#916D07" }
text = { color = "#27342F" }
selected_text = { color = "#EEF2F1", bg_color = "#764C00" }
disabled_text = { color = "#859792" }
thread_text = { color = "#006267" }  # 0.11+

# Newer sections (bottom 0.13+); older releases ignore them.
[styles.temp_graph]
temp_graph_color_styles = ["#218366", "#916D07", "#764C00", "#AC3B32", "#006267", "#B36B51", "#278D6E", "#A07A12"]

[styles.disk_io_graph]
read_colours = ["#218366", "#006267", "#278D6E", "#027479"]
write_colours = ["#764C00", "#B36B51", "#885A00", "#AC3B32"]
# <<< subway-seat <<<