Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gpu-screen-recorder-gtk for 
openSUSE:Factory checked in at 2025-02-20 16:38:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gpu-screen-recorder-gtk (Old)
 and      /work/SRC/openSUSE:Factory/.gpu-screen-recorder-gtk.new.1873 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gpu-screen-recorder-gtk"

Thu Feb 20 16:38:34 2025 rev:15 rq:1247185 version:20250205

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/gpu-screen-recorder-gtk/gpu-screen-recorder-gtk.changes
  2025-01-27 20:55:34.931445049 +0100
+++ 
/work/SRC/openSUSE:Factory/.gpu-screen-recorder-gtk.new.1873/gpu-screen-recorder-gtk.changes
        2025-02-20 16:39:39.476230236 +0100
@@ -1,0 +2,6 @@
+Wed Feb 19 16:53:22 UTC 2025 - mantari...@pm.me
+
+- Update to version 20250205:
+  * Show error when trying to capture window that no longer exists
+
+-------------------------------------------------------------------

Old:
----
  gpu-screen-recorder-gtk-20250126.tar.zst

New:
----
  gpu-screen-recorder-gtk-20250205.tar.zst

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gpu-screen-recorder-gtk.spec ++++++
--- /var/tmp/diff_new_pack.qbypZo/_old  2025-02-20 16:39:41.524315868 +0100
+++ /var/tmp/diff_new_pack.qbypZo/_new  2025-02-20 16:39:41.528316036 +0100
@@ -19,7 +19,7 @@
 %bcond_with test
 %define appid   com.dec05eba.gpu_screen_recorder
 Name:           gpu-screen-recorder-gtk
-Version:        20250126
+Version:        20250205
 Release:        0
 Summary:        GTK frontend for GPU Screen Recorder
 License:        GPL-3.0-only

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.qbypZo/_old  2025-02-20 16:39:41.580318210 +0100
+++ /var/tmp/diff_new_pack.qbypZo/_new  2025-02-20 16:39:41.580318210 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://repo.dec05eba.com/gpu-screen-recorder-gtk.git</param>
-              <param 
name="changesrevision">219b6f0c6983e7e98b17ab0da3ed2729181fce8d</param></service></servicedata>
+              <param 
name="changesrevision">312dda25c1e96380f3083a92009efa9418c9ee55</param></service></servicedata>
 (No newline at EOF)
 

++++++ gpu-screen-recorder-gtk-20250126.tar.zst -> 
gpu-screen-recorder-gtk-20250205.tar.zst ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gpu-screen-recorder-gtk-20250126/com.dec05eba.gpu_screen_recorder.appdata.xml
 
new/gpu-screen-recorder-gtk-20250205/com.dec05eba.gpu_screen_recorder.appdata.xml
--- 
old/gpu-screen-recorder-gtk-20250126/com.dec05eba.gpu_screen_recorder.appdata.xml
   2025-01-26 11:54:55.000000000 +0100
+++ 
new/gpu-screen-recorder-gtk-20250205/com.dec05eba.gpu_screen_recorder.appdata.xml
   2025-02-05 23:08:55.000000000 +0100
@@ -3,13 +3,17 @@
     <id>com.dec05eba.gpu_screen_recorder</id>
     <name>GPU Screen Recorder</name>
     <summary>A shadowplay-like screen recorder for Linux. The fastest screen 
recorder for Linux</summary>
-    <developer_name>dec05eba</developer_name>
+    <developer id="com.dec05eba.gpu_screen_recorder">
+        <name>dec05eba</name>
+    </developer>
     <metadata_license>CC0-1.0</metadata_license>
     <project_license>GPL-3.0</project_license>
     <url 
type="homepage">https://git.dec05eba.com/gpu-screen-recorder/about/</url>
     <url 
type="bugtracker">https://github.com/dec05eba/gpu-screen-recorder-issues</url>
     <url type="contribute">https://git.dec05eba.com/?p=about</url>
     <url type="donation">https://git.dec05eba.com/?p=about</url>
+    <url type="help">https://git.dec05eba.com/gpu-screen-recorder/about/</url>
+    <url type="faq">https://git.dec05eba.com/gpu-screen-recorder/about/</url>
 
     <supports>
         <control>pointing</control>
