File tree Expand file tree Collapse file tree 1 file changed +55
-0
lines changed Expand file tree Collapse file tree 1 file changed +55
-0
lines changed Original file line number Diff line number Diff line change
1
+ from textual .app import App , ComposeResult
2
+ from textual .containers import Grid
3
+ from textual .widgets import Footer , Markdown , Placeholder
4
+
5
+ HELP = """\
6
+ ## Breakpoints
7
+
8
+ A demonstration of how to make an app respond to the dimensions of the terminal.
9
+
10
+ Try resizing the terminal, then have a look at the source to see how it works!
11
+
12
+ `ctrl+q` to quit.
13
+
14
+ """
15
+
16
+
17
+ class BreakpointApp (App ):
18
+
19
+ HORIZONTAL_BREAKPOINTS = [
20
+ (0 , "-narrow" ),
21
+ (40 , "-normal" ),
22
+ (80 , "-wide" ),
23
+ (120 , "-very-wide" ),
24
+ ]
25
+
26
+ CSS = """
27
+ Screen {
28
+ overflow-y: auto;
29
+ Placeholder { padding: 2; }
30
+ Grid { grid-rows: auto; height: auto; }
31
+ &.-narrow {
32
+ Grid { grid-size: 1; }
33
+ }
34
+ &.-normal {
35
+ Grid { grid-size: 2; }
36
+ }
37
+ &.-wide {
38
+ Grid { grid-size: 4; }
39
+ }
40
+ &.-very-wide {
41
+ Grid { grid-size: 6; }
42
+ }
43
+ }
44
+ """
45
+
46
+ def compose (self ) -> ComposeResult :
47
+ yield Markdown (HELP )
48
+ with Grid ():
49
+ for n in range (16 ):
50
+ yield Placeholder (f"Placeholder { n + 1 } " )
51
+ yield Footer ()
52
+
53
+
54
+ if __name__ == "__main__" :
55
+ BreakpointApp ().run ()
You can’t perform that action at this time.
0 commit comments