-
Notifications
You must be signed in to change notification settings - Fork 59
feat(screen-recording): add screen recording util #64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really cool extension concept, I would really like to be able to use that.
However it seems to silently fail on my system right now, which is not a very good experience.
See video below (recorded with obs to avoid conflict with wf-recorder. on an interesting note, when recording with wf-recorder beforehand it will show as recording inside the extension and stopping the recording using the extension will correctly shutdown the instance)
also it would be great to have an option to directy record a region using slurp or something.
Also for reference, I'm running Hyprland
2025-12-01.20-35-00.mp4
| } | ||
|
|
||
| // Show device selection views | ||
| if (showAudioSelection) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was trying the extension out and I felt it was weird that from the audio selection view going back one level of navigation was popping me back to root. don't you think it would be better to push a new view?
See useNavigation or generally better use an Action.Push component.
| { | ||
| "$schema": "https://raw.githubusercontent.com/vicinaehq/vicinae/refs/heads/main/extra/schemas/extension.json", | ||
| "name": "screen-recorder", | ||
| "title": "Screen Recorder", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unless you plan on supporting more ways to record the screen I think this should be renamed with 'wlr' somewhere in the name in order to make it explicit that it's only an option on wlroots based compositors.
In this case we need a change for both the name and title fields.
| let scale = 1.0; | ||
| try { | ||
| const { stdout } = await execPromise( | ||
| "hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .scale'", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess it would make sense to add scaling info to the screen interface? https://api-reference.vicinae.com/WindowManagement/Screen.html
Uses
wf-recorderto actually do stuff, so needs to be run on wlroots-based compositorNeeds pipewire to do audio, but i think pretty much anybody has it at this point - not even listing in error msg
Only nasty thing is that camera overlay gets spawned as a window, so users need to set it to floating (and use smth like magic workspace) in their WM config manually