-
-
Notifications
You must be signed in to change notification settings - Fork 4k
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
Adds immersive mode for Samsung Dex #3908
Conversation
- In TerminalEmulator, interpret sixel sequences, and send them to TerminalBuffer for constructing a bitmap. - Sixel sequences may be longer than 8192 characters, so break them in natural places ($,-,#), rather than collecting all in the buffer. - The bitmap is sliced to character cell sized slices, and each the the style attribute is used to store which bitmap slice is displayed in place of this character. - In TerminalRenderer the style is interpreted, and drawn using drawBitmap, instead of drawText. Support iTerm inline image protocol (OSC 1337): - Using the same bitmap display infrastructure introduced for sixels. - Collects the image data outside of the OSC buffer. - Ignoring some parameters. Small emulator changes: - Also eat APC sequences, not echoing to screen. - Fix `CSI 14 t` to give actual size - Add `CSI 16 t` - Add `4` (sixel) to device attributes
Add missing {} that change the logic.
- For iterm2 images - catch the error, and cancel the image. - For sixels - if it happens when resizing the bitmap, than ignore drawing outside of the current image.
- Move working bitmap code (drawing current bitmap) to WorkingTerminalBitmap class. - Move bitmap handling code to TerminalBitmap class.
To avoid removing elements from the map while iterating over it. This should solve the Concurrent Modification Exception in the bitmap garbage collection.
Avoid crash when BitmapFactory cannot decode image
…last column. This creates a zero length text run, so skip it.
Nice |
What would this immersive mode be? Does it hide some components (such as shortcuts footer [CTRL, Pg Up...]) from the interface only when in full screen mode? |
Samsung Dex usually displays a titlw bar across the top of an app (similar to any desktop OS) showing minimise, maximise and close buttons. This PR hides that bar. A similar change has been implemented in Termux-X11 |
Yes, there is indeed something similar to this in X11 (I use it daily), but there it is possible to enable it through the settings. It would be interesting to have something like that here too. From what I understand, it would be a fullscreen mode (F11). Thanks for the clarifications! |
Termux has an immersive flag already, which does a similar thing in normal android mode (hides the system bar) This piggy back on that same flag, as it is the same intention but in different environments |
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.
Ok
I can confirm this works, it just has a lot of merge conflicts because of how there is an old version of #2973 mixed in with the immersive mode. Is that important for this, or should this be separated to be a PR just containing the samsung dex immersive mode by itself? |
No, not important. I added sixel for my own use but must have unintentionally combined the work. |
@robertkirkman I have opened a new PR excluding the sixel merge, and up-to-date with master |
Closed in favour of #4265 |
Hides the top bar when using full screen mode in Samsung Dex