HUD
Heads Up Display
For the Ubuntu Unity HUD design (January 2012) allowing access to application menus, see:
Mark Shuttleworth (2012-01-24). Introducing the HUD. Say hello to the future of the menu. Here Be Dragons
Ted Gould (2012-01-24). Searching Menus. TedPage
Olli Ries (2012-01-24). Welcome to the HUD. Olli's random thoughts and impressions
Gold Allott (2012-01-24). HUD. Google Plus
Ubuntu Developers (2012-01-24). Introducing the HUD to Ubuntu (video). YouTube
Barry Collins (2012-01-24). Ubuntu rips up drop-down menus. PC Pro
Steven J. Vaughan-Nichols (2012-01-24). Beyond the desktop: Ubuntu Linux's new Head-Up Display. ZDNet
Joey Sneddon; John Lea (2012-01-24) Meet HUD: Ubuntu’s New Way of Using App Menus in Unity. OMG!Ubuntu
Unity Team, 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
For a previous HUD design from early 2006 see:
Head Up Display (2006)
This is something that places information in front of the user:
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:
- That something needs to be done.
- That something has happened.
"Things that have happened" are done in hardware (by the BIOS). On a ThinkPad these are:
- Needs action: Black, Suspend, Wifi/Bluetooth, Eject, Hibernate, Mute(*)
- 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")
PaulSladen/HUD (last edited 2012-01-25 03:16:31 by p57A2300C)