+ (setq pbutton (make-glyph
+ [button :width 10 :height 2
+ :face modeline-mousable
+ :descriptor "ok" :callback foo
+ :selected t])))
+;; tree view
+(set-extent-begin-glyph
+ (make-extent (point) (point))
+ (setq tree (make-glyph
+ [tree-view :width 10
+ :descriptor "My Tree"
+ :properties (:items (["One" foo]
+ (["Two" foo]
+ ["Four" foo]
+ "Six")
+ "Three"))])))
+
+;; tab control
+(set-extent-begin-glyph
+ (make-extent (point) (point))
+ (setq tab (make-glyph
+ [tab-control :descriptor "My Tab"
+ :face default
+ :properties (:items (["One" foo]
+ ["Two" foo]
+ ["Three" foo]))])))
+
+;; progress gauge
+(set-extent-begin-glyph
+ (make-extent (point) (point))
+ (setq pgauge (make-glyph
+ [progress-gauge :width 10 :height 2
+ :descriptor "ok"])))
+;; progress the progress ...
+(let ((x 0))
+ (while (<= x 100)
+ (set-image-instance-property (glyph-image-instance pgauge) :percent x)
+ (setq x (+ x 5))
+ (sit-for 0.1)))
+
+;; progress gauge in the modeline
+(setq global-mode-string
+ (cons (make-extent nil nil)
+ (setq pg (make-glyph
+ [progress-gauge :width 5 :pixel-height 16
+ :descriptor "ok"]))))
+;; progress the progress ...
+(let ((x 0))
+ (while (<= x 100)
+ (set-image-instance-property (glyph-image-instance pg) :percent x)
+ (setq x (+ x 5))
+ (sit-for 0.1)))
+
+(set-extent-begin-glyph
+ (make-extent (point) (point))
+ (make-glyph
+ [button :face modeline-mousable
+ :descriptor "ok" :callback foo
+ :image (make-glyph
+ [xpm :file "../etc/xemacs-icon.xpm"])]))
+