@@ -40,30 +44,8 @@
             At the moment the program comes with two different UIs. A gtk 
based one and a new experimental ShadowPlay-like fullscreen overlay UI. The gtk 
based UI will be removed in the future.
             You can switch to the new UI by clicking on "Try out the new UI" 
and then after that is done press Left Alt+Z to open it.
         </p>
-        <p>
-            Recording a monitor requires (restricted) root access which means 
that you have to install GPU Screen Recorder system-wide: "flatpak install 
--system com.dec05eba.gpu_screen_recorder"
-            and pkexec needs to be installed on the system and a polkit agent 
needs to be running.
-            Note that this only applies to when recording a monitor on 
AMD/Intel or when recording on Wayland without using the desktop portal option.
-        </p>
         <p>AV1 is currently not supported in the flatpak for Nvidia since GPU 
Screen Recorder uses an older ffmpeg version to support older Nvidia cards. 
Install GPU Screen Recorder from source or from AUR if you want to use AV1 on 
Nvidia.</p>
-        <p>
-            Videos are in variable framerate format. Very out of date video 
players might have an issue playing such videos. It's recommend to use MPV to 
play such videos, otherwise you might experience stuttering in the video.
-            You can select constant frame rate mode in advanced view if you 
need it.
-        </p>
-        <p>
-            If the video doesn't play or you get green/yellow overlay then 
your video player is missing H264/HEVC video codec. Either install the video 
codecs or use mpv.
-        </p>
-        <p>AMD has a driver/hardware fault that causes black bars/distorted 
colors on the sides of the video for certain video resolutions. This happens 
for both av1 and hevc, so if you have this issue then switch to h264 video 
codec option in advanced settings.
-        </p>
-        <p>
-            If H264/HEVC video encoding option is not available on your 
AMD/Intel system but you know that your GPU supports those codecs for encoding 
then you may need to install mesa-extra freedesktop runtime by running this 
command: "flatpak install --system 
org.freedesktop.Platform.GL.default//23.08-extra".
-        </p>
-        <p>
-            On NVIDIA systems the flatpak NVIDIA driver needs to match the 
systems NVIDIA driver version or the NVIDIA driver will fail to properly load 
in flatpaks.
-            Make sure you update flatpak on your system with: "flatpak 
update", or if that doesn't fix it you can try to install the specific flatpak 
NVIDIA driver version version that matches your systems NVIDIA driver version 
by running:
-            "flatpak install org.freedesktop.Platform.GL.nvidia-version", for 
example "flatpak install org.freedesktop.Platform.GL.nvidia-550-54-14".
-            You can find which NVIDIA driver version is running on your system 
by running "cat /proc/driver/nvidia/version".
-        </p>
+        <p>For more information visit the GPU Screen Recorder homepage.</p>
         <p>GPU Screen Recorder flatpak can install files in 
$HOME/.local/share/gpu-screen-recorder. If you want to uninstall GPU Screen 
Recorder then you will have to remove this directory manually.</p>
         <p>If you tried out the new UI then a systemd service was added to 
~/.local/share/systemd/user/gpu-screen-recorder-ui.service. If you want to 
uninstall GPU Screen Recorder then you will have to remove this file.</p>
     </description>
@@ -93,6 +75,21 @@
     </screenshots>
 
     <releases>
+        <release version="5.1.4" date="2025-02-05">
+            <description>
+                <ul>
+                    <li>Fix virtual hotkey option not working with some 
keyboard remapping software such as kanata</li>
+                    <li>Fix too long audio device name hiding the remove audio 
device button</li>
+                </ul>
+            </description>
+        </release>
+        <release version="5.1.3" date="2025-02-03">
+            <description>
+                <ul>
+                    <li>Fix unable to type keys (except hotkeys) when 
switching to new ui on steam deck (and possibly other devices)</li>
+                </ul>
+            </description>
+        </release>
         <release version="5.1.2" date="2025-01-26">
             <description>
                 <ul>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gpu-screen-recorder-gtk-20250126/meson.build 
