mirror of
https://repo.dec05eba.com/gpu-screen-recorder-ui
synced 2026-05-07 23:20:26 +09:00
Dont render emoji, fix wayland freezing for some people (gamescope window title freezes shit)
This commit is contained in:
2
TODO
2
TODO
@@ -260,3 +260,5 @@ Keep replay turned on when opening a fullscreen application and alt-tabbing. Onl
|
|||||||
Show vulkan codec options.
|
Show vulkan codec options.
|
||||||
|
|
||||||
Use wlroots protocol for region selection, if the protocol is available.
|
Use wlroots protocol for region selection, if the protocol is available.
|
||||||
|
|
||||||
|
Fix kwin wayland and hyprland window title. Make it work on gnome as well.
|
||||||
|
|||||||
Submodule depends/mglpp updated: 0542df4974...41d2ad6c42
@@ -61,7 +61,7 @@ src = [
|
|||||||
subdir('protocol')
|
subdir('protocol')
|
||||||
src += protocol_src
|
src += protocol_src
|
||||||
|
|
||||||
mglpp_proj = subproject('mglpp')
|
mglpp_proj = subproject('mglpp', default_options : ['wayland=false'])
|
||||||
mglpp_dep = mglpp_proj.get_variable('mglpp_dep')
|
mglpp_dep = mglpp_proj.get_variable('mglpp_dep')
|
||||||
|
|
||||||
prefix = get_option('prefix')
|
prefix = get_option('prefix')
|
||||||
|
|||||||
@@ -2086,32 +2086,13 @@ namespace gsr {
|
|||||||
return ClipboardFile::FileType::PNG;
|
return ClipboardFile::FileType::PNG;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns an empty string on failure
|
|
||||||
static std::string gamescope_get_game_name() {
|
|
||||||
std::string focused_window_name;
|
|
||||||
Display *gamescope_dpy = XOpenDisplay(":2"); // This is assuming gamescope is :2, which may not always be true
|
|
||||||
if(!gamescope_dpy)
|
|
||||||
return focused_window_name;
|
|
||||||
|
|
||||||
if(get_window_manager_name(gamescope_dpy) == "steamcompmgr")
|
|
||||||
focused_window_name = get_focused_window_name(gamescope_dpy, WindowCaptureType::FOCUSED, false);
|
|
||||||
|
|
||||||
XCloseDisplay(gamescope_dpy);
|
|
||||||
return focused_window_name;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Overlay::save_video_in_current_game_directory(std::string &video_filepath, NotificationType notification_type) {
|
void Overlay::save_video_in_current_game_directory(std::string &video_filepath, NotificationType notification_type) {
|
||||||
mgl_context *context = mgl_get_context();
|
mgl_context *context = mgl_get_context();
|
||||||
Display *display = (Display*)context->connection;
|
Display *display = (Display*)context->connection;
|
||||||
const std::string video_filename = filepath_get_filename(video_filepath.c_str());
|
const std::string video_filename = filepath_get_filename(video_filepath.c_str());
|
||||||
|
|
||||||
const Window gsr_ui_window = window ? (Window)window->get_system_handle() : None;
|
const Window gsr_ui_window = window ? (Window)window->get_system_handle() : None;
|
||||||
// Checking for gamescope window name is not needed on x11 because on x11 gamescope uses the host x11 so applications
|
std::string focused_window_name = get_window_name_at_cursor_position(display, gsr_ui_window);
|
||||||
// running inside gamescope appears in the hosts x11 server
|
|
||||||
std::string focused_window_name = gsr_info.system_info.display_server != DisplayServer::X11 ? gamescope_get_game_name() : "";
|
|
||||||
|
|
||||||
if(focused_window_name.empty())
|
|
||||||
focused_window_name = get_window_name_at_cursor_position(display, gsr_ui_window);
|
|
||||||
|
|
||||||
if(focused_window_name.empty())
|
if(focused_window_name.empty())
|
||||||
focused_window_name = get_focused_window_name(display, WindowCaptureType::FOCUSED, false);
|
focused_window_name = get_focused_window_name(display, WindowCaptureType::FOCUSED, false);
|
||||||
|
|||||||
Reference in New Issue
Block a user