Mir

Merge lp://staging/~robertcarr/mir/disable-sequences-and-add-terminate-handler into lp://staging/~mir-team/mir/trunk

Proposed by Robert Carr
Status: Rejected
Rejected by: Robert Carr
Proposed branch: lp://staging/~robertcarr/mir/disable-sequences-and-add-terminate-handler
Merge into: lp://staging/~mir-team/mir/trunk
Diff against target: 278 lines (+118/-3)
9 files modified
examples/demo-shell/demo_shell.cpp (+33/-2)
include/test/mir_test_doubles/null_virtual_terminal.h (+1/-0)
src/server/graphics/gbm/gbm_display.cpp (+1/-0)
src/server/graphics/gbm/gbm_platform.cpp (+14/-0)
src/server/graphics/gbm/linux_virtual_terminal.cpp (+11/-0)
src/server/graphics/gbm/linux_virtual_terminal.h (+2/-0)
src/server/graphics/gbm/virtual_terminal.h (+1/-0)
tests/unit-tests/graphics/gbm/test_gbm_display.cpp (+4/-1)
tests/unit-tests/graphics/gbm/test_linux_virtual_terminal.cpp (+51/-0)
To merge this branch: bzr merge lp://staging/~robertcarr/mir/disable-sequences-and-add-terminate-handler
Reviewer Review Type Date Requested Status
Alan Griffiths Needs Fixing
Alexandros Frantzis (community) Needs Fixing
PS Jenkins bot (community) continuous-integration Approve
Review via email: mp+164014@code.staging.launchpad.net

Commit message

Disable control sequences (ctrl+c, etc...) and add a way to kill mir (demo shell) in lieu of this.

Description of the change

Disable control sequences (ctrl+c, etc...) and add a way to kill mir (demo shell) in lieu of this.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Robert Ancell (robert-ancell) wrote :

The name disable_control_sequences() seems confusing - this is just setting the console into raw mode right? Shouldn't it be called set_raw_mode() or similar?

Is there an easy way for the demo shell to note that it can only be quit using alt+ctrl+backspace? This is likely to confuse people using this.

This change is going to affect all shells, not just the demo shell. It might be worth putting alt+ctrl+backspace into libmirserver by default (at least for now) so other shells also are quittable if we disable input.

Finally, check with Alexandros but I think there was some issues that meant he hadn't enabled raw input yet.

Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

> This change is going to affect all shells, not just the demo shell.
> It might be worth putting alt+ctrl+backspace into libmirserver by default
> (at least for now) so other shells also are quittable if we disable input.

+1, we can put it in run_mir.cpp

> Finally, check with Alexandros but I think there was some issues that meant
> he hadn't enabled raw input yet.

My only concern is that we would disable VT switching key sequences, while we didn't yet have another way to handle them. It seems that the current raw mode options don't affect this, so no problem there.

Plus, I think that the input stack has matured enough to support this (i.e. catching ctrl-alt-f1 and initiating a VT switch), and when we get this we can completely disable VT input (something like ioctl(fd, KDSKBMODE, K_OFF), but I need to experiment), which means that we won't need FOPS::make_raw()/VT::disable_control_sequences() any more, we will just need VT::disable_input().

137 +void mgg::LinuxVirtualTerminal::disable_control_sequences()

We also need to restore the VT input handling state in the LinuxVirtualTerminal destructor, to get back to a sane console after shutdown.

review: Needs Fixing
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

In addition to Alexandros's comments around VT switching there should be some *documentation* to alert users that:

1. Ctrl-C doesn't kill mir_demo_shell
2. How to kill it

review: Needs Fixing

Unmerged revisions

692. By Robert Carr

Correct terminate handler

691. By Robert Carr

Make test pass

690. By Robert Carr

Failing test for disabling control sequences

689. By Robert Carr

Add a disable control sequences interface to VT

688. By Robert Carr

Add a make_raw method to VTFileOperations which disables control sequences

687. By Robert Carr

Allow access to the internal egl native display without usage of a surface.

Approved by PS Jenkins bot, Kevin DuBois.

686. By Robert Ancell

Release version 0.0.3

685. By Alexandros Frantzis

shell: Close all open sessions when destroying the SessionManager

We need to do this manually to break the cyclic dependency between msh::Session
and msh::InputTargetListener, since our implementations of these interfaces
keep strong references to each other. This change fixes LP:#1170643. Fixes: https://bugs.launchpad.net/bugs/1170643.

Approved by Robert Carr, Alan Griffiths, PS Jenkins bot.

684. By Alan Griffiths

Remove MIR_GCC_VERSION variable.

This was useful when the Android SDK wasn't up to date. We're now building
on a full Raring/Saucy image, so we don't want to use a non-default compiler.

Approved by Kevin DuBois, Alexandros Frantzis, PS Jenkins bot.

683. By Chris Halse Rogers

Fix build with g++ 4.8.

Approved by PS Jenkins bot, Robert Carr.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches