This way, top-level fill items like plots, cards, or widgets, will fill the page how you might expect them to, for example:
from shiny import render, ui
from shiny.express import input, layout
# This could go away
# layout.set_page(layout.page_fillable())
@render.plot
def hist():
import matplotlib.pyplot as plt
import seaborn as sns
df = sns.load_dataset("penguins")
fig, ax = plt.subplots()
sns.histplot(df, x="bill_length_mm", hue="species", ax=ax)
return fig
Another benefit of doing this is that we might not have to change the page layout for a top-level with layout.sidebar():
BTW, @wch, the last line in that screenshot should be layout.set_page(layout.page_fixed())