byobu: CLI status, notifiers, and detailed popups

Registered by Dustin Kirkland 

When I demo'd screen-profiles at the Distro Sprint, sabdfl asked if there was a way to request 'more info' about particular notifications.

For instance, my current screen-profiles session tells me that there are (22!) updates available. Oh yeah? What updates are available? It also says that (@) a reboot is required? Really? How am I supposed to know that (@) = reboot required?

I have in mind a mechanism whereby each of the notifications in screen-profiles would provide the simple, few-characters which are displayed in the status bar. However, each status notification could also provide far more detailed information on demand. When a user wants to know more about some notification in the status bar, they indicated this by using some key binding. screen would then pop open a new window in the window manager, and run that notification with a --details or --verbose option. Each notification would be augmented to provide such data, as makes sense.

The current list of status items include:
 * arch cpu-freq disk-used ip-address mem-available network-down reboot-required updates-available whoami battery date ec2-cost load-average mem-used network-up release uptime wifi-quality cpu-count disk-available hostname logo menu processes time users

What else should we add?

Also, byobu could be taught to handle notify-osd like events, popping open the message in a new window, and perhaps (?) expiring it after some time. Or perhaps keeping a running log of messages (twitter-like?).

:-Dustin

Blueprint information

Status:
Complete
Approver:
Rick Clark
Priority:
Low
Drafter:
Dustin Kirkland 
Direction:
Approved
Assignee:
Dustin Kirkland 
Definition:
Approved
Series goal:
Proposed for karmic
Implementation:
Implemented
Milestone target:
milestone icon karmic-alpha-3
Started by
Dustin Kirkland 
Completed by
Dustin Kirkland 

Related branches

Sprints

Whiteboard

= Status =

Done.

I've added a few more features to Byobu, including an optional way to
configure Byobu to watch your notify-osd logs. I've added some new
status notifications. I've tremendously improved overall performance.
And I've dropped the dpkg-divert on /usr/bin/screen. Now, if a user
types "screen", they get the old-school GNU screen. If a user types
"byobu", they get "byobu". If a user wants to get "byobu" when they
type "screen", they need to `ln -s ~/.byobu/profile ~/.screenrc`

At this point, this spec is done, and any further changes to Byobu
should be incremental improvements and bug fixes.

-- Dustin Kirkland

--------------------------------

Discussion Points:
 * Demo current look/feel/operation
 * New notification brainstorming
 * Support notify-osd?
 * Support user-define custom status items?
 * Detailed status -- how can this be improved? Colors?
 * Support more than 16 colors? Dependencies on screen + term; would look *really* good!
 * Additional keybinding sets; no one has submitted any; some people complain about default F-keys conflicting with (something); worth pursuing? wait for contribution?
 * Internationalization! Let's get this puppy fully internationalized!
-- Dustin Kirkland

 * Adding a temperature status item would be nice. (DONE)
 * As for keybindings, I'd rather use screen's default keybindings, I only use those keybinding:
   bind @ screen -t help 0 byobu-config # C-a @ | byobu-config
   bind R process r # C-a R | Reload configuration
-- أحمد المحمودي (Ahmed El-Mahmoudy)

== UDS Raw Notes ==
 * F9 helper for more intuitive interface.
  * Could use some help in improving the menus.
 * What improvements can be made to the information bar at the bottom.
  * Different colors for each status notification.
  * Unique status notification symbols.
 * Make the logo more like the standard Ubuntu logo if possible.
 * More information available using Vim with folding.
 * One of the most useful features is the tabs.
 * Possible New Features:
  * See information from multiple servers.
  * Add functionality for an admin to extend status notifications.
  * New profile for non-color terminals.
 * May not be as useful for terminals without colors.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.