aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2024-10-20 22:44:15 +0200
committerdec05eba <dec05eba@protonmail.com>2024-10-20 22:44:15 +0200
commitd84054ecbbd15e92736e5e5f55e36f72f410d3a5 (patch)
tree25f3aae9ca5c4e16eb0bfe163044c1080f9bed96
parent939bf23921cce4b934ecc2a98fa871c7538d0276 (diff)
gsr-overlay > gsr-ui
-rw-r--r--README.md8
-rw-r--r--TODO10
-rw-r--r--gsr-ui-daemon/main.c (renamed from gpu-screen-recorder-overlay-daemon/main.c)0
-rw-r--r--gsr-ui-daemon/project.conf (renamed from gpu-screen-recorder-overlay-daemon/project.conf)0
-rwxr-xr-xinstall.sh2
-rw-r--r--meson.build14
-rw-r--r--project.conf4
-rw-r--r--src/Config.cpp4
-rw-r--r--src/Overlay.cpp14
-rw-r--r--src/Process.cpp2
-rw-r--r--src/Utils.cpp2
-rw-r--r--src/gui/FileChooser.cpp2
-rw-r--r--src/gui/SettingsPage.cpp5
-rw-r--r--src/main.cpp6
-rwxr-xr-xuninstall.sh3
15 files changed, 40 insertions, 36 deletions
diff --git a/README.md b/README.md
index a0c6cec..f85f909 100644
--- a/README.md
+++ b/README.md
@@ -1,17 +1,17 @@
-# GPU Screen Recorder Overlay
+# GPU Screen Recorder UI
A fullscreen overlay UI for [GPU Screen Recorder](https://git.dec05eba.com/gpu-screen-recorder/about/), in the style of ShadowPlay.
# Dependencies
-GPU Screen Recorder overlay uses meson build system so you need to install `meson` to build GPU Screen Recorder overlay.
+GPU Screen Recorder UI uses meson build system so you need to install `meson` to build GPU Screen Recorder UI.
## Build dependencies
-These are the dependencies needed to build GPU Screen Recorder overlay:
+These are the dependencies needed to build GPU Screen Recorder UI:
* x11 (libx11, libxrandr, libxrender, libxfixes)
* libglvnd (which provides libgl, libglx and libegl)
# Installation
-Run `sudo ./install.sh`. This will install gsr-overlay to `/usr/bin/gsr-overlay`. You can run meson commands manually to install gsr-overlay to another directory.
+Run `sudo ./install.sh`. This will install gsr-ui to `/usr/bin/gsr-ui`. You can run meson commands manually to install gsr-ui to another directory.
# License
This software is licensed under GPL3.0-only. Files under `fonts/` directory are licensed under `SIL Open Font License`.
diff --git a/TODO b/TODO
index a58a365..dc51b96 100644
--- a/TODO
+++ b/TODO
@@ -28,8 +28,8 @@ For system startup dont allow default output/input audio, as that can change aft
Make hotkeys configurable.
-Move hotkey to gsr-overlay-daemon which should execute gpu-screen-recorder --info on start, write that output to /tmp/blabla (or $XDG_RUNTIME_DIR) and gsr-overlay
- should read that tmp file. gsr-overlay should remove show/hide functions for overlay and run show on startup.
+Move hotkey to gsr-ui-daemon which should execute gpu-screen-recorder --info on start, write that output to /tmp/blabla (or $XDG_RUNTIME_DIR) and gsr-ui
+ should read that tmp file. gsr-ui should remove show/hide functions for overlay and run show on startup.
Combobox shouldn't show all items if its the combobox at the bottom and scrolling is needed to show them all.
@@ -48,4 +48,8 @@ Show warning when selecting hevc/av1 on amd because of amd driver/ffmpeg bug.
Update gsr info and validate saved config when monitors update. The selected monitor/audio may no longer be available.
Have different modes. Overlay, window and side menu. Overlay can be used on x11, window and side menu can be used on both x11 and wayland.
- Window mode should look similar to overlay. \ No newline at end of file
+ Window mode should look similar to overlay.
+
+Look at /home/dec05eba/git/global-hotkeys for hotkeys.
+
+Show navigation breadcrumbs for settings and deeper navigation (such as selecting a directory to save videos). \ No newline at end of file
diff --git a/gpu-screen-recorder-overlay-daemon/main.c b/gsr-ui-daemon/main.c
index 18234c2..18234c2 100644
--- a/gpu-screen-recorder-overlay-daemon/main.c
+++ b/gsr-ui-daemon/main.c
diff --git a/gpu-screen-recorder-overlay-daemon/project.conf b/gsr-ui-daemon/project.conf
index 758d50c..758d50c 100644
--- a/gpu-screen-recorder-overlay-daemon/project.conf
+++ b/gsr-ui-daemon/project.conf
diff --git a/install.sh b/install.sh
index a3b239a..21ba45c 100755
--- a/install.sh
+++ b/install.sh
@@ -10,4 +10,4 @@ meson setup build
meson configure --prefix=/usr --buildtype=release -Dstrip=true build
ninja -C build install
-echo "Successfully installed gsr-overlay"
+echo "Successfully installed gsr-ui"
diff --git a/meson.build b/meson.build
index 379d96e..c16e567 100644
--- a/meson.build
+++ b/meson.build
@@ -1,4 +1,4 @@
-project('gsr-overlay', ['c', 'cpp'], version : '1.0.0', default_options : ['warning_level=2', 'cpp_std=c++17'], subproject_dir : 'depends')
+project('gsr-ui', ['c', 'cpp'], version : '1.0.0', default_options : ['warning_level=2', 'cpp_std=c++17'], subproject_dir : 'depends')
if get_option('buildtype') == 'debug'
add_project_arguments('-g3', language : ['c', 'cpp'])
@@ -47,22 +47,22 @@ dep = [
prefix = get_option('prefix')
datadir = get_option('datadir')
-gsr_overlay_resources_path = join_paths(prefix, datadir, 'gsr-overlay')
+gsr_ui_resources_path = join_paths(prefix, datadir, 'gsr-ui')
executable(
meson.project_name(),
src,
install : true,
dependencies : dep,
- cpp_args : '-DGSR_OVERLAY_RESOURCES_PATH="' + gsr_overlay_resources_path + '"',
+ cpp_args : '-DGSR_UI_RESOURCES_PATH="' + gsr_ui_resources_path + '"',
)
executable(
- 'gsr-overlay-daemon',
- ['gpu-screen-recorder-overlay-daemon/main.c'],
+ 'gsr-ui-daemon',
+ ['gsr-ui-daemon/main.c'],
install : true,
dependencies : [dependency('x11')],
)
-install_subdir('images', install_dir : gsr_overlay_resources_path)
-install_subdir('fonts', install_dir : gsr_overlay_resources_path) \ No newline at end of file
+install_subdir('images', install_dir : gsr_ui_resources_path)
+install_subdir('fonts', install_dir : gsr_ui_resources_path) \ No newline at end of file
diff --git a/project.conf b/project.conf
index 3421e7b..cf3c0e4 100644
--- a/project.conf
+++ b/project.conf
@@ -1,5 +1,5 @@
[package]
-name = "gsr-overlay"
+name = "gsr-ui"
type = "executable"
version = "0.1.0"
platforms = ["posix"]
@@ -8,7 +8,7 @@ platforms = ["posix"]
version = "c++17"
[config]
-ignore_dirs = ["build", "gpu-screen-recorder-overlay-daemon"]
+ignore_dirs = ["build", "gsr-ui-daemon"]
[dependencies]
xcomposite = ">=0" \ No newline at end of file
diff --git a/src/Config.cpp b/src/Config.cpp
index 88eead9..b9319aa 100644
--- a/src/Config.cpp
+++ b/src/Config.cpp
@@ -111,7 +111,7 @@ namespace gsr {
std::optional<Config> read_config() {
std::optional<Config> config;
- const std::string config_path = get_config_dir() + "/overlay_config";
+ const std::string config_path = get_config_dir() + "/config_ui";
std::string file_content;
if(!file_get_content(config_path.c_str(), file_content)) {
fprintf(stderr, "Warning: Failed to read config file: %s\n", config_path.c_str());
@@ -173,7 +173,7 @@ namespace gsr {
void save_config(Config &config) {
config.main_config.config_file_version = CONFIG_FILE_VERSION;
- const std::string config_path = get_config_dir() + "/overlay_config";
+ const std::string config_path = get_config_dir() + "/config_ui";
char dir_tmp[PATH_MAX];
snprintf(dir_tmp, sizeof(dir_tmp), "%s", config_path.c_str());
diff --git a/src/Overlay.cpp b/src/Overlay.cpp
index cee40b7..c8b2678 100644
--- a/src/Overlay.cpp
+++ b/src/Overlay.cpp
@@ -553,7 +553,7 @@ namespace gsr {
std::optional<std::string> status_filepath = get_gsr_runtime_dir();
if(!status_filepath)
- throw std::runtime_error("Failed to find/create runtime directory /run/user/.../gsr-overlay or /tmp/gsr-overlay");
+ throw std::runtime_error("Failed to find/create runtime directory /run/user/.../gsr-ui or /tmp/gsr-ui");
status_filepath.value() += "/status";
@@ -567,7 +567,7 @@ namespace gsr {
void Overlay::save_program_status() {
std::optional<std::string> status_filepath = get_gsr_runtime_dir();
if(!status_filepath)
- throw std::runtime_error("Failed to find/create runtime directory /run/user/.../gsr-overlay or /tmp/gsr-overlay");
+ throw std::runtime_error("Failed to find/create runtime directory /run/user/.../gsr-ui or /tmp/gsr-ui");
status_filepath.value() += "/status";
if(!file_overwrite(status_filepath.value().c_str(), recording_status_to_string(recording_status)))
@@ -579,7 +579,7 @@ namespace gsr {
std::optional<std::string> status_filepath = get_gsr_runtime_dir();
if(!status_filepath)
- throw std::runtime_error("Failed to find/create runtime directory /run/user/.../gsr-overlay or /tmp/gsr-overlay");
+ throw std::runtime_error("Failed to find/create runtime directory /run/user/.../gsr-ui or /tmp/gsr-ui");
status_filepath.value() += "/pid";
@@ -599,12 +599,12 @@ namespace gsr {
char program_arg0[PATH_MAX];
program_arg0[0] = '\0';
if(!read_cmdline_arg0(cmdline_path, program_arg0)) {
- fprintf(stderr, "Error: failed to parse arg0 from file %s. Was the gpu-screen-recorder process that was started by gsr-overlay closed by another program or the user?\n", cmdline_path);
+ fprintf(stderr, "Error: failed to parse arg0 from file %s. Was the gpu-screen-recorder process that was started by gsr-ui closed by another program or the user?\n", cmdline_path);
return;
}
if(strcmp(program_arg0, "gpu-screen-recorder") != 0) {
- fprintf(stderr, "Warning: process %d exists but doesn't belong to gpu-screen-recorder (is instead %s). Was the gpu-screen-recorder process that was started by gsr-overlay closed by another program or the user?\n", pid, program_arg0);
+ fprintf(stderr, "Warning: process %d exists but doesn't belong to gpu-screen-recorder (is instead %s). Was the gpu-screen-recorder process that was started by gsr-ui closed by another program or the user?\n", pid, program_arg0);
return;
}
@@ -614,7 +614,7 @@ namespace gsr {
void Overlay::save_program_pid() {
std::optional<std::string> status_filepath = get_gsr_runtime_dir();
if(!status_filepath)
- throw std::runtime_error("Failed to find/create runtime directory /run/user/.../gsr-overlay or /tmp/gsr-overlay");
+ throw std::runtime_error("Failed to find/create runtime directory /run/user/.../gsr-ui or /tmp/gsr-ui");
status_filepath.value() += "/pid";
@@ -627,7 +627,7 @@ namespace gsr {
void Overlay::recording_stopped_remove_runtime_files() {
std::optional<std::string> status_filepath = get_gsr_runtime_dir();
if(!status_filepath) {
- fprintf(stderr, "Error: Failed to find/create runtime directory /run/user/.../gsr-overlay or /tmp/gsr-overlay");
+ fprintf(stderr, "Error: Failed to find/create runtime directory /run/user/.../gsr-ui or /tmp/gsr-ui");
return;
}
diff --git a/src/Process.cpp b/src/Process.cpp
index f9c896c..07d9dc6 100644
--- a/src/Process.cpp
+++ b/src/Process.cpp
@@ -11,7 +11,7 @@
namespace gsr {
static void debug_print_args(const char **args) {
- fprintf(stderr, "gsr-overlay info: running command:");
+ fprintf(stderr, "gsr-ui info: running command:");
while(*args) {
fprintf(stderr, " %s", *args);
++args;
diff --git a/src/Utils.cpp b/src/Utils.cpp
index c3da908..0f86ecc 100644
--- a/src/Utils.cpp
+++ b/src/Utils.cpp
@@ -208,7 +208,7 @@ namespace gsr {
if(stat(runtime_dir_path, &st) == -1 || !S_ISDIR(st.st_mode))
snprintf(runtime_dir_path, sizeof(runtime_dir_path), "/tmp");
- strcat(runtime_dir_path, "/gsr-overlay");
+ strcat(runtime_dir_path, "/gsr-ui");
if(create_directory_recursive(runtime_dir_path) != 0)
return result;
diff --git a/src/gui/FileChooser.cpp b/src/gui/FileChooser.cpp
index a48a3b0..8ec498f 100644
--- a/src/gui/FileChooser.cpp
+++ b/src/gui/FileChooser.cpp
@@ -138,7 +138,7 @@ namespace gsr {
DIR *d = opendir(directory);
if(!d) {
- fprintf(stderr, "gsr-overlay error: failed to open directory: %s, error: %s\n", directory, strerror(errno));
+ fprintf(stderr, "gsr-ui error: failed to open directory: %s, error: %s\n", directory, strerror(errno));
return;
}
diff --git a/src/gui/SettingsPage.cpp b/src/gui/SettingsPage.cpp
index 8b06499..fb2cc68 100644
--- a/src/gui/SettingsPage.cpp
+++ b/src/gui/SettingsPage.cpp
@@ -48,8 +48,9 @@ namespace gsr {
std::unique_ptr<ComboBox> SettingsPage::create_record_area_box(const GsrInfo &gsr_info) {
auto record_area_box = std::make_unique<ComboBox>(&get_theme().body_font);
// TODO: Show options not supported but disable them
- if(gsr_info.supported_capture_options.window)
- record_area_box->add_item("Window", "window");
+ // TODO: Enable this
+ //if(gsr_info.supported_capture_options.window)
+ // record_area_box->add_item("Window", "window");
if(gsr_info.supported_capture_options.focused)
record_area_box->add_item("Follow focused window", "focused");
if(gsr_info.supported_capture_options.screen)
diff --git a/src/main.cpp b/src/main.cpp
index 120280d..3760368 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -72,10 +72,10 @@ int main(int argc, char **argv) {
if(access("images/gpu_screen_recorder_logo.png", F_OK) == 0) {
resources_path = "./";
} else {
-#ifdef GSR_OVERLAY_RESOURCES_PATH
- resources_path = GSR_OVERLAY_RESOURCES_PATH "/";
+#ifdef GSR_UI_RESOURCES_PATH
+ resources_path = GSR_UI_RESOURCES_PATH "/";
#else
- resources_path = "/usr/share/gsr-overlay/";
+ resources_path = "/usr/share/gsr-ui/";
#endif
}
diff --git a/uninstall.sh b/uninstall.sh
index e6ebbee..0dc932f 100755
--- a/uninstall.sh
+++ b/uninstall.sh
@@ -7,5 +7,4 @@ cd "$script_dir"
ninja -C build uninstall
-echo "Successfully uninstalled gsr-overlay"
-c \ No newline at end of file
+echo "Successfully uninstalled gsr-ui" \ No newline at end of file