X-Git-Url: http://git.scottworley.com/srec/blobdiff_plain/3b5f6e087f515559fdcb2cca5008a7e2315e90f3..9e8173ecedf4dda96387e07a208c75e09cc2f4e0:/srec.py diff --git a/srec.py b/srec.py index 1112edd..4a9d5b9 100644 --- a/srec.py +++ b/srec.py @@ -35,8 +35,8 @@ def make_filename() -> str: def video_source(stack: Gtk.Stack) -> list[str]: if stack.get_child_by_name('not_recording').get_first_child().get_active(): - return ['-f', 'v4l2', '-i', '/dev/video0'] - return ['-f', 'x11grab', '-i', ':0.0+0,0'] + return ['-f', 'x11grab', '-i', ':0.0+0,0'] + return ['-f', 'v4l2', '-i', '/dev/video0'] def on_start_recording(_: Gtk.Button, stack: Gtk.Stack) -> None: @@ -75,6 +75,14 @@ def make_button(label: str, action: Callable[[ return button +def make_share_control() -> Gtk.CheckButton: + can_share = os.path.exists('/sys/module/v4l2looback') + control = Gtk.CheckButton( + label='Share Webcam', sensitive=can_share, active=can_share) + control.set_margin_start(20) + return control + + def on_activate(app: Gtk.Application) -> None: win = Gtk.ApplicationWindow(application=app) win.set_title('SRec') @@ -84,9 +92,10 @@ def on_activate(app: Gtk.Application) -> None: nr_box = Gtk.Box() nr_box.set_orientation(Gtk.Orientation.VERTICAL) - webcam = Gtk.CheckButton(label='Webcam', active=True) - nr_box.append(webcam) - nr_box.append(Gtk.CheckButton(label='Screen', group=webcam)) + screen = Gtk.CheckButton(label='Screen') + nr_box.append(screen) + nr_box.append(Gtk.CheckButton(label='Webcam', active=True, group=screen)) + nr_box.append(make_share_control()) nr_box.append(make_button("Start Recording", on_start_recording, stack)) stack.add_named(nr_box, "not_recording")