new/gpu-screen-recorder-gtk-20250205/meson.build
--- old/gpu-screen-recorder-gtk-20250126/meson.build    2025-01-26 
11:54:55.000000000 +0100
+++ new/gpu-screen-recorder-gtk-20250205/meson.build    2025-02-05 
23:08:55.000000000 +0100
@@ -1,4 +1,4 @@
-project('gpu-screen-recorder-gtk', ['c', 'cpp'], version : '5.1.2', 
default_options : ['warning_level=2'])
+project('gpu-screen-recorder-gtk', ['c', 'cpp'], version : '5.1.4', 
default_options : ['warning_level=2'])
 
 add_project_arguments('-Wshadow', language : ['c', 'cpp'])
 if get_option('buildtype') == 'debug'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gpu-screen-recorder-gtk-20250126/project.conf 
new/gpu-screen-recorder-gtk-20250205/project.conf
--- old/gpu-screen-recorder-gtk-20250126/project.conf   2025-01-26 
11:54:55.000000000 +0100
+++ new/gpu-screen-recorder-gtk-20250205/project.conf   2025-02-05 
23:08:55.000000000 +0100
@@ -1,7 +1,7 @@
 [package]
 name = "gpu-screen-recorder-gtk"
 type = "executable"
-version = "5.1.2"
+version = "5.1.4"
 platforms = ["posix"]
 
 [config]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gpu-screen-recorder-gtk-20250126/src/config.hpp 
new/gpu-screen-recorder-gtk-20250205/src/config.hpp
--- old/gpu-screen-recorder-gtk-20250126/src/config.hpp 2025-01-26 
11:54:55.000000000 +0100
+++ new/gpu-screen-recorder-gtk-20250205/src/config.hpp 2025-02-05 
23:08:55.000000000 +0100
@@ -50,7 +50,6 @@
     bool restore_portal_session = true;
     bool use_new_ui = false;
     int32_t installed_gsr_global_hotkeys_version = 0;
-    bool kbd_mouse_update_installed = false;
 };
 
 struct YoutubeStreamConfig {
@@ -339,7 +338,6 @@
         {"main.restore_portal_session", {CONFIG_TYPE_BOOL, 
&config.main_config.restore_portal_session}},
         {"main.use_new_ui", {CONFIG_TYPE_BOOL, 
&config.main_config.use_new_ui}},
         {"main.installed_gsr_global_hotkeys_version", {CONFIG_TYPE_I32, 
&config.main_config.installed_gsr_global_hotkeys_version}},
-        {"main.kbd_mouse_update_installed", {CONFIG_TYPE_BOOL, 
&config.main_config.kbd_mouse_update_installed}},
 
         {"streaming.service", {CONFIG_TYPE_STRING, 
&config.streaming_config.streaming_service}},
         {"streaming.youtube.key", {CONFIG_TYPE_STRING, 
&config.streaming_config.youtube.stream_key}},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gpu-screen-recorder-gtk-20250126/src/main.cpp 
new/gpu-screen-recorder-gtk-20250205/src/main.cpp
--- old/gpu-screen-recorder-gtk-20250126/src/main.cpp   2025-01-26 
11:54:55.000000000 +0100
+++ new/gpu-screen-recorder-gtk-20250205/src/main.cpp   2025-02-05 
23:08:55.000000000 +0100
@@ -20,7 +20,7 @@
 #include <vector>
 #include <libayatana-appindicator/app-indicator.h>
 
-#define GSR_CURRENT_GLOBAL_HOTKEYS_CODE_VERSION 4
+#define GSR_CURRENT_GLOBAL_HOTKEYS_CODE_VERSION 6
 
 #ifndef GSR_VERSION
 #define GSR_VERSION "unknown"
@@ -1711,6 +1711,16 @@
     fprintf(stderr, "\n");
 }
 
