From 1ba797298e828c2eac6f8d983f34ee854b619eab Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sun, 21 Jul 2024 02:19:15 +0200 Subject: Change default hotkey for replay save to super+s --- TODO | 13 ++++++++++++- src/main.cpp | 6 +++--- 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; -- cgit v1.2.3