All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/8] Add GTK UI to enable basic accessibility (v2)
@ 2012-02-26 23:46 Anthony Liguori
  2012-02-26 23:46 ` [Qemu-devel] [PATCH 1/8] console: allow VCs to be overridden by UI Anthony Liguori
                   ` (11 more replies)
  0 siblings, 12 replies; 38+ messages in thread
From: Anthony Liguori @ 2012-02-26 23:46 UTC (permalink / raw)
  To: qemu-devel; +Cc: Kevin Wolf, Stefan Weil, Alex Graf, Paolo Bonzini

I realize UIs are the third rail of QEMU development, but over the years I've
gotten a lot of feedback from users about our UI.  I think everyone struggles
with the SDL interface and its lack of discoverability but it's worse than I
think most people realize for users that rely on accessibility tools.

The two pieces of feedback I've gotten the most re: accessibility are the lack
of QEMU's enablement for screen readers and the lack of configurable
accelerators.

Since we render our own terminal using a fixed sized font, we don't respect
system font settings which means we ignore if the user has configured large
print.

We also don't integrate at all with screen readers which means that for blind
users, the virtual consoles may as well not even exist.

We also don't allow any type of configuration of accelerators.  For users with
limited dexterity (this is actually more common than you would think), they may
use an input device that only inputs one key at a time.  Holding down two keys
at once is not possible for these users.

These are solved problems though and while we could reinvent all of this
ourselves with SDL, we would be crazy if we did.  Modern toolkits, like GTK,
solve these problems.

By using GTK, we can leverage VteTerminal for screen reader integration and font
configuration.  We can also use GTK's accelerator support to make accelerators
configurable (Gnome provides a global accelerator configuration interface).

I'm not attempting to make a pretty desktop virtualization UI.  Maybe we'll go
there eventually but that's not what this series is about.

This is just attempting to use a richer toolkit such that we can enable basic
accessibility support.  As a consequence, the UI is much more usable even for a
user without accessibility requirements so it's a win-win.

Also available at:

https://github.com/aliguori/qemu/tree/gtk.2

---
v1 -> v2
 - Add internationalization support.  I don't actually speak any other languages
   so I added a placeholder for a German translation.  This can be tested with
   LANGUAGE=de_DE.UTF-8 qemu-system-x86_64
 - Fixed the terminal size for VteTerminal widgets.  I think the behavior makes
   sense now.
 - Fixed lots of issues raised in review comments (see individual patches)

Known Issues:
 - I saw the X crash once.  I think it has to do with widget sizes.  I need to
   work harder to reproduce.
 - I've not recreated the reported memory leak yet.
 - I haven't added backwards compatibility code for older VteTerminal widgets
   yet.

^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2012-03-12 17:13 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-26 23:46 [Qemu-devel] [PATCH 0/8] Add GTK UI to enable basic accessibility (v2) Anthony Liguori
2012-02-26 23:46 ` [Qemu-devel] [PATCH 1/8] console: allow VCs to be overridden by UI Anthony Liguori
2012-02-26 23:46 ` [Qemu-devel] [PATCH 2/8] chr: check to see if front end has registered a read function Anthony Liguori
2012-02-26 23:46 ` [Qemu-devel] [PATCH 3/8] ui: add basic GTK gui (v2) Anthony Liguori
2012-02-26 23:46 ` [Qemu-devel] [PATCH 4/8] gtk: add virtual console support (v2) Anthony Liguori
2012-02-27 10:45   ` Kevin Wolf
2012-02-26 23:46 ` [Qemu-devel] [PATCH 5/8] gtk: add support for input grabbing Anthony Liguori
2012-02-26 23:46 ` [Qemu-devel] [PATCH 6/8] gtk: add support for screen scaling and full screen (v2) Anthony Liguori
2012-02-27 20:10   ` Stefan Weil
2012-02-27 22:01     ` Anthony Liguori
2012-02-28 14:18     ` Kevin Wolf
2012-02-26 23:46 ` [Qemu-devel] [PATCH 7/8] gtk: add translation support Anthony Liguori
2012-02-27  8:32   ` Paolo Bonzini
2012-02-27 13:11     ` Anthony Liguori
2012-02-28 15:10     ` Kevin Wolf
2012-02-27 22:09   ` Stefan Weil
2012-02-26 23:46 ` [Qemu-devel] [PATCH 8/8] gtk: make default UI Anthony Liguori
2012-02-27  7:23 ` [Qemu-devel] [PATCH 0/8] Add GTK UI to enable basic accessibility (v2) malc
2012-02-27  8:21 ` Jan Kiszka
2012-02-27 13:10   ` Anthony Liguori
2012-02-27 13:26     ` Jan Kiszka
2012-02-27 13:33       ` Anthony Liguori
2012-02-27 13:42         ` Jan Kiszka
2012-02-27 13:50           ` Anthony Liguori
2012-02-27 13:54             ` Jan Kiszka
2012-02-27 16:39         ` Gerd Hoffmann
2012-02-27 16:44           ` Anthony Liguori
2012-02-27 16:54             ` Gerd Hoffmann
2012-02-27 14:24 ` Kevin Wolf
2012-02-27 14:39   ` Anthony Liguori
2012-02-27 15:03     ` Kevin Wolf
2012-03-11 17:29 ` Stefan Weil
2012-03-11 18:24   ` François Revol
2012-03-11 18:47     ` Stefan Weil
2012-03-12  2:31     ` Anthony Liguori
2012-03-12 16:39       ` François Revol
2012-03-12 17:13         ` Anthony Liguori
2012-03-12  2:30   ` Anthony Liguori

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.