--- rxvt-unicode/src/main.C 2004/12/13 01:29:03 1.119 +++ rxvt-unicode/src/main.C 2005/01/17 00:59:23 1.128 @@ -34,7 +34,8 @@ #include "rxvt.h" /* NECESSARY */ #include "main.intpro" /* PROTOS for internal routines */ -#include +#include +#include #ifdef TTY_GID_SUPPORT # include @@ -44,7 +45,9 @@ # include #endif -#include +#ifdef KEYSYM_RESOURCE +# include "keyboard.h" +#endif vector rxvt_term::termlist; @@ -170,6 +173,13 @@ cmdbuf_ptr = cmdbuf_endp = cmdbuf_base; termlist.push_back (this); + +#ifdef KEYSYM_RESOURCE + keyboard = new keyboard_manager; + + if (!keyboard) + rxvt_fatal ("out of memory, aborting.\n"); +#endif } rxvt_term::~rxvt_term () @@ -261,10 +271,15 @@ free (env_term); free (env_colorfgbg); free (locale); + free (v_buffer); free (incr_buf); delete envv; delete argv; + +#ifdef KEYSYM_RESOURCE + delete keyboard; +#endif } void @@ -332,6 +347,8 @@ { SET_R (this); + set_locale (""); + if (!init_vars ()) return false; @@ -339,7 +356,9 @@ const char **cmd_argv = init_resources (argc, argv); - set_locale (""); +#ifdef KEYSYM_RESOURCE + keyboard->register_done (); +#endif #if MENUBAR_MAX menubar_read (rs[Rs_menu]); @@ -383,6 +402,8 @@ init_command (cmd_argv); + free (cmd_argv); + pty_ev.start (pty.pty, EVENT_READ); check_ev.start (); @@ -783,6 +804,7 @@ TermWin.fontset[0] = fs; prop = (*fs)[1]->properties (); + prop.height += TermWin.lineSpace; fs->set_prop (prop); TermWin.fwidth = prop.width; @@ -861,7 +883,7 @@ { set_string_property (XA_WM_NAME, str); #if ENABLE_FRILLS - set_utf8_property (display->atom ("_NET_WM_NAME"), str); + set_utf8_property (xa[XA_NET_WM_NAME], str); #endif } @@ -870,7 +892,7 @@ { set_string_property (XA_WM_ICON_NAME, str); #if ENABLE_FRILLS - set_utf8_property (display->atom ("_NET_WM_ICON_NAME"), str); + set_utf8_property (xa[XA_NET_WM_ICON_NAME], str); #endif } @@ -999,10 +1021,6 @@ } /*----------------------------------------------------------------------*/ -/* - * Colour determination for low colour displays, routine from - * Hans de Goede - */ int rxvt_term::rXParseAllocColor (rxvt_color *screen_in_out, const char *colour)