From 970b64d6d394a72b9ecac23fb1cf87f926e8776a Mon Sep 17 00:00:00 2001
From: Aaron <123612000+aaron1857@users.noreply.github.com>
Date: Wed, 28 May 2025 13:57:12 -0500
Subject: [PATCH] Add toggle for screenshot on application start
---
data/com.github.tenderowl.frog.gschema.xml | 5 +++++
data/ui/preferences_general.blp | 5 +++++
frog/main.py | 3 ++-
frog/widgets/preferences_general_page.py | 2 ++
4 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/data/com.github.tenderowl.frog.gschema.xml b/data/com.github.tenderowl.frog.gschema.xml
index 650aac4..2815ea9 100644
--- a/data/com.github.tenderowl.frog.gschema.xml
+++ b/data/com.github.tenderowl.frog.gschema.xml
@@ -36,6 +36,11 @@
Autocopy text to clipboard
Automatically copy the extracted text to the clipboard.
+
+ false
+ Automatically take Screenshot at start
+ Automatically take Screenshot at application launch.
+
false
Open QR-code links
diff --git a/data/ui/preferences_general.blp b/data/ui/preferences_general.blp
index a5baac6..2ff6899 100644
--- a/data/ui/preferences_general.blp
+++ b/data/ui/preferences_general.blp
@@ -30,6 +30,11 @@ template $PreferencesGeneralPage : Adw.PreferencesPage {
use-underline: true;
subtitle: _("Automatically open links from QR-codes");
}
+ Adw.SwitchRow autoscreen_switch {
+ title: _("_Take Screenshot at start");
+ use-underline: true;
+ subtitle: _("Automatically take Screenshot at start");
+ }
}
Adw.PreferencesGroup {
diff --git a/frog/main.py b/frog/main.py
index 1089f98..f8dca3c 100644
--- a/frog/main.py
+++ b/frog/main.py
@@ -80,7 +80,6 @@ def __init__(self, version=None):
def do_startup(self, *args, **kwargs):
Adw.Application.do_startup(self)
-
# create command line option entries
shortcut_entry = GLib.OptionEntry()
shortcut_entry.long_name = 'extract_to_clipboard'
@@ -113,6 +112,8 @@ def do_startup(self, *args, **kwargs):
self.create_action('github_star', self.on_github_star)
self.settings.connect("changed", self.on_settings_changed)
+ if self.settings.get_boolean('autoscreen'):
+ self.backend.capture(self.settings.get_string("active-language"), True)
def do_activate(self):
win = self.props.active_window
diff --git a/frog/widgets/preferences_general_page.py b/frog/widgets/preferences_general_page.py
index 51ea51e..0f18868 100644
--- a/frog/widgets/preferences_general_page.py
+++ b/frog/widgets/preferences_general_page.py
@@ -41,6 +41,7 @@ class PreferencesGeneralPage(Adw.PreferencesPage):
extra_language_combo: Adw.ComboRow = Gtk.Template.Child()
autocopy_switch: Adw.SwitchRow = Gtk.Template.Child()
autolinks_switch: Adw.SwitchRow = Gtk.Template.Child()
+ autoscreen_switch: Adw.SwitchRow = Gtk.Template.Child()
telemetry_switch: Adw.SwitchRow = Gtk.Template.Child()
def __init__(self):
@@ -50,6 +51,7 @@ def __init__(self):
self.settings.bind('autocopy', self.autocopy_switch, 'active', Gio.SettingsBindFlags.DEFAULT)
self.settings.bind('autolinks', self.autolinks_switch, 'active', Gio.SettingsBindFlags.DEFAULT)
+ self.settings.bind('autoscreen', self.autoscreen_switch, 'active', Gio.SettingsBindFlags.DEFAULT)
self.settings.bind('telemetry', self.telemetry_switch, 'active', Gio.SettingsBindFlags.DEFAULT)
downloaded_langs = language_manager.get_downloaded_languages()