From c5dd3c8169a1e467f202f33b5a5e369988efbe3d Mon Sep 17 00:00:00 2001 From: dec05eba Date: Mon, 10 Jun 2024 17:55:05 +0200 Subject: Use full path for tray icon images --- TODO | 3 ++- com.dec05eba.gpu_screen_recorder.appdata.xml | 9 +++++++-- src/main.cpp | 8 ++++---- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/TODO b/TODO index 2b2f3b8..c475c73 100644 --- a/TODO +++ b/TODO @@ -19,4 +19,5 @@ Add option to start replay on system startup (use the gpu screen recorder system Detect suspend before it happens and unload cuda/nvenc then and reload after suspend. This is a workaround to nvidia driver bug that breaks cuda on suspend. Disable the gpu screen recorders aur/source package systemd service if enabled in the gui since these are two different services. Or make that service and gui service the same and work with the same (gui) config file. Remove the need to install gpu screen recorder flatpak as system. This can now be done because of kms-server-proxy. -Implement profiles to quickly switch between settings. \ No newline at end of file +Implement profiles to quickly switch between settings. +Use https://hosted.weblate.org/ for translation. diff --git a/com.dec05eba.gpu_screen_recorder.appdata.xml b/com.dec05eba.gpu_screen_recorder.appdata.xml index 5accf09..d2b0149 100644 --- a/com.dec05eba.gpu_screen_recorder.appdata.xml +++ b/com.dec05eba.gpu_screen_recorder.appdata.xml @@ -48,6 +48,9 @@

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.

+

+ By default on AMD/NVIDIA HEVC video codec is used. This may not play in your video player or browser of choice or discord. The video will still work if you upload it to a site such as youtube. Alternatively you can switch to H264 video codec in advanced view for compatibility with outdated video players/websites. +

If the video is glitched with checkerboard pattern and you are using and Intel integrated GPU on wayland then this is a known issue and right now the only solution is to record on X11 instead.

@@ -81,11 +84,13 @@ - +
  • Add system tray icon
  • -
  • Notify recording as successful when closing window while recording
  • +
  • Fix screen recording on Intel ARC GPU
  • +
  • Workaround AMD driver bug with HEVC video codec that causes glitched graphics on the right/bottom side with certain video resolutions. It's now replaced with black color
  • +
  • Fix possible incorrect monitor rotation when using multiple monitors with one monitor rotated on GNOME Wayland
  • Add hls (m3u8) container option
diff --git a/src/main.cpp b/src/main.cpp index 6f1679b..808e9cf 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -140,9 +140,9 @@ static double notification_timeout_seconds = 0.0; static double notification_start_seconds = 0.0; static AppIndicator *app_indicator; -static const char *tray_idle_icon_name = "tray_idle"; -static const char *tray_recording_icon_name = "tray_recording"; -static const char *tray_paused_icon_name = "tray_paused"; +static const char *tray_idle_icon_name = "/usr/share/com.dec05eba.gpu_screen_recorder/tray_idle.png"; +static const char *tray_recording_icon_name = "/usr/share/com.dec05eba.gpu_screen_recorder/tray_recording.png"; +static const char *tray_paused_icon_name = "/usr/share/com.dec05eba.gpu_screen_recorder/tray_paused.png"; struct AudioInput { std::string name; @@ -390,7 +390,7 @@ static GtkMenuShell* create_systray_menu(GtkApplication *app, SystrayPage systra } static void setup_systray(GtkApplication *app) { - app_indicator = app_indicator_new_with_path("com.dec05eba.gpu_screen_recorder", tray_idle_icon_name, APP_INDICATOR_CATEGORY_APPLICATION_STATUS, "/usr/share/com.dec05eba.gpu_screen_recorder"); + app_indicator = app_indicator_new("com.dec05eba.gpu_screen_recorder", tray_idle_icon_name, APP_INDICATOR_CATEGORY_APPLICATION_STATUS); // This triggers Gdk assert: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed, // dont know why but it works anyways app_indicator_set_status(app_indicator, APP_INDICATOR_STATUS_ACTIVE); -- cgit v1.2.3