mirror of
https://repo.dec05eba.com/gpu-screen-recorder-ui
synced 2026-05-04 22:10:44 +09:00
Add static hotkey text to show that ESC goes back to the previous page/closes the ui
This commit is contained in:
3
TODO
3
TODO
@@ -257,3 +257,6 @@ Webcam resolution list is too long for some people. Fix it by separating resolut
|
|||||||
Allow settings page to select input capture option/audio, to make sure it doesn't blindly select the default option when the sources aren't temporary available when opening the settings.
|
Allow settings page to select input capture option/audio, to make sure it doesn't blindly select the default option when the sources aren't temporary available when opening the settings.
|
||||||
|
|
||||||
Add simple video cutting in the ui.
|
Add simple video cutting in the ui.
|
||||||
|
|
||||||
|
Keep replay turned on when opening a fullscreen application and alt-tabbing. Only stop replay when closing the application (when closing all fullscreen applications).
|
||||||
|
When alt-tabbing check if the previously fullscreen window still exists.
|
||||||
|
|||||||
@@ -252,7 +252,9 @@ namespace gsr {
|
|||||||
std::unique_ptr<GlobalHotkeys> global_hotkeys = nullptr;
|
std::unique_ptr<GlobalHotkeys> global_hotkeys = nullptr;
|
||||||
std::unique_ptr<GlobalHotkeysJoystick> global_hotkeys_js = nullptr;
|
std::unique_ptr<GlobalHotkeysJoystick> global_hotkeys_js = nullptr;
|
||||||
Display *x11_dpy = nullptr;
|
Display *x11_dpy = nullptr;
|
||||||
XEvent x11_mapping_xev;
|
XEvent x11_xev;
|
||||||
|
Atom net_active_window_atom;
|
||||||
|
bool update_focused_window = true;
|
||||||
|
|
||||||
struct wl_display *wayland_dpy = nullptr;
|
struct wl_display *wayland_dpy = nullptr;
|
||||||
|
|
||||||
|
|||||||
@@ -518,10 +518,13 @@ namespace gsr {
|
|||||||
global_hotkeys_js = register_joystick_hotkeys(this);
|
global_hotkeys_js = register_joystick_hotkeys(this);
|
||||||
|
|
||||||
x11_dpy = XOpenDisplay(nullptr);
|
x11_dpy = XOpenDisplay(nullptr);
|
||||||
if(x11_dpy)
|
if(x11_dpy) {
|
||||||
|
net_active_window_atom = XInternAtom(x11_dpy, "_NET_ACTIVE_WINDOW", False);
|
||||||
|
XSelectInput(x11_dpy, DefaultRootWindow(x11_dpy), PropertyChangeMask);
|
||||||
XKeysymToKeycode(x11_dpy, XK_F1); // If we dont call we will never get a MappingNotify
|
XKeysymToKeycode(x11_dpy, XK_F1); // If we dont call we will never get a MappingNotify
|
||||||
else
|
} else {
|
||||||
fprintf(stderr, "Warning: XOpenDisplay failed to mapping notify\n");
|
fprintf(stderr, "Warning: XOpenDisplay failed to mapping notify\n");
|
||||||
|
}
|
||||||
|
|
||||||
if(this->gsr_info.system_info.display_server == DisplayServer::X11) {
|
if(this->gsr_info.system_info.display_server == DisplayServer::X11) {
|
||||||
cursor_tracker = std::make_unique<CursorTrackerX11>((Display*)mgl_get_context()->connection);
|
cursor_tracker = std::make_unique<CursorTrackerX11>((Display*)mgl_get_context()->connection);
|
||||||
@@ -732,15 +735,28 @@ namespace gsr {
|
|||||||
|
|
||||||
bool mapping_updated = false;
|
bool mapping_updated = false;
|
||||||
while(XPending(x11_dpy)) {
|
while(XPending(x11_dpy)) {
|
||||||
XNextEvent(x11_dpy, &x11_mapping_xev);
|
XNextEvent(x11_dpy, &x11_xev);
|
||||||
if(x11_mapping_xev.type == MappingNotify) {
|
switch(x11_xev.type) {
|
||||||
XRefreshKeyboardMapping(&x11_mapping_xev.xmapping);
|
case MappingNotify: {
|
||||||
|
XRefreshKeyboardMapping(&x11_xev.xmapping);
|
||||||
mapping_updated = true;
|
mapping_updated = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case PropertyNotify: {
|
||||||
|
if(x11_xev.xproperty.state == PropertyNewValue && x11_xev.xproperty.atom == net_active_window_atom) {
|
||||||
|
update_focused_window = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mapping_updated)
|
if(mapping_updated)
|
||||||
rebind_all_keyboard_hotkeys();
|
rebind_all_keyboard_hotkeys();
|
||||||
|
|
||||||
|
if(update_focused_window) {
|
||||||
|
update_focused_window = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Overlay::handle_events() {
|
void Overlay::handle_events() {
|
||||||
|
|||||||
@@ -459,6 +459,7 @@ namespace gsr {
|
|||||||
list_ptr->add_widget(create_screenshot_hotkey_options());
|
list_ptr->add_widget(create_screenshot_hotkey_options());
|
||||||
list_ptr->add_widget(create_screenshot_region_hotkey_options());
|
list_ptr->add_widget(create_screenshot_region_hotkey_options());
|
||||||
list_ptr->add_widget(create_screenshot_window_hotkey_options());
|
list_ptr->add_widget(create_screenshot_window_hotkey_options());
|
||||||
|
list_ptr->add_widget(std::make_unique<Label>(&get_theme().body_font, TR("Press ESC to go back to the previous page/close the UI."), get_color_theme().text_color));
|
||||||
list_ptr->add_widget(create_hotkey_control_buttons());
|
list_ptr->add_widget(create_hotkey_control_buttons());
|
||||||
return subsection;
|
return subsection;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -155,6 +155,7 @@ Start/stop recording with desktop portal:=Iniciar/detener grabación con portal
|
|||||||
Take a screenshot with desktop portal:=Tomar una captura de pantalla con portal de escritorio
|
Take a screenshot with desktop portal:=Tomar una captura de pantalla con portal de escritorio
|
||||||
Start/stop recording a window:=Iniciar/detener grabación de una ventana
|
Start/stop recording a window:=Iniciar/detener grabación de una ventana
|
||||||
Take a screenshot of a window:=Tomar una captura de pantalla de una ventana
|
Take a screenshot of a window:=Tomar una captura de pantalla de una ventana
|
||||||
|
Press ESC to go back to the previous page/close the UI.=Pulse ESC para volver a la página anterior/cerrar la interfaz de usuario.
|
||||||
|
|
||||||
Clear hotkeys=Borrar teclas de acceso rápido
|
Clear hotkeys=Borrar teclas de acceso rápido
|
||||||
Reset hotkeys to default=Reestablecer teclas de acceso rápido a los valores predeterminados
|
Reset hotkeys to default=Reestablecer teclas de acceso rápido a los valores predeterminados
|
||||||
|
|||||||
@@ -168,6 +168,7 @@ Start/stop recording with desktop portal:=Lancer/arrêter l’enregistrement via
|
|||||||
Take a screenshot with desktop portal:=Prendre une capture via le portail du bureau
|
Take a screenshot with desktop portal:=Prendre une capture via le portail du bureau
|
||||||
Start/stop recording a window:=Lancer/arrêter l’enregistrement d’une fenêtre
|
Start/stop recording a window:=Lancer/arrêter l’enregistrement d’une fenêtre
|
||||||
Take a screenshot of a window:=Prendre une capture d’écran d’une fenêtre
|
Take a screenshot of a window:=Prendre une capture d’écran d’une fenêtre
|
||||||
|
Press ESC to go back to the previous page/close the UI.=Appuyez sur ÉCHAP pour revenir à la page précédente/fermer l'interface utilisateur.
|
||||||
|
|
||||||
Clear hotkeys=Effacer les raccourcis
|
Clear hotkeys=Effacer les raccourcis
|
||||||
Reset hotkeys to default=Réinitialiser les raccourcis par défaut
|
Reset hotkeys to default=Réinitialiser les raccourcis par défaut
|
||||||
|
|||||||
@@ -160,6 +160,7 @@ Start/stop recording with desktop portal:=Felvétel indítása/leállítása asz
|
|||||||
Take a screenshot with desktop portal:=Képernyőkép készítése asztali portállal:
|
Take a screenshot with desktop portal:=Képernyőkép készítése asztali portállal:
|
||||||
Start/stop recording a window:=Ablak felvételének indítása/leállítása:
|
Start/stop recording a window:=Ablak felvételének indítása/leállítása:
|
||||||
Take a screenshot of a window:=Képernyőkép készítése ablakról:
|
Take a screenshot of a window:=Képernyőkép készítése ablakról:
|
||||||
|
Press ESC to go back to the previous page/close the UI.=Az előző oldalra való visszatéréshez/a felhasználói felület bezárásához nyomja meg az ESC billentyűt.
|
||||||
|
|
||||||
Clear hotkeys=Gyorsbillentyűk törlése
|
Clear hotkeys=Gyorsbillentyűk törlése
|
||||||
Reset hotkeys to default=Gyorsbillentyűk visszaállítása alapértelmezettre
|
Reset hotkeys to default=Gyorsbillentyűk visszaállítása alapértelmezettre
|
||||||
|
|||||||
@@ -158,6 +158,7 @@ Start/stop recording with desktop portal:=Запись через портал:
|
|||||||
Take a screenshot with desktop portal:=Сделать снимок через портал рабочего стола:
|
Take a screenshot with desktop portal:=Сделать снимок через портал рабочего стола:
|
||||||
Start/stop recording a window:=Начать/остановить запись окна:
|
Start/stop recording a window:=Начать/остановить запись окна:
|
||||||
Take a screenshot of a window:=Сделать снимок окна:
|
Take a screenshot of a window:=Сделать снимок окна:
|
||||||
|
Press ESC to go back to the previous page/close the UI.=Нажмите ESC, чтобы вернуться на предыдущую страницу/закрыть интерфейс.
|
||||||
|
|
||||||
Clear hotkeys=Очистить горячие клавиши
|
Clear hotkeys=Очистить горячие клавиши
|
||||||
Reset hotkeys to default=Сбросить горячие клавиши по умолчанию
|
Reset hotkeys to default=Сбросить горячие клавиши по умолчанию
|
||||||
|
|||||||
@@ -171,6 +171,7 @@ Start/stop recording with desktop portal:=
|
|||||||
Take a screenshot with desktop portal:=
|
Take a screenshot with desktop portal:=
|
||||||
Start/stop recording a window:=
|
Start/stop recording a window:=
|
||||||
Take a screenshot of a window:=
|
Take a screenshot of a window:=
|
||||||
|
Press ESC to go back to the previous page/close the UI.=
|
||||||
|
|
||||||
Clear hotkeys=
|
Clear hotkeys=
|
||||||
Reset hotkeys to default=
|
Reset hotkeys to default=
|
||||||
|
|||||||
@@ -158,6 +158,7 @@ Start/stop recording with desktop portal:=Запис через портал:
|
|||||||
Take a screenshot with desktop portal:=Зробити знімок через портал робочого стола:
|
Take a screenshot with desktop portal:=Зробити знімок через портал робочого стола:
|
||||||
Start/stop recording a window:=Розпочати/зупинити запис вікна:
|
Start/stop recording a window:=Розпочати/зупинити запис вікна:
|
||||||
Take a screenshot of a window:=Зробити знімок вікна:
|
Take a screenshot of a window:=Зробити знімок вікна:
|
||||||
|
Press ESC to go back to the previous page/close the UI.=Натисніть ESC, щоб повернутися на попередню сторінку/закрити інтерфейс користувача.
|
||||||
|
|
||||||
Clear hotkeys=Очистити гарячі клавіші
|
Clear hotkeys=Очистити гарячі клавіші
|
||||||
Reset hotkeys to default=Скинути гарячі клавіші за замовчуванням
|
Reset hotkeys to default=Скинути гарячі клавіші за замовчуванням
|
||||||
|
|||||||
Reference in New Issue
Block a user