aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2024-07-21 02:19:15 +0200
committerdec05eba <dec05eba@protonmail.com>2024-07-21 02:19:15 +0200
commit1ba797298e828c2eac6f8d983f34ee854b619eab (patch)
tree71812edd456f32a5796e8aacf6e1c50f98627172
parent76f764eff5c91f78790092eb391bbb31e77f2c46 (diff)
Change default hotkey for replay save to super+s
-rw-r--r--TODO13
-rw-r--r--src/main.cpp6
2 files changed, 15 insertions, 4 deletions
diff --git a/TODO b/TODO
index 89c8666..3b1fb53 100644
--- a/TODO
+++ b/TODO
@@ -32,4 +32,15 @@ Look at showmethekey https://github.com/AlynxZhou/showmethekey to see how to do
A single flatpak can only be installed either system-wide or user, so there can be a check if it's installed system-wide or user and it will only match one. With this information we can guaranteed know the flatpak directory of the running gpu screen recorder instance. The command `flatpak info -l com.dec05eba.gpu_screen_recorder` can also be used and is available for all flatpak users.
-Re-renable hotkeys on hyprland after it's fixed in the hyprland desktop portal. \ No newline at end of file
+Re-renable hotkeys on hyprland after it's fixed in the hyprland desktop portal.
+
+Replay on startup should be its own page with its own settings for everything and should not allow enabling the feature unless global hotkeys can be enable.
+ To make sure this works, create a separate program to handle global hotkeys with root access to make it work for every user and keys should be registered by requiring root access (every time its changed), with a confirm button.
+ Or have a predefined set of keys that can be changed. Also have a key to show the gui.
+ The replay on startup should be this gpu screen recorder gtk program but should launch a separate gui (in a different cpp file)
+ and should be a single page with start/stop button and whatever. It should also show a systray similar to the default one but with only
+ start/stop/save/exit button. The UI is needed for gnome users that dont have a systray!
+ Maybe create gnome extension so that gnome users can see recording status, or mention to the user that it's a gnome limitation.
+ The system startup program should work like the gpu screen recorder systemd daemon but start gpu screen recorder gtk with a special argument to launch it into this
+ replay mode. The replay mode program should loop and launch gpu screen recorder, restarting it if it crashes. If it crashes show an error dialog to the user
+ and if hotkeys cant be registered then also show an error. \ No newline at end of file
diff --git a/src/main.cpp b/src/main.cpp
index 3b6d905..f02e0c5 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -3060,7 +3060,7 @@ static gboolean on_register_hotkeys_button_clicked(GtkButton *button, gpointer u
},
{
"Save replay",
- { SHORTCUT_ID_SAVE_REPLAY, "LOGO+f9" }
+ { SHORTCUT_ID_SAVE_REPLAY, "LOGO+s" }
}
};
@@ -3135,7 +3135,7 @@ static void create_replay_hotkey_items(GtkGrid *parent_grid, int row, int num_co
gtk_grid_attach(replay_hotkeys_grid, gtk_label_new("Press"), 0, hotkeys_row, 1, 1);
replay_save_hotkey_button = gtk_entry_new();
- gtk_entry_set_text(GTK_ENTRY(replay_save_hotkey_button), gsr_info.system_info.display_server == DisplayServer::WAYLAND ? "" : "Super + F3");
+ gtk_entry_set_text(GTK_ENTRY(replay_save_hotkey_button), gsr_info.system_info.display_server == DisplayServer::WAYLAND ? "" : "Super + s");
g_signal_connect(replay_save_hotkey_button, "button-press-event", G_CALLBACK(on_hotkey_entry_click), replay_save_hotkey_button);
gtk_grid_attach(replay_hotkeys_grid, replay_save_hotkey_button,1, hotkeys_row, 1, 1);
@@ -3282,7 +3282,7 @@ static GtkWidget* create_replay_page(GtkApplication *app, GtkStack *stack) {
replay_stop_hotkey.shortcut_id = SHORTCUT_ID_STOP_RECORDING;
replay_save_hotkey.modkey_mask = modkey_to_mask(XK_Super_L);
- replay_save_hotkey.keysym = XK_F3;
+ replay_save_hotkey.keysym = XK_S;
replay_save_hotkey.hotkey_entry = replay_save_hotkey_button;
replay_save_hotkey.hotkey_active_label = hotkey_active_label;
replay_save_hotkey.config = &config.replay_config.save_recording_hotkey;