--- rxvt-unicode/src/main.C 2006/01/22 00:36:59 1.194 +++ rxvt-unicode/src/main.C 2006/01/24 19:40:12 1.199 @@ -476,7 +476,7 @@ scrollBar.setIdle (); /* set existence for size calculations */ #endif - pty = rxvt_new_ptytty (); + pty = ptytty::create (); create_windows (argc, argv); @@ -532,9 +532,6 @@ void sig_term (sig_watcher &w) { -#ifdef DEBUG_CMD - rxvt_warn ("caught signal %d, exiting.\n", w.signum); -#endif rxvt_emergency_cleanup (); signal (w.signum, SIG_DFL); kill (getpid (), w.signum); @@ -552,36 +549,7 @@ void rxvt_init () { - uid_t uid = getuid (); - gid_t gid = getgid (); - - // before doing anything else, check for setuid/setgid operation, - // start the helper process and drop privileges - if (uid != geteuid () - || gid != getegid ()) - { -#if PTYTTY_HELPER - rxvt_ptytty_server (); -#else - rxvt_warn ("running setuid/setgid without pty helper compiled in, continuing unprivileged.\n"); -#endif - - // drop privileges -#if HAVE_SETRESUID - setresgid (gid, gid, gid); - setresuid (uid, uid, uid); -#elif HAVE_SETREUID - setregid (gid, gid); - setreuid (uid, uid); -#elif HAVE_SETUID - setgid (gid); - setuid (uid); -#endif - - if (uid != geteuid () - || gid != getegid ()) - rxvt_fatal ("unable to drop privileges, aborting.\n"); - } + ptytty::init (); rxvt_environ = environ; @@ -651,9 +619,6 @@ unsigned int max_width, max_height; dDisp; - D_SIZE ((stderr, "< Cols/Rows: %3d x %3d ; Width/Height: %4d x %4d", - ncol, nrow, szHint.width, szHint.height)); - szHint.flags = PMinSize | PResizeInc | PBaseSize | PWinGravity; szHint.win_gravity = NorthWestGravity; /* szHint.min_aspect.x = szHint.min_aspect.y = 1; */ @@ -765,10 +730,6 @@ ncol = width / fwidth; nrow = height / fheight; - D_SIZE ((stderr, "> Cols/Rows: %3d x %3d ; Width/Height: %4d x %4d", - ncol, nrow, szHint.width, - szHint.height)); - return; } /*----------------------------------------------------------------------*/ @@ -1062,7 +1023,8 @@ rxvt_term::resize_all_windows (unsigned int newwidth, unsigned int newheight, int ignoreparent) { int fix_screen; - int old_width = szHint.width, old_height = szHint.height; + int old_width = szHint.width; + int old_height = szHint.height; dDisp; window_calc (newwidth, newheight); @@ -1094,9 +1056,9 @@ y -= y1; } - x1 = (DisplayWidth (disp, display->screen) - old_width) / 2; + x1 = (DisplayWidth (disp, display->screen) - old_width ) / 2; y1 = (DisplayHeight (disp, display->screen) - old_height) / 2; - dx = old_width - szHint.width; + dx = old_width - szHint.width; dy = old_height - szHint.height; /* Check position of the center of the window */ @@ -1139,30 +1101,7 @@ } if (fix_screen || old_height == 0) - { - int curr_screen = -1; - int old_ncol = prev_ncol; - - /* scr_reset only works on the primary screen */ - if (old_height) /* this is not the first time through */ - { - unsigned int ocol = ncol; - ncol = prev_ncol; // save b/c scr_blank_screen_mem uses this - curr_screen = scr_change_screen (PRIMARY); - ncol = ocol; - } - - scr_reset (); - - if (curr_screen >= 0) /* this is not the first time through */ - { - scr_change_screen (curr_screen); - selection_check (old_ncol != ncol ? 4 : 0); - } - } - - old_width = szHint.width; - old_height = szHint.height; + scr_reset (); #ifdef XPM_BACKGROUND if (pixmap) @@ -1326,7 +1265,6 @@ if (! ((p = XSetLocaleModifiers (modifiers)) && *p)) return false; - D_MAIN ((stderr, "rxvt_IM_get_IC ()")); input_method = display->get_xim (locale, modifiers); if (input_method == NULL) return false; @@ -1482,10 +1420,12 @@ return false; } + if (!XGetICValues (Input_Context, XNFilterEvents, &vt_emask_xim, NULL)) + vt_select_input (); + if (input_style & XIMPreeditArea) IMSetStatusPosition (); - D_MAIN ((stderr, "rxvt_IM_get_IC () - successful connection")); return true; } @@ -1501,7 +1441,6 @@ im_destroy (); - D_MAIN ((stderr, "rxvt_IMInstantiateCallback ()")); if (Input_Context) return;