--- rxvt-unicode/src/main.C 2004/12/20 16:44:31 1.123 +++ rxvt-unicode/src/main.C 2005/01/17 00:59:23 1.128 @@ -35,6 +35,7 @@ #include "main.intpro" /* PROTOS for internal routines */ #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 () @@ -266,6 +276,10 @@ delete envv; delete argv; + +#ifdef KEYSYM_RESOURCE + delete keyboard; +#endif } void @@ -333,6 +347,8 @@ { SET_R (this); + set_locale (""); + if (!init_vars ()) return false; @@ -340,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]); @@ -384,6 +402,8 @@ init_command (cmd_argv); + free (cmd_argv); + pty_ev.start (pty.pty, EVENT_READ); check_ev.start (); @@ -784,6 +804,7 @@ TermWin.fontset[0] = fs; prop = (*fs)[1]->properties (); + prop.height += TermWin.lineSpace; fs->set_prop (prop); TermWin.fwidth = prop.width;