File: scrolling.py

package info (click to toggle)
pytermgui 7.7.3%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 19,888 kB
  • sloc: python: 12,931; makefile: 40; sh: 37
file content (33 lines) | stat: -rw-r--r-- 970 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import pytermgui as ptg

from common import FocusedWindowDebugger, MouseDebugger, set_default_styles


def main() -> None:
    with ptg.WindowManager() as manager:
        set_default_styles()
        manager.bind(
            ptg.keys.F11,
            lambda *_: manager.focused.toggle_fullscreen()
            if manager.focused is not None
            else None,
        )
        manager.bind(ptg.keys.CTRL_L, lambda *_: manager.compositor.redraw())
        scrollview = ptg.Container(overflow=ptg.Overflow.SCROLL, height=20, box="EMPTY")
        window = ptg.Window(scrollview)

        for i in range(256):
            scrollview.lazy_add(
                ptg.Button(
                    f"This is color index {i:>3}.",
                ).set_style("label", f"@{i}")
            )

        manager.add(window)
        # manager.add(FocusedWindowDebugger())
        # manager.add(MouseDebugger(manager))
        manager.run()


if __name__ == "__main__":
    main()