+static bool validate_window(GtkApplication *app, Window window) {
+    XWindowAttributes attr;
+    if(XGetWindowAttributes(dpy, window, &attr)) {
+        return true;
+    } else {
+        show_notification(app, "GPU Screen Recorder", "The window you are 
trying to record no longer exists", G_NOTIFICATION_PRIORITY_URGENT);
+        return false;
+    }
+}
+
 static gboolean on_start_replay_button_click(GtkButton *button, gpointer 
userdata) {
     GtkApplication *app = (GtkApplication*)userdata;
     const gchar *dir = gtk_button_get_label(replay_file_chooser_button);
@@ -1772,6 +1782,8 @@
             return true;
         }
         window_str = std::to_string(select_window_userdata.selected_window);
+        if(!validate_window(app, select_window_userdata.selected_window))
+            return true;
     } else if(window_str == "focused") {
         follow_focused = true;
     }
@@ -1968,6 +1980,8 @@
             return true;
         }
         window_str = std::to_string(select_window_userdata.selected_window);
+        if(!validate_window(app, select_window_userdata.selected_window))
+            return true;
     } else if(window_str == "focused") {
         follow_focused = true;
     }
@@ -2130,6 +2144,8 @@
             return true;
         }
         window_str = std::to_string(select_window_userdata.selected_window);
+        if(!validate_window(app, select_window_userdata.selected_window))
+            return true;
     } else if(window_str == "focused") {
         follow_focused = true;
     }
@@ -2763,7 +2779,6 @@
 
     config.main_config.use_new_ui = true;
     config.main_config.installed_gsr_global_hotkeys_version = 
GSR_CURRENT_GLOBAL_HOTKEYS_CODE_VERSION;
-    config.main_config.kbd_mouse_update_installed = true;
     save_config(config);
     return true;
 }
@@ -4465,16 +4480,6 @@
     }
 }
 
-static bool is_gsr_global_hotkeys_installed() {
-    const char *user_homepath = getenv("HOME");
-    if(!user_homepath)
-        user_homepath = "/tmp";
-
-    char path[PATH_MAX];
-    snprintf(path, sizeof(path), 
"%s/.local/share/gpu-screen-recorder/gsr-global-hotkeys", user_homepath);
-    return access(path, F_OK) == 0;
-}
-
 static bool is_kms_server_proxy_installed() {
     const char *user_homepath = getenv("HOME");
     if(!user_homepath)
@@ -4502,28 +4507,6 @@
     g_object_unref(app);
 }
 
-// TODO: Remove this once GSR_CURRENT_GLOBAL_HOTKEYS_CODE_VERSION is updated 
to 5
-static bool has_input_device_with_keyboard_and_mouse() {
-    FILE *f = fopen("/proc/bus/input/devices", "rb");
-    if(!f)
-        return false;
-
-    bool current_device_is_virtual = false;
-    bool kbd_and_mouse = false;
-    char line[1024];
-    while(fgets(line, sizeof(line), f)) {
-        if(strncmp(line, "S:", 2) == 0) {
-            current_device_is_virtual = strstr(line, "/virtual/") != nullptr;
-        } else if(!current_device_is_virtual && strncmp(line, "H:", 2) == 0 && 
strstr(line, "kbd") && strstr(line, "mouse")) {
-            kbd_and_mouse = true;
-            break;
-        }
-    }
-
-    fclose(f);
-    return kbd_and_mouse;
-}
-
 static void startup_new_ui(bool launched_by_daemon) {
     if(!dpy) {
         if(launched_by_daemon) {
@@ -4555,7 +4538,7 @@
         return;
     }
 
-    if(config.main_config.installed_gsr_global_hotkeys_version != 
GSR_CURRENT_GLOBAL_HOTKEYS_CODE_VERSION || 
(!config.main_config.kbd_mouse_update_installed && 
has_input_device_with_keyboard_and_mouse())) {
+    if(config.main_config.installed_gsr_global_hotkeys_version != 
GSR_CURRENT_GLOBAL_HOTKEYS_CODE_VERSION) {
         bool finished = false;
         start_gtk_run_handler([&finished]() {
             finished = kms_server_proxy_setup_gsr_ui(
@@ -4567,7 +4550,7 @@
 
         if(!finished)
             return;
-    } else if(!is_gsr_global_hotkeys_installed() || 
!is_kms_server_proxy_installed()) {
+    } else if(!is_kms_server_proxy_installed()) {
         bool finished = false;
         start_gtk_run_handler([&finished]() {
             finished = kms_server_proxy_setup_gsr_ui(

Reply via email to