Capture stderr (ignore fps: 250) and show that in notification on error. Or redirect stderr to a temporary error file and save that file if recording failed and show where the error output was saved (~/gsr-error.log ?).
Make sure the resolution is allowed for streaming.
Add list of windows to select from. This makes it easier to select another window that is not in the view to be clickable.
Button (in the field) to remove hotkey.
Error if polkit agent is not running (pkexec --help may work but the agent might not be running anyways).
Re-enable wlroots based capture when it's fixed.
Add translation support (using gettext, which uses .mo files and _ macro). It should be easy for non-devs to contribute.
    But how? maybe have a page that links to the english translation files (or translation directory) in git and give instructions,
    telling them to copy the file content and then send me the file by email with the language name (then I can add it to the correct)
    file with correct locale. Or if they know how to use git they can use that directly.
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.
Use https://hosted.weblate.org/ for translation.

Have separate options for each record option (stream, record and replay) or have option to use profiles. Remake the gui and have a proper overlay! on wlroots and kde use https://wayland.app/protocols/wlr-layer-shell-unstable-v1.

A single flatpak can only be installed either system-wide or user, so there can be a check if it's installed system-wide or user and it will only match one. With this information we can guaranteed know the flatpak directory of the running gpu screen recorder instance. The command `flatpak info -l com.dec05eba.gpu_screen_recorder` can also be used and is available for all flatpak users.

Re-renable hotkeys on hyprland after it's fixed in the hyprland desktop portal. Or use hyprland specific protocol to do it ourselves, and it also works better.

Notifications are not shown on kde plasma while using desktop portal capture (system-wide). This is a design choice by kde, see https://invent.kde.org/plasma/xdg-desktop-portal-kde/-/blob/master/src/screencast.cpp?ref_type=heads#L41 . The DoNotDisturb.WhenScreenSharing config controls this. This can be bypassed by making the notification critical. Maybe notifications should be set as critical? but only on kde.
    Maybe we should create our own notification system with gtk layer shell (which is supported by every platform except gnome wayland).
    On gnome wayland maybe we can fallback to x11? we need to add back --socket=x11 and remove --socket=fallback-x11 from flatpak manifest.
    Maybe use this: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/264 when that gets supported. But will gnome support that?
    Maybe map the drm framebuffer to opengl with write permission and draw to that opengl texture with a framebuffer. That would allow us to draw on the screen anywhere on any wayland compositor (and x11 amd/intel). We can also do this after the video frame has been captured to not include it in the video.
    Maybe use drm overlay plane, if possible.

Start recording after showing start recording notification has disappeared, not at the same time.

Add profile option. Convert view to profile, add an option at the bottom that says "Edit profiles..." which should show a popup where you can create/remove profiles. New profiles should always be in advanced view.

Move x11 hotkey code to its own file.

Detect gpu screen recorder flatpak update and restart the gsr-ui systemd service to apply the update. Or show a notification when it has been updated and can be restarted to apply update.