 
 : <irc-channel-tab> ( listener client -- irc-tab )
     <irc-tab>
-    <irc-list> [ <scroller> @right grid-add ] dip >>listmodel
-    [ update-participants ] keep ;
+    <pile> [ <scroller> @right grid-add ] keep >>userlist ;
 
 : <irc-server-tab> ( listener client -- irc-tab )
     <irc-tab> ;
 
 M: irc-tab graft*
-    [ listener>> ] [ client>> ] bi
-    add-listener ;
+    [ listener>> ] [ client>> ] bi add-listener ;
 
 M: irc-tab ungraft*
-    [ listener>> ] [ client>> ] bi
-    remove-listener ;
+    [ listener>> ] [ client>> ] bi remove-listener ;
+
+M: irc-tab pref-dim*
+    drop { 480 480 } ;
 
 : join-channel ( name ui-window -- )
     [ dup <irc-channel-listener> ] dip

       sequences strings hashtables splitting fry assocs hashtables
       ui ui.gadgets ui.gadgets.panes ui.gadgets.editors
       ui.gadgets.scrollers ui.commands ui.gadgets.frames ui.gestures
       ui.gadgets.tabs ui.gadgets.grids ui.gadgets.lists ui.gadgets.labels
       io io.styles namespaces calendar calendar.format models continuations
       irc.client irc.client.private irc.messages irc.messages.private
       irc.ui.commandparser irc.ui.load qualified ;


TUPLE: ui-window client tabs ;

TUPLE: irc-tab < frame listener client userlist ;

: write-color ( str color -- )
    foreground associate format ;
