= Heads Up Display = ''For the '''Ubuntu Unity HUD''' design (January 2012) allowing access to application menus, see:'' * Mark Shuttleworth (2012-01-24). [[http://www.markshuttleworth.com/archives/939|Introducing the HUD. Say hello to the future of the menu.]] ''Here Be Dragons'' * Ted Gould (2012-01-24). [[http://gould.cx/ted/blog/Searching_menus|Searching Menus]]. ''Ted``Page'' * Olli Ries (2012-01-24). [[http://www.olli-ries.com/?p=669|Welcome to the HUD]]. ''Olli's random thoughts and impressions'' * Gold Allott (2012-01-24). [[https://plus.google.com/112811220238447511854/posts/XWYJQhYATdG|HUD]]. ''Google Plus'' * Ubuntu Developers (2012-01-24). [[http://www.youtube.com/watch?v=w_WW-DHqR3c|Introducing the HUD to Ubuntu]] (video). ''YouTube'' * Barry Collins (2012-01-24). [[http://www.pcpro.co.uk/news/372385/ubuntu-rips-up-drop-down-menus|Ubuntu rips up drop-down menus]]. ''PC Pro'' * Steven J. Vaughan-Nichols (2012-01-24). [[http://www.zdnet.com/blog/open-source/beyond-the-desktop-ubuntu-linuxs-new-head-up-display/10204|Beyond the desktop: Ubuntu Linux's new Head-Up Display]]. ''ZDNet'' * Joey Sneddon; John Lea (2012-01-24) [[http://www.omgubuntu.co.uk/2012/01/hud-new-unity-feature/|Meet HUD: Ubuntu’s New Way of Using App Menus in Unity]]. ''OMG!Ubuntu'' * Unity Team, [[https://launchpad.net/~unity-team/+archive/hud|HUD pre-release testing]]. Launchpad PPA, ''Launchpad'' Enable: `sudo add-apt-repository ppa:unity-team/hud ;`<
> `sudo apt-get update && sudo apt-get dist-upgrade` Disable: `sudo apt-get install ppa-purge ;`<
> `sudo ppa-purge ppa:unity-team/hud` Command-line Tools: `sudo apt-get install indicator-appmenu-tools` {{br}} {{br}} {{br}} {{br}} {{br}} ''For a previous HUD design from early 2006 see:'' = Head Up Display (2006) = This is something that places information in front of the user: {{http://www.paul.sladen.org/ubuntu/hud/g-s-d-volume.png}} For GNOME, there is currently some support in `gnome-settings-daemon` (source: `control-center`. For KDE there is some in `kmilo`. == Status: == * `gnome-hud` '''done''' (Python). Listen on D-Bus for `SystemBus()/org/freedesktop/hud.Feedback()` events and displays icon/percentage/text in the middle of the current screen (containing the pointer) for 1200msec. * `hud-send` '''done''' (Python). Sends command-line passed messages over the D-Bus on `SystemBus()/org/freedesktop/hud.Feedback()`. * `/etc/acpi/*.sh` '''20%''' (Shell). Modify existing functions to include `test -x /etc/hud/foo && /etc/hud/foo Paramters` calls. * `/etc/acpi/keycodes/*` '''0%''' (C). Attach to `/dev/input`, provide mapping of normal keyboard keycodes to ACPI events (or HUD events). * `/etc/hud/*` '''20%''' (Shell). Create files. * `/usr/share/gnome-hud/icons/*` '''20%'''. Find suitable approx 48x48 icons. * `/etc/acpi/pmu-brightness-{up,down}` '''0%'''. Copy Framebuffer code from gnome-settings-daemon. (Don't have a way of testing). * `thinkpad-keys` '''0%''' (C). Modify to only send HUD events for ThinkLight and Brightness. Video stretch. * `/etc/acpi/thinkpad-zoom.sh` '''done''' (Shell). Switch through available Xmodes using `xrandr`. * Package `hud`. ''0%''. * Package `gnome-hud`. ''0%''. * Modify `kmilo`. ''0%''. To listen to the D-Bus input. * Disable `gnome-setting-daemon` '''0%'''. Disable currently active `acme` code in `gnome-settings-daemon` (`gnome-control-center`) * `thinkpad-alsa-mute-sync` '''done''' (Python). Synchronize Alsa software mute status to Hardware so they keep in step. (Where to load this from? It requires write access to '/dev/nvram'). == Current: == {{{ ACPI_KEYS Keyboard code thinkpad-keys / other v \______________________/ /etc/acpi/events/* | v v /etc/acpi/* -----> kernel remapping (hotkey-setup) v v /etc/acpi/events/* gnome-settings-daemon (ACTION) v ACTION }}} == With HUD (proposal): == {{{ Keyboard code thinkpad-keys / other \______________________/ v kernel remapping (hotkey-setup) <---. ACPI_KEYS ________v___________ | v / \ | /etc/acpi/events/* keycode hooker ACTION | \_________ _________/ | v | /etc/acpi/* ----------> acpi-fakekey -----------' _______v______ / \ ACTION /etc/hud/* v hud-sent (via D-Bus) v gnome-hud / kmilo-dbus }}} == Notifiactions / Actions / Feedback == Two types of notifications: 1. That something needs to be done. 2. That something has happened. "Things that have happened" are done in hardware (by the BIOS). On a ThinkPad these are: 1. Needs action: Black, Suspend, Wifi/Bluetooth, Eject, Hibernate, Mute(*) 2. Happened: Brightness changed, Thinkpad Light, Video Expand, Volume Change, Mute(*) == HUD Dialogue variations == * Range: * Volume/Mute: On, Off [done, done], Progress Bar (from Alsa mixer) * Brightness: Sun [done], Progress Bar (from ThinkPad `nvram`, or Mac framebuffer) * State: * Thinkpad light: On, Off * Action: * Eject: Eject [done] * Blank: Blank * Suspend: Sleepy * Hibernate: Very Sleepy * Zoom: xrandr video mode * Multi-State: * Video/VGA: (two icons), Internal bright/dark ("TFT"), External bright/dark ("VGA") * Wifi: (two or more icons), Wifi on/off ("eth1"), Bluetooth on/off ("hci0") * Multi-States: * Rotate: Icons: left, right, inverted, normal (Avoid text!) * Videomode: Video ("1024x768", "800x600", "640x480")