Skip to content
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

GUACAMOLE-1525: Support for true fullscreen mode and keyboard lock #695

Merged

Conversation

sirux88
Copy link
Contributor

@sirux88 sirux88 commented Jan 30, 2022

associated JIRA issue: https://issues.apache.org/jira/browse/GUACAMOLE-1525

see also: GUACAMOLE-989 and GUACAMOLE-124

To start fullscreen mode:
Open gucamole's special menu via Ctrl+Alt+Shift and click fullsceen:
image
("Vollbild" is german for Fullscreen)

@sirux88 sirux88 force-pushed the fullscreen-keyboardlock-Implementation branch from 28b0335 to c60bc6e Compare October 2, 2022 11:42
@sirux88 sirux88 force-pushed the fullscreen-keyboardlock-Implementation branch from c60bc6e to 028b45a Compare June 5, 2023 13:56
@necouchman
Copy link
Contributor

@sirux88 I know you've been frustrated by difficulty of getting PRs merged. Are you still willing to work on this one? I have a couple of minor style issues and then I think this one could be ready to go and close out several long-standing issues.

@sirux88
Copy link
Contributor Author

sirux88 commented Oct 14, 2023

@necouchman:
If there's a chance to get it merged by time I'm willing to work on this for sure.
Just let me know.

Since it is only on the jira issue but affecs functionality:

  1. True fullscreen mode should work on each maintained browser as stated here => https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API
  2. Keyboard lock will only work on chromium based browsers => https://developer.mozilla.org/en-US/docs/Web/API/Keyboard/lock

Copy link
Contributor

@necouchman necouchman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, @sirux88 - Mostly some style change requests. It can seem like some of these are trivial or pedantic, but when you scale it up to the amount of code, here, it makes a difference after a while for the overall readability of the code, so we tend to be very particular about the style being consisten.

Other than that, unless @mike-jumper or @jmuehlner have any concerns, I think it's good.

@sirux88 sirux88 force-pushed the fullscreen-keyboardlock-Implementation branch from 028b45a to 9bef98c Compare October 15, 2023 08:12
@sirux88
Copy link
Contributor Author

sirux88 commented Oct 15, 2023

Thanks, @sirux88 - Mostly some style change requests. It can seem like some of these are trivial or pedantic, but when you scale it up to the amount of code, here, it makes a difference after a while for the overall readability of the code, so we tend to be very particular about the style being consisten.

I understand that and it's ok. I hope it's fine now @necouchman

To be honest maybe you should add a linter or codestyle checker to your project and setup your rules. So you haven't to explain it to contributers (which is annoying I know)

@necouchman
Copy link
Contributor

To be honest maybe you should add a linter or codestyle checker to your project and setup your rules.

Ah, nice, I will have a look.

Copy link
Contributor

@necouchman necouchman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks okay to me, now. I will give @mike-jumper and @jmuehlner a while longer to respond with any issues they have, otherwise I'll go ahead and merge it.

@sirux88
Copy link
Contributor Author

sirux88 commented Oct 15, 2023

Is the failing docker build a problem @necouchman?
The problem within the build seems not related to this PR.

@necouchman
Copy link
Contributor

Is the failing docker build a problem @necouchman?
The problem within the build seems not related to this PR.

Yeah, seems to be something with the Github infrastructure, not directly related to the PR. I was seeing similar issues the other night when I was rebasing some PRs, and they cleared themselves by the next day. 🤷

@sirux88
Copy link
Contributor Author

sirux88 commented Nov 4, 2023

I fell over an problem concerning browsers not implementing keyboard.lock api (e.g. firefox):
If you set fullscreen mode and use the browsers back functionality (e.g. mouse xbutton1) the screen will stay in fullscreen mode.
This might be confusing to some users.

My approach to solve it would be to unload fullscreen mode if the client is "minimized". Meaning guacamole application is going to its homescreen.

But I haven't found an event to register to.
Is there an event like this @necouchman ?

@sirux88 sirux88 force-pushed the fullscreen-keyboardlock-Implementation branch 2 times, most recently from 79ba6bb to 1f53bff Compare November 4, 2023 11:07
@sirux88
Copy link
Contributor Author

sirux88 commented Nov 4, 2023

I fell over an problem concerning browsers not implementing keyboard.lock api (e.g. firefox): If you set fullscreen mode and use the browsers back functionality (e.g. mouse xbutton1) the screen will stay in fullscreen mode. This might be confusing to some users.

My approach to solve it would be to unload fullscreen mode if the client is "minimized". Meaning guacamole application is going to its homescreen.

But I haven't found an event to register to. Is there an event like this @necouchman ?

I ended up in adding it to $scope.$on('$destroy', function clientViewDestroyed() function.
=> solved in my eyes

@sirux88 sirux88 force-pushed the fullscreen-keyboardlock-Implementation branch from 1f53bff to c1e6532 Compare November 5, 2023 09:14
@necouchman
Copy link
Contributor

I ended up in adding it to $scope.$on('$destroy', function clientViewDestroyed() function.
=> solved in my eyes

Seems reasonable to me.

Copy link
Contributor

@necouchman necouchman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One more style change request.

@sirux88 sirux88 force-pushed the fullscreen-keyboardlock-Implementation branch from c1e6532 to 57e9fd1 Compare November 8, 2023 14:53
@necouchman necouchman merged commit 8cf8fb5 into apache:master Nov 8, 2023
1 check passed
@sirux88 sirux88 deleted the fullscreen-keyboardlock-Implementation branch November 11, 2023 12:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants