Enlightenment CVS committal

Author  : mej
Project : eterm
Module  : Eterm

Dir     : eterm/Eterm/src


Modified Files:
        command.c eterm_debug.h events.c font.c options.c options.h 
        pixmap.c screen.c screen.h scrollbar.c startup.c term.c 
        windows.c 


Log Message:
Sun Aug 24 11:07:54 2003                        Michael Jennings (mej)

I redid the options variables and constants to try and make things
more standardized, and to make room for future toggles as well.  This
should make David Lloyd a bit happier, 'cause now we can get his patch
in here. :)

Hopefully I didn't break anything....

===================================================================
RCS file: /cvsroot/enlightenment/eterm/Eterm/src/command.c,v
retrieving revision 1.97
retrieving revision 1.98
diff -u -3 -r1.97 -r1.98
--- command.c   22 Aug 2003 03:52:01 -0000      1.97
+++ command.c   24 Aug 2003 15:09:32 -0000      1.98
@@ -34,7 +34,7 @@
  * he guarantee anything whatsoever.
  *----------------------------------------------------------------------*/
 
-static const char cvs_ident[] = "$Id: command.c,v 1.97 2003/08/22 03:52:01 mej Exp $";
+static const char cvs_ident[] = "$Id: command.c,v 1.98 2003/08/24 15:09:32 mej Exp $";
 
 /* includes: */
 #include "config.h"
@@ -1050,7 +1050,7 @@
             || ((pid == -1) && (errno == ECHILD))
             || ((pid == 0) && ((kill(cmd_pid, 0)) < 0)))) {
         cmd_pid = -1;
-        if (eterm_options & OPT_PAUSE) {
+        if (BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_PAUSE)) {
             paused = 1;
             return;
         }
@@ -1850,13 +1850,14 @@
 static void
 xim_get_area(XRectangle * preedit_rect, XRectangle * status_rect, XRectangle * 
needed_rect)
 {
-    preedit_rect->x = needed_rect->width + (scrollbar_is_visible() && !(eterm_options 
& OPT_SCROLLBAR_RIGHT) ? (scrollbar_trough_width()) : 0);
+    preedit_rect->x = needed_rect->width + (scrollbar_is_visible() && 
!(BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_SCROLLBAR_RIGHT))
+                                            ? (scrollbar_trough_width()) : (0));
     preedit_rect->y = Height2Pixel(TERM_WINDOW_GET_ROWS() - 1);
 
-    preedit_rect->width = Width2Pixel(TERM_WINDOW_GET_COLS() + 1) - 
needed_rect->width + (!(eterm_options & OPT_SCROLLBAR_RIGHT) ? 
(scrollbar_trough_width()) : 0);
+    preedit_rect->width = Width2Pixel(TERM_WINDOW_GET_COLS() + 1) - 
needed_rect->width + (!(BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_SCROLLBAR_RIGHT)) 
? (scrollbar_trough_width()) : 0);
     preedit_rect->height = Height2Pixel(1);
 
-    status_rect->x = (scrollbar_is_visible() && !(eterm_options & 
OPT_SCROLLBAR_RIGHT)) ? (scrollbar_trough_width()) : 0;
+    status_rect->x = (scrollbar_is_visible() && !(BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_SCROLLBAR_RIGHT))) ? (scrollbar_trough_width()) : 0;
     status_rect->y = Height2Pixel(TERM_WINDOW_GET_ROWS() - 1);
 
     status_rect->width = needed_rect->width ? needed_rect->width : 
Width2Pixel(TERM_WINDOW_GET_COLS() + 1);
@@ -2190,7 +2191,7 @@
         tt_winsize(0);
 
         /* become virtual console, fail silently */
-        if (eterm_options & OPT_CONSOLE) {
+        if (BITFIELD_IS_SET(vt_options, VT_OPTIONS_CONSOLE)) {
             int fd = 1;
 
             privileges(INVOKE);
@@ -2255,7 +2256,7 @@
                 shell = "/bin/sh";
 
             argv0 = my_basename(shell);
-            if (eterm_options & OPT_LOGIN_SHELL) {
+            if (BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_LOGIN_SHELL)) {
                 char *p = MALLOC(strlen(argv0) + 2);
 
                 p[0] = '-';
@@ -2270,7 +2271,7 @@
     }
 #ifdef UTMP_SUPPORT
     privileges(RESTORE);
-    if (eterm_options & OPT_WRITE_UTMP) {
+    if (BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_WRITE_UTMP)) {
         add_utmp_entry(ttydev, display_name, ptyfd);
     }
     privileges(IGNORE);
@@ -2985,7 +2986,7 @@
     init_locale();
 
 #ifdef META8_OPTION
-    meta_char = (eterm_options & OPT_META8 ? 0x80 : 033);
+    meta_char = (BITFIELD_IS_SET(vt_options, VT_OPTIONS_META8) ? 0x80 : 033);
 #endif
 
 #ifdef GREEK_SUPPORT
@@ -3330,7 +3331,7 @@
                         } else {
                             /* Our file descriptor went bye-bye. */
                             cmd_fd = -1;
-                            if (!paused && (eterm_options & OPT_PAUSE)) {
+                            if (!paused && (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_PAUSE))) {
                                 paused = 1;
                             }
                             break;
@@ -3338,7 +3339,7 @@
                     } else if (n == 0) {
                         /* EOF */
                         cmd_fd = -1;
-                        if (!paused && (eterm_options & OPT_PAUSE)) {
+                        if (!paused && (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_PAUSE))) {
                             paused = 1;
                         }
                         break;
===================================================================
RCS file: /cvsroot/enlightenment/eterm/Eterm/src/eterm_debug.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- eterm_debug.h       22 Aug 2003 04:09:39 -0000      1.10
+++ eterm_debug.h       24 Aug 2003 15:09:32 -0000      1.11
@@ -39,7 +39,7 @@
 #  define DEBUG_UTMP            1
 #  define D_UTMP(x)             DPRINTF1(x)
 #  define DEBUG_OPTIONS         1
-#  define D_OPTIONS(x)    DPRINTF1(x)
+#  define D_OPTIONS(x)          DPRINTF1(x)
 #  define DEBUG_IMLIB           1
 #  define D_IMLIB(x)            DPRINTF1(x)
 #  define DEBUG_PIXMAP          1
===================================================================
RCS file: /cvsroot/enlightenment/eterm/Eterm/src/events.c,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -3 -r1.60 -r1.61
--- events.c    22 Aug 2003 03:52:01 -0000      1.60
+++ events.c    24 Aug 2003 15:09:32 -0000      1.61
@@ -21,7 +21,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-static const char cvs_ident[] = "$Id: events.c,v 1.60 2003/08/22 03:52:01 mej Exp $";
+static const char cvs_ident[] = "$Id: events.c,v 1.61 2003/08/24 15:09:32 mej Exp $";
 
 #include "config.h"
 #include "feature.h"
@@ -208,7 +208,7 @@
     REQUIRE_RVAL(XEVENT_IS_MYWIN(ev, &primary_data), 0);
 
     COUNT_EVENT(keypress_cnt);
-    if (!(eterm_options & OPT_NO_INPUT)) {
+    if (!(BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_NO_INPUT))) {
         lookup_key(ev);
     }
     PROF_DONE(handle_key_press);
@@ -470,8 +470,8 @@
                 redraw_image(image_bg);
             }
         }
-        if (eterm_options & OPT_SCROLLBAR_POPUP) {
-            map_scrollbar(eterm_options & OPT_SCROLLBAR);
+        if (BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_SCROLLBAR_POPUP)) {
+            map_scrollbar(BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_SCROLLBAR));
         } else {
             scrollbar_set_focus(TermWin.focus);
             scrollbar_draw(IMAGE_STATE_NORMAL, MODE_SOLID);
@@ -498,7 +498,7 @@
             images[image_bg].current = images[image_bg].disabled;
             redraw_image(image_bg);
         }
-        if (eterm_options & OPT_SCROLLBAR_POPUP) {
+        if (BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_SCROLLBAR_POPUP)) {
             map_scrollbar(0);
         } else {
             scrollbar_set_focus(TermWin.focus);
===================================================================
RCS file: /cvsroot/enlightenment/eterm/Eterm/src/font.c,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -3 -r1.41 -r1.42
--- font.c      22 Aug 2003 03:52:01 -0000      1.41
+++ font.c      24 Aug 2003 15:09:32 -0000      1.42
@@ -21,7 +21,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-static const char cvs_ident[] = "$Id: font.c,v 1.41 2003/08/22 03:52:01 mej Exp $";
+static const char cvs_ident[] = "$Id: font.c,v 1.42 2003/08/24 15:09:32 mej Exp $";
 
 #include "config.h"
 #include "feature.h"
@@ -588,7 +588,7 @@
         TermWin.fprop = 1;      /* Proportional font */
 
     /* For proportional fonts with large size variations, do some math-fu to try and 
help the appearance */
-    if (TermWin.fprop && (eterm_options & OPT_PROPORTIONAL) && TermWin.font->per_char 
&& (TermWin.font->max_bounds.width - TermWin.font->min_bounds.width >= 3)) {
+    if (TermWin.fprop && (BITFIELD_IS_SET(vt_options, VT_OPTIONS_PROPORTIONAL)) && 
TermWin.font->per_char && (TermWin.font->max_bounds.width - 
TermWin.font->min_bounds.width >= 3)) {
         int cw, n = 0, sum = 0, sumsq = 0, min_w, max_w;
         unsigned int i;
         double dev;
===================================================================
RCS file: /cvsroot/enlightenment/eterm/Eterm/src/options.c,v
retrieving revision 1.127
retrieving revision 1.128
diff -u -3 -r1.127 -r1.128
--- options.c   22 Aug 2003 04:09:39 -0000      1.127
+++ options.c   24 Aug 2003 15:09:32 -0000      1.128
@@ -21,7 +21,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-static const char cvs_ident[] = "$Id: options.c,v 1.127 2003/08/22 04:09:39 mej Exp 
$";
+static const char cvs_ident[] = "$Id: options.c,v 1.128 2003/08/24 15:09:32 mej Exp 
$";
 
 #include "config.h"
 #include "feature.h"
@@ -96,7 +96,9 @@
 static char *rs_greek_keyboard = NULL;
 #endif
 
-unsigned long eterm_options = (OPT_SCROLLBAR | OPT_SELECT_TRAILING_SPACES | 
OPT_SECONDARY_SCREEN), image_toggles = 0;
+unsigned long eterm_options = (ETERM_OPTIONS_SCROLLBAR | 
ETERM_OPTIONS_SELECT_TRAILING_SPACES);
+unsigned long vt_options = (VT_OPTIONS_SECONDARY_SCREEN);
+unsigned long image_options = 0;
 char *theme_dir = NULL, *user_dir = NULL;
 char **rs_exec_args = NULL;     /* Args to exec (-e or --exec) */
 char *rs_title = NULL;          /* Window title */
@@ -176,13 +178,13 @@
 #else
     SPIFOPT_INT_LONG_PP("debug", "level of debugging information to show (0-5)", 
DEBUG_LEVEL),
 #endif
-    SPIFOPT_BOOL_LONG_PP("install", "install a private colormap", eterm_options, 
OPT_INSTALL),
+    SPIFOPT_BOOL_LONG_PP("install", "install a private colormap", eterm_options, 
ETERM_OPTIONS_INSTALL),
 
     SPIFOPT_ABST_PP('h', "help", "display usage information", usage),
     SPIFOPT_ABST_LONG_PP("version", "display version and configuration information", 
version),
 
 /* =======[ Color options ]======= */
-    SPIFOPT_BOOL('r', "reverse-video", "reverse video", eterm_options, 
OPT_REVERSE_VIDEO),
+    SPIFOPT_BOOL('r', "reverse-video", "reverse video", vt_options, 
VT_OPTIONS_REVERSE_VIDEO),
     SPIFOPT_STR('b', "background-color", "background color", rs_color[bgColor]),
     SPIFOPT_STR('f', "foreground-color", "foreground color", rs_color[fgColor]),
     SPIFOPT_STR_LONG("color0", "color 0", rs_color[minColor]),
@@ -215,7 +217,7 @@
 
     /* =======[ X11 options ]======= */
     SPIFOPT_STR('g', "geometry", "WxH+X+Y = size and position", rs_geometry),
-    SPIFOPT_BOOL('i', "iconic", "start iconified", eterm_options, OPT_ICONIC),
+    SPIFOPT_BOOL('i', "iconic", "start iconified", eterm_options, 
ETERM_OPTIONS_ICONIC),
     SPIFOPT_STR('n', "name", "client instance, icon, and title strings", rs_name),
     SPIFOPT_STR('T', "title", "title string", rs_title),
     SPIFOPT_STR_LONG("icon-name", "icon name", rs_iconName),
@@ -232,7 +234,7 @@
     SPIFOPT_STR_LONG("font2", "font 2", rs_font[2]),
     SPIFOPT_STR_LONG("font3", "font 3", rs_font[3]),
     SPIFOPT_STR_LONG("font4", "font 4", rs_font[4]),
-    SPIFOPT_BOOL_LONG("proportional", "toggle proportional font optimizations", 
eterm_options, OPT_PROPORTIONAL),
+    SPIFOPT_BOOL_LONG("proportional", "toggle proportional font optimizations", 
vt_options, VT_OPTIONS_PROPORTIONAL),
     SPIFOPT_STR_LONG("font-fx", "specify font effects for the terminal fonts", 
rs_font_effects),
 
     /* =======[ Pixmap options ]======= */
@@ -244,9 +246,9 @@
     SPIFOPT_STR_LONG("trough-pixmap", "scrollbar background (trough) pixmap", 
rs_pixmaps[image_sb]),
     SPIFOPT_STR_LONG("anchor-pixmap", "scrollbar anchor pixmap", 
rs_pixmaps[image_sa]),
     SPIFOPT_STR_LONG("menu-pixmap", "menu pixmap", rs_pixmaps[image_menu]),
-    SPIFOPT_BOOL('O', "trans", "creates a pseudo-transparent Eterm", image_toggles, 
IMOPT_TRANS),
-    SPIFOPT_BOOL('0', "itrans", "use immotile-optimized transparency", image_toggles, 
IMOPT_ITRANS),
-    SPIFOPT_BOOL_LONG("viewport-mode", "use viewport mode for the background image", 
image_toggles, IMOPT_VIEWPORT),
+    SPIFOPT_BOOL('O', "trans", "creates a pseudo-transparent Eterm", image_options, 
IMAGE_OPTIONS_TRANS),
+    SPIFOPT_BOOL('0', "itrans", "use immotile-optimized transparency", image_options, 
IMAGE_OPTIONS_ITRANS),
+    SPIFOPT_BOOL_LONG("viewport-mode", "use viewport mode for the background image", 
image_options, IMAGE_OPTIONS_VIEWPORT),
     SPIFOPT_INT_LONG("shade", "old-style shade percentage (deprecated)", rs_shade),
     SPIFOPT_STR_LONG("tint", "old-style tint mask (deprecated)", rs_tint),
     SPIFOPT_STR_LONG("cmod", "image color modifier (\"brightness contrast gamma\")", 
rs_cmod_image),
@@ -275,35 +277,35 @@
 #endif
 
     /* =======[ Toggles ]======= */
-    SPIFOPT_BOOL('l', "login-shell", "login shell, prepend - to shell name", 
eterm_options, OPT_LOGIN_SHELL),
-    SPIFOPT_BOOL('s', "scrollbar", "display scrollbar", eterm_options, OPT_SCROLLBAR),
-    SPIFOPT_BOOL('u', "utmp-logging", "make a utmp entry", eterm_options, 
OPT_WRITE_UTMP),
-    SPIFOPT_BOOL('v', "visual-bell", "visual bell", eterm_options, OPT_VISUAL_BELL),
-    SPIFOPT_BOOL('H', "home-on-output", "jump to bottom on output", eterm_options, 
OPT_HOME_ON_OUTPUT),
-    SPIFOPT_BOOL_LONG("home-on-input", "jump to bottom on input", eterm_options, 
OPT_HOME_ON_INPUT),
-    SPIFOPT_BOOL('q', "no-input", "configure for output only", eterm_options, 
OPT_NO_INPUT),
-    SPIFOPT_BOOL_LONG("scrollbar-right", "display the scrollbar on the right", 
eterm_options, OPT_SCROLLBAR_RIGHT),
-    SPIFOPT_BOOL_LONG("scrollbar-floating", "display the scrollbar with no trough", 
eterm_options, OPT_SCROLLBAR_FLOATING),
-    SPIFOPT_BOOL_LONG("scrollbar-popup", "popup the scrollbar only when focused", 
eterm_options, OPT_SCROLLBAR_POPUP),
-    SPIFOPT_BOOL('x', "borderless", "force Eterm to have no borders", eterm_options, 
OPT_BORDERLESS),
+    SPIFOPT_BOOL('l', "login-shell", "login shell, prepend - to shell name", 
eterm_options, ETERM_OPTIONS_LOGIN_SHELL),
+    SPIFOPT_BOOL('s', "scrollbar", "display scrollbar", eterm_options, 
ETERM_OPTIONS_SCROLLBAR),
+    SPIFOPT_BOOL('u', "utmp-logging", "make a utmp entry", eterm_options, 
ETERM_OPTIONS_WRITE_UTMP),
+    SPIFOPT_BOOL('v', "visual-bell", "visual bell", vt_options, 
VT_OPTIONS_VISUAL_BELL),
+    SPIFOPT_BOOL('H', "home-on-output", "jump to bottom on output", vt_options, 
VT_OPTIONS_HOME_ON_OUTPUT),
+    SPIFOPT_BOOL_LONG("home-on-input", "jump to bottom on input", vt_options, 
VT_OPTIONS_HOME_ON_INPUT),
+    SPIFOPT_BOOL('q', "no-input", "configure for output only", eterm_options, 
ETERM_OPTIONS_NO_INPUT),
+    SPIFOPT_BOOL_LONG("scrollbar-right", "display the scrollbar on the right", 
eterm_options, ETERM_OPTIONS_SCROLLBAR_RIGHT),
+    SPIFOPT_BOOL_LONG("scrollbar-floating", "display the scrollbar with no trough", 
eterm_options, ETERM_OPTIONS_SCROLLBAR_FLOATING),
+    SPIFOPT_BOOL_LONG("scrollbar-popup", "popup the scrollbar only when focused", 
eterm_options, ETERM_OPTIONS_SCROLLBAR_POPUP),
+    SPIFOPT_BOOL('x', "borderless", "force Eterm to have no borders", eterm_options, 
ETERM_OPTIONS_BORDERLESS),
 #ifndef NO_MAPALERT
 # ifdef MAPALERT_OPTION
-    SPIFOPT_BOOL('m', "map-alert", "uniconify on beep", eterm_options, OPT_MAP_ALERT),
+    SPIFOPT_BOOL('m', "map-alert", "uniconify on beep", vt_options, 
VT_OPTIONS_MAP_ALERT),
 # endif
 #endif
 #ifdef META8_OPTION
-    SPIFOPT_BOOL('8', "meta-8", "Meta key toggles 8-bit", eterm_options, OPT_META8),
+    SPIFOPT_BOOL('8', "meta-8", "Meta key toggles 8-bit", vt_options, 
VT_OPTIONS_META8),
 #endif
-    SPIFOPT_BOOL_LONG("double-buffer", "reduce exposes using double-buffering (and 
more memory)", eterm_options, OPT_DOUBLE_BUFFER),
-    SPIFOPT_BOOL_LONG("no-cursor", "disable the text cursor", eterm_options, 
OPT_NO_CURSOR),
-    SPIFOPT_BOOL_LONG("pause", "pause after the child process exits", eterm_options, 
OPT_PAUSE),
-    SPIFOPT_BOOL_LONG("xterm-select", "duplicate xterm's selection behavior", 
eterm_options, OPT_XTERM_SELECT),
-    SPIFOPT_BOOL_LONG("select-line", "triple-click selects whole line", 
eterm_options, OPT_SELECT_WHOLE_LINE),
-    SPIFOPT_BOOL_LONG("select-trailing-spaces", "do not skip trailing spaces when 
selecting", eterm_options, OPT_SELECT_TRAILING_SPACES),
-    SPIFOPT_BOOL_LONG("report-as-keysyms", "report special keys as keysyms", 
eterm_options, OPT_REPORT_AS_KEYSYMS),
+    SPIFOPT_BOOL_LONG("double-buffer", "reduce exposes using double-buffering (and 
more memory)", eterm_options, ETERM_OPTIONS_DOUBLE_BUFFER),
+    SPIFOPT_BOOL_LONG("no-cursor", "disable the text cursor", eterm_options, 
ETERM_OPTIONS_NO_CURSOR),
+    SPIFOPT_BOOL_LONG("pause", "pause after the child process exits", eterm_options, 
ETERM_OPTIONS_PAUSE),
+    SPIFOPT_BOOL_LONG("xterm-select", "duplicate xterm's selection behavior", 
eterm_options, ETERM_OPTIONS_XTERM_SELECT),
+    SPIFOPT_BOOL_LONG("select-line", "triple-click selects whole line", 
eterm_options, ETERM_OPTIONS_SELECT_WHOLE_LINE),
+    SPIFOPT_BOOL_LONG("select-trailing-spaces", "do not skip trailing spaces when 
selecting", eterm_options, ETERM_OPTIONS_SELECT_TRAILING_SPACES),
+    SPIFOPT_BOOL_LONG("report-as-keysyms", "report special keys as keysyms", 
vt_options, VT_OPTIONS_REPORT_AS_KEYSYMS),
     SPIFOPT_BOOL_LONG("buttonbar", "toggle the display of all buttonbars", 
rs_buttonbars, BBAR_FORCE_TOGGLE),
-    SPIFOPT_BOOL_LONG("resize-gravity", "toggle gravitation to nearest corner on 
resize", eterm_options, OPT_RESIZE_GRAVITY),
-    SPIFOPT_BOOL_LONG("secondary-screen", "toggle use of secondary screen", 
eterm_options, OPT_SECONDARY_SCREEN),
+    SPIFOPT_BOOL_LONG("resize-gravity", "toggle gravitation to nearest corner on 
resize", eterm_options, ETERM_OPTIONS_RESIZE_GRAVITY),
+    SPIFOPT_BOOL_LONG("secondary-screen", "toggle use of secondary screen", 
vt_options, VT_OPTIONS_SECONDARY_SCREEN),
 
 /* =======[ Keyboard options ]======= */
 #if defined (HOTKEY_CTRL) || defined (HOTKEY_META)
@@ -341,7 +343,7 @@
     SPIFOPT_INT('z', "delay", "initial delay in seconds", rs_delay),
 #endif
     SPIFOPT_ABST('a', "attribute", "parse an attribute in the specified context", 
handle_attribute),
-    SPIFOPT_BOOL('C', "console", "grab console messages", eterm_options, OPT_CONSOLE),
+    SPIFOPT_BOOL('C', "console", "grab console messages", vt_options, 
VT_OPTIONS_CONSOLE),
     SPIFOPT_ARGS('e', "exec", "execute a command rather than a shell", rs_exec_args)
 };
 
@@ -845,7 +847,7 @@
         char *tmp = get_pword(2, buff);
 
         if (!BEG_STRCASECMP(tmp, "reverse")) {
-            eterm_options |= OPT_REVERSE_VIDEO;
+            BITFIELD_SET(vt_options, VT_OPTIONS_REVERSE_VIDEO);
         } else if (BEG_STRCASECMP(tmp, "normal")) {
             print_error("Parse error in file %s, line %lu:  Invalid value \"%s\" for 
attribute video\n",
                         file_peek_path(), file_peek_line(), tmp);
@@ -994,9 +996,9 @@
         } else if (!BEG_STRCASECMP(tmp, "prop")) {
             tmp = get_pword(2, tmp);
             if (BOOL_OPT_ISTRUE(tmp)) {
-                eterm_options |= OPT_PROPORTIONAL;
+                BITFIELD_SET(vt_options, VT_OPTIONS_PROPORTIONAL);
             } else if (BOOL_OPT_ISFALSE(tmp)) {
-                eterm_options &= ~(OPT_PROPORTIONAL);
+                BITFIELD_CLEAR(vt_options, VT_OPTIONS_PROPORTIONAL);
             } else {
                 print_error("Parse error in file %s, line %lu:  Invalid/missing 
boolean value for attribute proportional\n",
                             file_peek_path(), file_peek_line());
@@ -1057,9 +1059,9 @@
     if (!BEG_STRCASECMP(buff, "map_alert ")) {
 #if !defined(NO_MAPALERT) && defined(MAPALERT_OPTION)
         if (bool_val) {
-            eterm_options |= OPT_MAP_ALERT;
+            BITFIELD_SET(vt_options, VT_OPTIONS_MAP_ALERT);
         } else {
-            eterm_options &= ~(OPT_MAP_ALERT);
+            BITFIELD_CLEAR(vt_options, VT_OPTIONS_MAP_ALERT);
         }
 #else
         print_warning("Support for the map_alert attribute was not compiled in, 
ignoring\n");
@@ -1067,29 +1069,29 @@
 
     } else if (!BEG_STRCASECMP(buff, "visual_bell ")) {
         if (bool_val) {
-            eterm_options |= OPT_VISUAL_BELL;
+            BITFIELD_SET(vt_options, VT_OPTIONS_VISUAL_BELL);
         } else {
-            eterm_options &= ~(OPT_VISUAL_BELL);
+            BITFIELD_CLEAR(vt_options, VT_OPTIONS_VISUAL_BELL);
         }
     } else if (!BEG_STRCASECMP(buff, "login_shell ")) {
         if (bool_val) {
-            eterm_options |= OPT_LOGIN_SHELL;
+            BITFIELD_SET(eterm_options, ETERM_OPTIONS_LOGIN_SHELL);
         } else {
-            eterm_options &= ~(OPT_LOGIN_SHELL);
+            BITFIELD_CLEAR(eterm_options, ETERM_OPTIONS_LOGIN_SHELL);
         }
     } else if (!BEG_STRCASECMP(buff, "scrollbar ")) {
         if (bool_val) {
-            eterm_options |= OPT_SCROLLBAR;
+            BITFIELD_SET(eterm_options, ETERM_OPTIONS_SCROLLBAR);
         } else {
-            eterm_options &= ~(OPT_SCROLLBAR);
+            BITFIELD_CLEAR(eterm_options, ETERM_OPTIONS_SCROLLBAR);
         }
 
     } else if (!BEG_STRCASECMP(buff, "utmp_logging ")) {
 #ifdef UTMP_SUPPORT
         if (bool_val) {
-            eterm_options |= OPT_WRITE_UTMP;
+            BITFIELD_SET(eterm_options, ETERM_OPTIONS_WRITE_UTMP);
         } else {
-            eterm_options &= ~(OPT_WRITE_UTMP);
+            BITFIELD_CLEAR(eterm_options, ETERM_OPTIONS_WRITE_UTMP);
         }
 #else
         print_warning("Support for the utmp_logging attribute was not compiled in, 
ignoring\n");
@@ -1098,9 +1100,9 @@
     } else if (!BEG_STRCASECMP(buff, "meta8 ")) {
 #ifdef META8_OPTION
         if (bool_val) {
-            eterm_options |= OPT_META8;
+            BITFIELD_SET(vt_options, VT_OPTIONS_META8);
         } else {
-            eterm_options &= ~(OPT_META8);
+            BITFIELD_CLEAR(vt_options, VT_OPTIONS_META8);
         }
 #else
         print_warning("Support for the meta8 attribute was not compiled in, 
ignoring\n");
@@ -1108,118 +1110,118 @@
 
     } else if (!BEG_STRCASECMP(buff, "iconic ")) {
         if (bool_val) {
-            eterm_options |= OPT_ICONIC;
+            BITFIELD_SET(eterm_options, ETERM_OPTIONS_ICONIC);
         } else {
-            eterm_options &= ~(OPT_ICONIC);
+            BITFIELD_CLEAR(eterm_options, ETERM_OPTIONS_ICONIC);
         }
 
     } else if (!BEG_STRCASECMP(buff, "home_on_output ")) {
         if (bool_val) {
-            eterm_options |= OPT_HOME_ON_OUTPUT;
+            BITFIELD_SET(vt_options, VT_OPTIONS_HOME_ON_OUTPUT);
         } else {
-            eterm_options &= ~(OPT_HOME_ON_OUTPUT);
+            BITFIELD_CLEAR(vt_options, VT_OPTIONS_HOME_ON_OUTPUT);
         }
 
     } else if (!BEG_STRCASECMP(buff, "home_on_input ")) {
         if (bool_val) {
-            eterm_options |= OPT_HOME_ON_INPUT;
+            BITFIELD_SET(vt_options, VT_OPTIONS_HOME_ON_INPUT);
         } else {
-            eterm_options &= ~(OPT_HOME_ON_INPUT);
+            BITFIELD_CLEAR(vt_options, VT_OPTIONS_HOME_ON_INPUT);
         }
 
     } else if (!BEG_STRCASECMP(buff, "no_input ")) {
         if (bool_val) {
-            eterm_options |= OPT_NO_INPUT;
+            BITFIELD_SET(eterm_options, ETERM_OPTIONS_NO_INPUT);
         } else {
-            eterm_options &= ~(OPT_NO_INPUT);
+            BITFIELD_CLEAR(eterm_options, ETERM_OPTIONS_NO_INPUT);
         }
 
     } else if (!BEG_STRCASECMP(buff, "scrollbar_floating ")) {
         if (bool_val) {
-            eterm_options |= OPT_SCROLLBAR_FLOATING;
+            BITFIELD_SET(eterm_options, ETERM_OPTIONS_SCROLLBAR_FLOATING);
         } else {
-            eterm_options &= ~(OPT_SCROLLBAR_FLOATING);
+            BITFIELD_CLEAR(eterm_options, ETERM_OPTIONS_SCROLLBAR_FLOATING);
         }
 
     } else if (!BEG_STRCASECMP(buff, "scrollbar_right ")) {
         if (bool_val) {
-            eterm_options |= OPT_SCROLLBAR_RIGHT;
+            BITFIELD_SET(eterm_options, ETERM_OPTIONS_SCROLLBAR_RIGHT);
         } else {
-            eterm_options &= ~(OPT_SCROLLBAR_RIGHT);
+            BITFIELD_CLEAR(eterm_options, ETERM_OPTIONS_SCROLLBAR_RIGHT);
         }
     } else if (!BEG_STRCASECMP(buff, "scrollbar_popup ")) {
         if (bool_val) {
-            eterm_options |= OPT_SCROLLBAR_POPUP;
+            BITFIELD_SET(eterm_options, ETERM_OPTIONS_SCROLLBAR_POPUP);
         } else {
-            eterm_options &= ~(OPT_SCROLLBAR_POPUP);
+            BITFIELD_CLEAR(eterm_options, ETERM_OPTIONS_SCROLLBAR_POPUP);
         }
     } else if (!BEG_STRCASECMP(buff, "borderless ")) {
         if (bool_val) {
-            eterm_options |= OPT_BORDERLESS;
+            BITFIELD_SET(eterm_options, ETERM_OPTIONS_BORDERLESS);
         } else {
-            eterm_options &= ~(OPT_BORDERLESS);
+            BITFIELD_CLEAR(eterm_options, ETERM_OPTIONS_BORDERLESS);
         }
     } else if (!BEG_STRCASECMP(buff, "double_buffer ")) {
         if (bool_val) {
-            eterm_options |= OPT_DOUBLE_BUFFER;
+            BITFIELD_SET(eterm_options, ETERM_OPTIONS_DOUBLE_BUFFER);
         } else {
-            eterm_options &= ~(OPT_DOUBLE_BUFFER);
+            BITFIELD_CLEAR(eterm_options, ETERM_OPTIONS_DOUBLE_BUFFER);
         }
 
     } else if (!BEG_STRCASECMP(buff, "no_cursor ")) {
         if (bool_val) {
-            eterm_options |= OPT_NO_CURSOR;
+            BITFIELD_SET(eterm_options, ETERM_OPTIONS_NO_CURSOR);
         } else {
-            eterm_options &= ~(OPT_NO_CURSOR);
+            BITFIELD_CLEAR(eterm_options, ETERM_OPTIONS_NO_CURSOR);
         }
 
     } else if (!BEG_STRCASECMP(buff, "pause ")) {
         if (bool_val) {
-            eterm_options |= OPT_PAUSE;
+            BITFIELD_SET(eterm_options, ETERM_OPTIONS_PAUSE);
         } else {
-            eterm_options &= ~(OPT_PAUSE);
+            BITFIELD_CLEAR(eterm_options, ETERM_OPTIONS_PAUSE);
         }
 
     } else if (!BEG_STRCASECMP(buff, "xterm_select ")) {
         if (bool_val) {
-            eterm_options |= OPT_XTERM_SELECT;
+            BITFIELD_SET(eterm_options, ETERM_OPTIONS_XTERM_SELECT);
         } else {
-            eterm_options &= ~(OPT_XTERM_SELECT);
+            BITFIELD_CLEAR(eterm_options, ETERM_OPTIONS_XTERM_SELECT);
         }
 
     } else if (!BEG_STRCASECMP(buff, "select_line ")) {
         if (bool_val) {
-            eterm_options |= OPT_SELECT_WHOLE_LINE;
+            BITFIELD_SET(eterm_options, ETERM_OPTIONS_SELECT_WHOLE_LINE);
         } else {
-            eterm_options &= ~(OPT_SELECT_WHOLE_LINE);
+            BITFIELD_CLEAR(eterm_options, ETERM_OPTIONS_SELECT_WHOLE_LINE);
         }
 
     } else if (!BEG_STRCASECMP(buff, "select_trailing_spaces ")) {
         if (bool_val) {
-            eterm_options |= OPT_SELECT_TRAILING_SPACES;
+            BITFIELD_SET(eterm_options, ETERM_OPTIONS_SELECT_TRAILING_SPACES);
         } else {
-            eterm_options &= ~(OPT_SELECT_TRAILING_SPACES);
+            BITFIELD_CLEAR(eterm_options, ETERM_OPTIONS_SELECT_TRAILING_SPACES);
         }
 
     } else if (!BEG_STRCASECMP(buff, "report_as_keysyms ")) {
         if (bool_val) {
-            eterm_options |= OPT_REPORT_AS_KEYSYMS;
+            BITFIELD_SET(vt_options, VT_OPTIONS_REPORT_AS_KEYSYMS);
         } else {
-            eterm_options &= ~(OPT_REPORT_AS_KEYSYMS);
+            BITFIELD_CLEAR(vt_options, VT_OPTIONS_REPORT_AS_KEYSYMS);
         }
 
     } else if (!BEG_STRCASECMP(buff, "mbyte_cursor ")) {
         if (bool_val) {
-            eterm_options |= OPT_MBYTE_CURSOR;
+            BITFIELD_SET(eterm_options, ETERM_OPTIONS_MBYTE_CURSOR);
         } else {
-            eterm_options &= ~(OPT_MBYTE_CURSOR);
+            BITFIELD_CLEAR(eterm_options, ETERM_OPTIONS_MBYTE_CURSOR);
         }
 
     } else if (!BEG_STRCASECMP(buff, "itrans ") || !BEG_STRCASECMP(buff, 
"immotile_trans ")) {
         if (bool_val) {
-            image_toggles |= IMOPT_ITRANS;
+            BITFIELD_SET(image_options, IMAGE_OPTIONS_ITRANS);
         } else {
-            image_toggles &= ~IMOPT_ITRANS;
+            BITFIELD_CLEAR(image_options, IMAGE_OPTIONS_ITRANS);
         }
 
     } else if (!BEG_STRCASECMP(buff, "buttonbar")) {
@@ -1233,9 +1235,9 @@
 
     } else if (!BEG_STRCASECMP(buff, "resize_gravity")) {
         if (bool_val) {
-            eterm_options |= OPT_RESIZE_GRAVITY;
+            BITFIELD_SET(eterm_options, ETERM_OPTIONS_RESIZE_GRAVITY);
         } else {
-            eterm_options &= ~(OPT_RESIZE_GRAVITY);
+            BITFIELD_CLEAR(eterm_options, ETERM_OPTIONS_RESIZE_GRAVITY);
         }
     } else {
         print_error("Parse error in file %s, line %lu:  Attribute \"%s\" is not valid 
within context toggles\n", file_peek_path(),
@@ -2581,7 +2583,7 @@
     }
     /* no point having a scrollbar without having any scrollback! */
     if (!TermWin.saveLines) {
-        eterm_options &= ~OPT_SCROLLBAR;
+        BITFIELD_CLEAR(eterm_options, ETERM_OPTIONS_SCROLLBAR);
     }
 #ifdef PRINTPIPE
     if (!rs_print_pipe) {
@@ -2785,10 +2787,10 @@
             D_PIXMAP(("No \"disabled\" state for image %s.  Setting fallback to the 
normal state.\n", get_image_type(i)));
             images[i].disabled = images[i].norm;
         }
-        if ((image_toggles & IMOPT_TRANS) && (image_mode_is(i, ALLOW_TRANS))) {
+        if ((BITFIELD_IS_SET(image_options, IMAGE_OPTIONS_TRANS)) && 
(image_mode_is(i, ALLOW_TRANS))) {
             D_PIXMAP(("Detected transparency option.  Enabling transparency on image 
%s\n", get_image_type(i)));
             image_set_mode(i, MODE_TRANS);
-        } else if ((image_toggles & IMOPT_VIEWPORT) && (image_mode_is(i, 
ALLOW_VIEWPORT))) {
+        } else if ((BITFIELD_IS_SET(image_options, IMAGE_OPTIONS_VIEWPORT)) && 
(image_mode_is(i, ALLOW_VIEWPORT))) {
             D_PIXMAP(("Detected viewport option.  Enabling viewport mode on image 
%s\n", get_image_type(i)));
             image_set_mode(i, MODE_VIEWPORT);
         }
@@ -2941,7 +2943,7 @@
     }
 #endif
 
-    if (eterm_options & OPT_REVERSE_VIDEO) {
+    if (BITFIELD_IS_SET(vt_options, VT_OPTIONS_REVERSE_VIDEO)) {
         char *tmp;
 
         /* swap foreground/background colors */
@@ -3164,7 +3166,7 @@
             (scrollbar_get_type() == SCROLLBAR_XTERM ? "xterm" : 
(scrollbar_get_type() == SCROLLBAR_MOTIF ? "motif" : "next")));
     fprintf(fp, "    scrollbar_width %d\n", scrollbar_anchor_width());
     fprintf(fp, "    font default %u\n", (unsigned int) font_idx);
-    fprintf(fp, "    font proportional %d\n", ((eterm_options & OPT_PROPORTIONAL) ? 1 
: 0));
+    fprintf(fp, "    font proportional %d\n", ((BITFIELD_IS_SET(vt_options, 
VT_OPTIONS_PROPORTIONAL)) ? 1 : 0));
     for (i = 0; i < font_cnt; i++) {
         if (etfonts[i]) {
             fprintf(fp, "    font %d %s\n", i, etfonts[i]);
@@ -3732,30 +3734,30 @@
     }
 
     fprintf(fp, "begin toggles\n");
-    fprintf(fp, "    map_alert %d\n", (eterm_options & OPT_MAP_ALERT ? 1 : 0));
-    fprintf(fp, "    visual_bell %d\n", (eterm_options & OPT_VISUAL_BELL ? 1 : 0));
-    fprintf(fp, "    login_shell %d\n", (eterm_options & OPT_LOGIN_SHELL ? 1 : 0));
-    fprintf(fp, "    scrollbar %d\n", (eterm_options & OPT_SCROLLBAR ? 1 : 0));
-    fprintf(fp, "    utmp_logging %d\n", (eterm_options & OPT_WRITE_UTMP ? 1 : 0));
-    fprintf(fp, "    meta8 %d\n", (eterm_options & OPT_META8 ? 1 : 0));
-    fprintf(fp, "    iconic %d\n", (eterm_options & OPT_ICONIC ? 1 : 0));
-    fprintf(fp, "    home_on_output %d\n", (eterm_options & OPT_HOME_ON_OUTPUT ? 1 : 
0));
-    fprintf(fp, "    home_on_input %d\n", (eterm_options & OPT_HOME_ON_INPUT ? 1 : 
0));
-    fprintf(fp, "    no_input %d\n", (eterm_options & OPT_NO_INPUT ? 1 : 0));
-    fprintf(fp, "    scrollbar_floating %d\n", (eterm_options & 
OPT_SCROLLBAR_FLOATING ? 1 : 0));
-    fprintf(fp, "    scrollbar_right %d\n", (eterm_options & OPT_SCROLLBAR_RIGHT ? 1 
: 0));
-    fprintf(fp, "    scrollbar_popup %d\n", (eterm_options & OPT_SCROLLBAR_POPUP ? 1 
: 0));
-    fprintf(fp, "    borderless %d\n", (eterm_options & OPT_BORDERLESS ? 1 : 0));
-    fprintf(fp, "    double_buffer %d\n", (eterm_options & OPT_DOUBLE_BUFFER ? 1 : 
0));
-    fprintf(fp, "    no_cursor %d\n", (eterm_options & OPT_NO_CURSOR ? 1 : 0));
-    fprintf(fp, "    pause %d\n", (eterm_options & OPT_PAUSE ? 1 : 0));
-    fprintf(fp, "    xterm_select %d\n", (eterm_options & OPT_XTERM_SELECT ? 1 : 0));
-    fprintf(fp, "    select_line %d\n", (eterm_options & OPT_SELECT_WHOLE_LINE ? 1 : 
0));
-    fprintf(fp, "    select_trailing_spaces %d\n", (eterm_options & 
OPT_SELECT_TRAILING_SPACES ? 1 : 0));
-    fprintf(fp, "    report_as_keysyms %d\n", (eterm_options & OPT_REPORT_AS_KEYSYMS 
? 1 : 0));
-    fprintf(fp, "    itrans %d\n", (image_toggles & IMOPT_ITRANS ? 1 : 0));
+    fprintf(fp, "    map_alert %d\n", (BITFIELD_IS_SET(vt_options, 
VT_OPTIONS_MAP_ALERT) ? 1 : 0));
+    fprintf(fp, "    visual_bell %d\n", (BITFIELD_IS_SET(vt_options, 
VT_OPTIONS_VISUAL_BELL) ? 1 : 0));
+    fprintf(fp, "    login_shell %d\n", (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_LOGIN_SHELL) ? 1 : 0));
+    fprintf(fp, "    scrollbar %d\n", (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_SCROLLBAR) ? 1 : 0));
+    fprintf(fp, "    utmp_logging %d\n", (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_WRITE_UTMP) ? 1 : 0));
+    fprintf(fp, "    meta8 %d\n", (BITFIELD_IS_SET(vt_options, VT_OPTIONS_META8) ? 1 
: 0));
+    fprintf(fp, "    iconic %d\n", (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_ICONIC) ? 1 : 0));
+    fprintf(fp, "    home_on_output %d\n", (BITFIELD_IS_SET(vt_options, 
VT_OPTIONS_HOME_ON_OUTPUT) ? 1 : 0));
+    fprintf(fp, "    home_on_input %d\n", (BITFIELD_IS_SET(vt_options, 
VT_OPTIONS_HOME_ON_INPUT) ? 1 : 0));
+    fprintf(fp, "    no_input %d\n", (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_NO_INPUT) ? 1 : 0));
+    fprintf(fp, "    scrollbar_floating %d\n", (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_SCROLLBAR_FLOATING) ? 1 : 0));
+    fprintf(fp, "    scrollbar_right %d\n", (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_SCROLLBAR_RIGHT) ? 1 : 0));
+    fprintf(fp, "    scrollbar_popup %d\n", (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_SCROLLBAR_POPUP) ? 1 : 0));
+    fprintf(fp, "    borderless %d\n", (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_BORDERLESS) ? 1 : 0));
+    fprintf(fp, "    double_buffer %d\n", (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_DOUBLE_BUFFER) ? 1 : 0));
+    fprintf(fp, "    no_cursor %d\n", (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_NO_CURSOR) ? 1 : 0));
+    fprintf(fp, "    pause %d\n", (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_PAUSE) ? 1 : 0));
+    fprintf(fp, "    xterm_select %d\n", (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_XTERM_SELECT) ? 1 : 0));
+    fprintf(fp, "    select_line %d\n", (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_SELECT_WHOLE_LINE) ? 1 : 0));
+    fprintf(fp, "    select_trailing_spaces %d\n", (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_SELECT_TRAILING_SPACES) ? 1 : 0));
+    fprintf(fp, "    report_as_keysyms %d\n", (BITFIELD_IS_SET(vt_options, 
VT_OPTIONS_REPORT_AS_KEYSYMS) ? 1 : 0));
+    fprintf(fp, "    itrans %d\n", (BITFIELD_IS_SET(image_options, 
IMAGE_OPTIONS_ITRANS) ? 1 : 0));
     fprintf(fp, "    buttonbar %d\n", ((buttonbar && bbar_is_visible(buttonbar)) ? 1 
: 0));
-    fprintf(fp, "    resize_gravity %d\n", (eterm_options & OPT_RESIZE_GRAVITY ? 1 : 
0));
+    fprintf(fp, "    resize_gravity %d\n", (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_RESIZE_GRAVITY) ? 1 : 0));
     fprintf(fp, "end toggles\n\n");
 
     fprintf(fp, "begin keyboard\n");
===================================================================
RCS file: /cvsroot/enlightenment/eterm/Eterm/src/options.h,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -3 -r1.46 -r1.47
--- options.h   22 Aug 2003 04:09:39 -0000      1.46
+++ options.h   24 Aug 2003 15:09:32 -0000      1.47
@@ -28,38 +28,39 @@
 #include <X11/Intrinsic.h>     /* Xlib, Xutil, Xresource, Xfuncproto */
 
 /************ Macros and Definitions ************/
-# define OPT_CONSOLE                    (1LU <<  0)
-# define OPT_LOGIN_SHELL                (1LU <<  1)
-# define OPT_ICONIC                     (1LU <<  2)
-# define OPT_VISUAL_BELL                (1LU <<  3)
-# define OPT_MAP_ALERT                  (1LU <<  4)
-# define OPT_REVERSE_VIDEO              (1LU <<  5)
-# define OPT_WRITE_UTMP                 (1LU <<  6)
-# define OPT_SCROLLBAR                  (1LU <<  7)
-# define OPT_META8                      (1LU <<  8)
-# define OPT_HOME_ON_OUTPUT             (1LU <<  9)
-# define OPT_SCROLLBAR_RIGHT            (1LU << 10)
-# define OPT_BORDERLESS                 (1LU << 11)
-# define OPT_NO_INPUT                   (1LU << 12)
-# define OPT_NO_CURSOR                  (1LU << 13)
-# define OPT_PAUSE                      (1LU << 14)
-# define OPT_HOME_ON_INPUT              (1LU << 15)
-# define OPT_REPORT_AS_KEYSYMS          (1LU << 16)
-# define OPT_XTERM_SELECT               (1LU << 17)
-# define OPT_SELECT_WHOLE_LINE          (1LU << 18)
-# define OPT_SCROLLBAR_POPUP            (1LU << 19)
-# define OPT_SELECT_TRAILING_SPACES     (1LU << 20)
-# define OPT_INSTALL                    (1LU << 21)
-# define OPT_SCROLLBAR_FLOATING         (1LU << 22)
-# define OPT_DOUBLE_BUFFER              (1LU << 23)
-# define OPT_MBYTE_CURSOR               (1LU << 24)
-# define OPT_PROPORTIONAL               (1LU << 25)
-# define OPT_RESIZE_GRAVITY             (1LU << 26)
-# define OPT_SECONDARY_SCREEN           (1LU << 27)
-
-# define IMOPT_TRANS                    (1U << 0)
-# define IMOPT_ITRANS                   (1U << 1)
-# define IMOPT_VIEWPORT                 (1U << 2)
+# define VT_OPTIONS_CONSOLE                       (1LU <<  0)
+# define VT_OPTIONS_VISUAL_BELL                   (1LU <<  1)
+# define VT_OPTIONS_MAP_ALERT                     (1LU <<  2)
+# define VT_OPTIONS_REVERSE_VIDEO                 (1LU <<  3)
+# define VT_OPTIONS_META8                         (1LU <<  4)
+# define VT_OPTIONS_HOME_ON_OUTPUT                (1LU <<  5)
+# define VT_OPTIONS_HOME_ON_INPUT                 (1LU <<  6)
+# define VT_OPTIONS_REPORT_AS_KEYSYMS             (1LU <<  7)
+# define VT_OPTIONS_PROPORTIONAL                  (1LU <<  8)
+# define VT_OPTIONS_SECONDARY_SCREEN              (1LU <<  9)
+
+# define ETERM_OPTIONS_LOGIN_SHELL                (1LU <<  0)
+# define ETERM_OPTIONS_ICONIC                     (1LU <<  1)
+# define ETERM_OPTIONS_WRITE_UTMP                 (1LU <<  2)
+# define ETERM_OPTIONS_SCROLLBAR                  (1LU <<  3)
+# define ETERM_OPTIONS_SCROLLBAR_RIGHT            (1LU <<  4)
+# define ETERM_OPTIONS_BORDERLESS                 (1LU <<  5)
+# define ETERM_OPTIONS_NO_INPUT                   (1LU <<  6)
+# define ETERM_OPTIONS_NO_CURSOR                  (1LU <<  7)
+# define ETERM_OPTIONS_PAUSE                      (1LU <<  8)
+# define ETERM_OPTIONS_XTERM_SELECT               (1LU <<  9)
+# define ETERM_OPTIONS_SELECT_WHOLE_LINE          (1LU << 10)
+# define ETERM_OPTIONS_SCROLLBAR_POPUP            (1LU << 11)
+# define ETERM_OPTIONS_SELECT_TRAILING_SPACES     (1LU << 12)
+# define ETERM_OPTIONS_INSTALL                    (1LU << 13)
+# define ETERM_OPTIONS_SCROLLBAR_FLOATING         (1LU << 14)
+# define ETERM_OPTIONS_DOUBLE_BUFFER              (1LU << 15)
+# define ETERM_OPTIONS_MBYTE_CURSOR               (1LU << 16)
+# define ETERM_OPTIONS_RESIZE_GRAVITY             (1LU << 17)
+
+# define IMAGE_OPTIONS_TRANS                      (1U  <<  0)
+# define IMAGE_OPTIONS_ITRANS                     (1U  <<  1)
+# define IMAGE_OPTIONS_VIEWPORT                   (1U  <<  2)
 
 # define BBAR_FORCE_TOGGLE              (0x03)
 
@@ -78,10 +79,14 @@
 
 #define RESET_AND_ASSIGN(var, val)  do {if ((var) != NULL) FREE(var);  (var) = 
(val);} while (0)
 
+#define BITFIELD_SET(var, field)       ((var) |= (field))
+#define BITFIELD_CLEAR(var, field)     ((var) &= ~(field))
+#define BITFIELD_IS_SET(var, field)    ((var) & (field))
+
 /************ Structures ************/
 
 /************ Variables ************/
-extern unsigned long eterm_options, image_toggles;
+extern unsigned long eterm_options, vt_options, image_options;
 extern char *theme_dir, *user_dir;
 extern       char **rs_exec_args;       /* Args to exec (-e or --exec) */
 extern       char  *rs_title;          /* Window title */
===================================================================
RCS file: /cvsroot/enlightenment/eterm/Eterm/src/pixmap.c,v
retrieving revision 1.98
retrieving revision 1.99
diff -u -3 -r1.98 -r1.99
--- pixmap.c    22 Aug 2003 04:09:40 -0000      1.98
+++ pixmap.c    24 Aug 2003 15:09:32 -0000      1.99
@@ -21,7 +21,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-static const char cvs_ident[] = "$Id: pixmap.c,v 1.98 2003/08/22 04:09:40 mej Exp $";
+static const char cvs_ident[] = "$Id: pixmap.c,v 1.99 2003/08/24 15:09:32 mej Exp $";
 
 #include "config.h"
 #include "feature.h"
@@ -680,7 +680,7 @@
             D_PIXMAP(("Copying %hux%hu rectangle at %d, %d from %ux%u desktop pixmap 
0x%08x onto p.\n", width, height, x, y, pw, ph, desktop_pixmap));
             XCopyArea(Xdisplay, desktop_pixmap, p, gc, x, y, width, height, 0, 0);
         }
-        if ((which != image_bg || (image_toggles & IMOPT_ITRANS) || 
images[image_bg].current != images[image_bg].norm)
+        if ((which != image_bg || (BITFIELD_IS_SET(image_options, 
IMAGE_OPTIONS_ITRANS)) || images[image_bg].current != images[image_bg].norm)
             && need_colormod(simg->iml)) {
             colormod_trans(p, simg->iml, gc, width, height);
         }
@@ -1091,7 +1091,7 @@
         }
         simg->pmap->pixmap = create_trans_pixmap(simg, which, win, 0, 0, width, 
height);
         if (simg->pmap->pixmap != None) {
-            if ((which == image_bg) && (eterm_options & OPT_DOUBLE_BUFFER)) {
+            if ((which == image_bg) && (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_DOUBLE_BUFFER))) {
                 copy_buffer_pixmap(MODE_TRANS, (unsigned long) simg->pmap->pixmap, 
width, height);
                 XSetWindowBackgroundPixmap(Xdisplay, win, buffer_pixmap);
             } else {
@@ -1117,7 +1117,7 @@
         }
         if (simg->pmap->pixmap != None) {
             D_PIXMAP(("Setting background of window 0x%08x to 0x%08x\n", win, 
simg->pmap->pixmap));
-            if ((which == image_bg) && (eterm_options & OPT_DOUBLE_BUFFER)) {
+            if ((which == image_bg) && (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_DOUBLE_BUFFER))) {
                 copy_buffer_pixmap(MODE_VIEWPORT, (unsigned long) simg->pmap->pixmap, 
width, height);
                 XSetWindowBackgroundPixmap(Xdisplay, win, buffer_pixmap);
             } else {
@@ -1228,7 +1228,7 @@
                     bevel_pixmap(simg->pmap->pixmap, width, height, 
simg->iml->bevel->edges, simg->iml->bevel->up);
                 }
                 D_PIXMAP(("Setting background of window 0x%08x to 0x%08x\n", win, 
simg->pmap->pixmap));
-                if ((which == image_bg) && (eterm_options & OPT_DOUBLE_BUFFER)) {
+                if ((which == image_bg) && (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_DOUBLE_BUFFER))) {
                     copy_buffer_pixmap(MODE_VIEWPORT, (unsigned long) 
simg->pmap->pixmap, width, height);
                     XSetWindowBackgroundPixmap(Xdisplay, win, buffer_pixmap);
                 } else {
@@ -1254,7 +1254,7 @@
 
     /* Fall back to solid mode if all else fails. */
     if (!image_mode_is(which, MODE_MASK)) {
-        if ((which == image_bg) && (eterm_options & OPT_DOUBLE_BUFFER)) {
+        if ((which == image_bg) && (BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_DOUBLE_BUFFER))) {
             copy_buffer_pixmap(MODE_SOLID, (unsigned long) PixColors[bgColor], width, 
height);
             XSetWindowBackgroundPixmap(Xdisplay, win, buffer_pixmap);
         } else {
@@ -2027,7 +2027,7 @@
                 D_PIXMAP(("Desktop pixmap has changed.  Updating desktop_pixmap\n"));
                 free_desktop_pixmap();
                 orig_desktop_pixmap = p;
-                if (!(image_toggles & IMOPT_ITRANS) && 
need_colormod(images[image_bg].current->iml)) {
+                if (!(BITFIELD_IS_SET(image_options, IMAGE_OPTIONS_ITRANS)) && 
need_colormod(images[image_bg].current->iml)) {
                     int px, py;
                     unsigned int pw, ph, pb, pd;
                     Window w;
===================================================================
RCS file: /cvsroot/enlightenment/eterm/Eterm/src/screen.c,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -3 -r1.74 -r1.75
--- screen.c    22 Aug 2003 03:52:02 -0000      1.74
+++ screen.c    24 Aug 2003 15:09:32 -0000      1.75
@@ -3,7 +3,7 @@
  *
  */
 
-static const char cvs_ident[] = "$Id: screen.c,v 1.74 2003/08/22 03:52:02 mej Exp $";
+static const char cvs_ident[] = "$Id: screen.c,v 1.75 2003/08/24 15:09:32 mej Exp $";
 
 #include "config.h"
 #include "feature.h"
@@ -357,7 +357,7 @@
     /* Reset the rendering style to the default colors/style */
     scr_rendition(0, ~RS_None);
 #if NSCREENS
-    if (eterm_options & OPT_SECONDARY_SCREEN) {
+    if (BITFIELD_IS_SET(vt_options, VT_OPTIONS_SECONDARY_SCREEN)) {
         /* Reset the secondary screen */
         scr_change_screen(SECONDARY);
         scr_erase_screen(2);
@@ -432,7 +432,7 @@
 
     SWAP_IT(current_screen, scrn, tmp);
 #if NSCREENS
-    if (eterm_options & OPT_SECONDARY_SCREEN) {
+    if (BITFIELD_IS_SET(vt_options, VT_OPTIONS_SECONDARY_SCREEN)) {
         offset = TermWin.saveLines;
         if (!screen.text || !screen.rend)
             return (current_screen);
@@ -1525,11 +1525,11 @@
 {
 #ifndef NO_MAPALERT
 #ifdef MAPALERT_OPTION
-    if (eterm_options & OPT_MAP_ALERT)
+    if (BITFIELD_IS_SET(vt_options, VT_OPTIONS_MAP_ALERT))
 #endif
         XMapWindow(Xdisplay, TermWin.parent);
 #endif
-    if (eterm_options & OPT_VISUAL_BELL) {
+    if (BITFIELD_IS_SET(vt_options, VT_OPTIONS_VISUAL_BELL)) {
         scr_rvideo_mode(!rvideo);
         scr_rvideo_mode(!rvideo);
     } else
@@ -2690,7 +2690,7 @@
             *str++ = *t++;
         col = 0;
         if (screen.text[row][TERM_WINDOW_GET_REPORTED_COLS()] != WRAP_CHAR) {
-            if (!(eterm_options & OPT_SELECT_TRAILING_SPACES)) {
+            if (!(BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_SELECT_TRAILING_SPACES))) {
                 for (str--; *str == ' ' || *str == '\t'; str--);
                 str++;
             }
@@ -2710,7 +2710,7 @@
     UPPER_BOUND(end_col, TERM_WINDOW_GET_REPORTED_COLS());
     for (; col < end_col; col++)
         *str++ = *t++;
-    if (!(eterm_options & OPT_SELECT_TRAILING_SPACES)) {
+    if (!(BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_SELECT_TRAILING_SPACES))) {
         for (str--; *str == ' ' || *str == '\t'; str--);
         str++;
     }
@@ -2830,7 +2830,7 @@
     for (;;) {
         for (; beg_col > 0; beg_col--) {
             t = *--stp;
-            if (DELIMIT_TEXT(t) != w1 || (w1 && *stp1 != t && eterm_options & 
OPT_XTERM_SELECT))
+            if (DELIMIT_TEXT(t) != w1 || (w1 && *stp1 != t && 
BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_XTERM_SELECT)))
                 break;
 #ifdef MULTI_CHARSET
             r = *--srp;
@@ -2838,7 +2838,7 @@
                 break;
 #endif
         }
-        if (!(eterm_options & OPT_XTERM_SELECT)) {
+        if (!(BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_XTERM_SELECT))) {
             if (beg_col == col && beg_col > 0) {
                 if (DELIMIT_TEXT(*stp)) /* space or tab or cutchar */
                     break;
@@ -2864,10 +2864,10 @@
 #ifdef MULTI_CHARSET
                 srp = &(screen.rend[beg_row + row_offset - 1][last_col + 1]);
                 r = *(srp - 1);
-                if (DELIMIT_TEXT(t) == w1 && (!w1 || *stp == t || !(eterm_options & 
OPT_XTERM_SELECT)) && DELIMIT_REND(r) == w2) {
+                if (DELIMIT_TEXT(t) == w1 && (!w1 || *stp == t || 
!(BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_XTERM_SELECT))) && DELIMIT_REND(r) == 
w2) {
                     srp--;
 #else
-                if (DELIMIT_TEXT(t) == w1 && (!w1 || *stp == t || !(eterm_options & 
OPT_XTERM_SELECT))) {
+                if (DELIMIT_TEXT(t) == w1 && (!w1 || *stp == t || 
!(BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_XTERM_SELECT)))) {
 #endif
                     stp--;
                     beg_row--;
@@ -2893,7 +2893,7 @@
     for (;;) {
         for (; end_col < last_col; end_col++) {
             t = *++stp;
-            if (DELIMIT_TEXT(t) != w1 || (w1 && *stp1 != t && eterm_options & 
OPT_XTERM_SELECT))
+            if (DELIMIT_TEXT(t) != w1 || (w1 && *stp1 != t && 
BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_XTERM_SELECT)))
                 break;
 #ifdef MULTI_CHARSET
             r = *++srp;
@@ -2901,7 +2901,7 @@
                 break;
 #endif
         }
-        if (!(eterm_options & OPT_XTERM_SELECT)) {
+        if (!(BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_XTERM_SELECT))) {
             if (end_col == col && end_col < last_col) {
                 if (DELIMIT_TEXT(*stp)) /* space or tab or cutchar */
                     break;
@@ -2925,9 +2925,9 @@
                 stp = screen.text[end_row + row_offset + 1];
 #ifdef MULTI_CHARSET
                 srp = screen.rend[end_row + row_offset + 1];
-                if (DELIMIT_TEXT(*stp) == w1 && (!w1 || *stp1 == *stp || 
!(eterm_options & OPT_XTERM_SELECT)) && DELIMIT_REND(*srp) == w2) {
+                if (DELIMIT_TEXT(*stp) == w1 && (!w1 || *stp1 == *stp || 
!(BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_XTERM_SELECT))) && DELIMIT_REND(*srp) 
== w2) {
 #else
-                if (DELIMIT_TEXT(*stp) == w1 && (!w1 || *stp1 == *stp || 
!(eterm_options & OPT_XTERM_SELECT))) {
+                if (DELIMIT_TEXT(*stp) == w1 && (!w1 || *stp1 == *stp || 
!(BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_XTERM_SELECT)))) {
 #endif
                     end_row++;
                     end_col = 0;
@@ -3157,7 +3157,7 @@
             selection.beg.row = selection.mark.row;
             selection.end.row = row;
         }
-        if (eterm_options & OPT_SELECT_WHOLE_LINE) {
+        if (BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_SELECT_WHOLE_LINE)) {
             selection.beg.col = 0;
         } else {
             selection.clicks = 2;
@@ -3363,7 +3363,7 @@
 xim_get_position(XPoint * pos)
 {
     pos->x = Col2Pixel(screen.col);
-    if (scrollbar_is_visible() && !(eterm_options & OPT_SCROLLBAR_RIGHT)) {
+    if (scrollbar_is_visible() && !(BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_SCROLLBAR_RIGHT))) {
         pos->x += scrollbar_trough_width();
     }
     pos->y = (Height2Pixel(screen.row)
===================================================================
RCS file: /cvsroot/enlightenment/eterm/Eterm/src/screen.h,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -3 -r1.27 -r1.28
--- screen.h    22 Aug 2003 03:52:02 -0000      1.27
+++ screen.h    24 Aug 2003 15:09:32 -0000      1.28
@@ -29,10 +29,10 @@
 #define IS_CUT_BUFFER(a)        (((a) >= XA_CUT_BUFFER0) && ((a) <= XA_CUT_BUFFER7))
 
 #define ZERO_SCROLLBACK do { \
-                          if (eterm_options & OPT_HOME_ON_OUTPUT) TermWin.view_start 
= 0; \
+                          if (BITFIELD_IS_SET(vt_options, VT_OPTIONS_HOME_ON_OUTPUT)) 
TermWin.view_start = 0; \
                         } while (0)
 #define REFRESH_ZERO_SCROLLBACK do { \
-                                  if (eterm_options & OPT_HOME_ON_OUTPUT) 
TermWin.view_start = 0; \
+                                  if (BITFIELD_IS_SET(vt_options, 
VT_OPTIONS_HOME_ON_OUTPUT)) TermWin.view_start = 0; \
                                 } while (0)
 #define CHECK_SELECTION        do { \
                           if (selection.op) selection_check(); \
===================================================================
RCS file: /cvsroot/enlightenment/eterm/Eterm/src/scrollbar.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -3 -r1.45 -r1.46
--- scrollbar.c 22 Aug 2003 03:52:02 -0000      1.45
+++ scrollbar.c 24 Aug 2003 15:09:32 -0000      1.46
@@ -21,7 +21,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-static const char cvs_ident[] = "$Id: scrollbar.c,v 1.45 2003/08/22 03:52:02 mej Exp 
$";
+static const char cvs_ident[] = "$Id: scrollbar.c,v 1.46 2003/08/24 15:09:32 mej Exp 
$";
 
 #include "config.h"
 #include "feature.h"
@@ -383,7 +383,7 @@
     }
     if (!image_mode_is(image_up, MODE_MASK)) {
         /* Solid mode.  Redraw every time since it's cheap. */
-        if (eterm_options & OPT_SCROLLBAR_FLOATING) {
+        if (BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_SCROLLBAR_FLOATING)) {
             XSetWindowBackground(Xdisplay, scrollbar.up_win, PixColors[bgColor]);
             XClearWindow(Xdisplay, scrollbar.up_win);
         } else {
@@ -453,7 +453,7 @@
     }
     if (!image_mode_is(image_down, MODE_MASK)) {
         /* Solid mode.  Redraw every time since it's cheap. */
-        if (eterm_options & OPT_SCROLLBAR_FLOATING) {
+        if (BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_SCROLLBAR_FLOATING)) {
             XSetWindowBackground(Xdisplay, scrollbar.dn_win, PixColors[bgColor]);
             XClearWindow(Xdisplay, scrollbar.dn_win);
         } else {
@@ -538,7 +538,7 @@
         /* Solid mode.  Redraw every time since it's cheap. */
 #ifdef XTERM_SCROLLBAR
         if (scrollbar.type == SCROLLBAR_XTERM) {
-            int x = ((eterm_options & OPT_SCROLLBAR_RIGHT) ? 1 : 0);
+            int x = ((BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_SCROLLBAR_RIGHT)) 
? 1 : 0);
 
             XSetForeground(Xdisplay, gc_stipple, images[image_sa].current->bg);
             XFillRectangle(Xdisplay, scrollbar.sa_win, gc_stipple, x + 1, 0, 
scrollbar_anchor_width() - x - 1, scrollbar_anchor_height());
@@ -547,7 +547,7 @@
 #endif /* XTERM_SCROLLBAR */
 #if defined(MOTIF_SCROLLBAR) || defined(NEXT_SCROLLBAR)
         if (scrollbar.type == SCROLLBAR_MOTIF || scrollbar.type == SCROLLBAR_NEXT) {
-            if (eterm_options & OPT_SCROLLBAR_FLOATING) {
+            if (BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_SCROLLBAR_FLOATING)) {
                 XSetWindowBackground(Xdisplay, scrollbar.sa_win, PixColors[bgColor]);
                 XClearWindow(Xdisplay, scrollbar.sa_win);
             } else {
@@ -656,7 +656,7 @@
     }
     if (!image_mode_is(image_sb, MODE_MASK)) {
         /* Solid mode.  Redraw every time since it's cheap. */
-        if ((eterm_options & OPT_SCROLLBAR_FLOATING) || (scrollbar.type == 
SCROLLBAR_XTERM)) {
+        if ((BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_SCROLLBAR_FLOATING)) || 
(scrollbar.type == SCROLLBAR_XTERM)) {
             XSetWindowBackground(Xdisplay, scrollbar.win, PixColors[bgColor]);
             XClearWindow(Xdisplay, scrollbar.win);
         } else {
@@ -695,7 +695,7 @@
 
     /* Create the scrollbar trough window.  It will be the parent to the other 
windows. */
     scrollbar.win =
-        XCreateWindow(Xdisplay, TermWin.parent, ((eterm_options & 
OPT_SCROLLBAR_RIGHT) ? (width - scrollbar_trough_width()) : (0)),
+        XCreateWindow(Xdisplay, TermWin.parent, ((BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_SCROLLBAR_RIGHT)) ? (width - scrollbar_trough_width()) : (0)),
                       bbar_calc_docked_height(BBAR_DOCKED_TOP), 
scrollbar_trough_width(), height, 0, Xdepth, InputOutput, CopyFromParent,
                       CWOverrideRedirect | CWBackPixel | CWBorderPixel | CWColormap, 
&Attributes);
     XDefineCursor(Xdisplay, scrollbar.win, cursor);
@@ -817,9 +817,9 @@
     D_SCROLLBAR(("scrollbar_resize(%d, %d)\n", width, height));
     scrollbar_calc_size(width, height);
     D_SCROLLBAR((" -> XMoveResizeWindow(Xdisplay, 0x%08x, %d, y, %d, %d)\n", 
scrollbar.win,
-                 ((eterm_options & OPT_SCROLLBAR_RIGHT) ? (width - 
scrollbar_trough_width()) : (0)),
+                 ((BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_SCROLLBAR_RIGHT)) ? 
(width - scrollbar_trough_width()) : (0)),
                  scrollbar_trough_width(), scrollbar_trough_height()));
-    XMoveResizeWindow(Xdisplay, scrollbar.win, ((eterm_options & OPT_SCROLLBAR_RIGHT) 
? (width - scrollbar_trough_width()) : (0)),
+    XMoveResizeWindow(Xdisplay, scrollbar.win, ((BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_SCROLLBAR_RIGHT)) ? (width - scrollbar_trough_width()) : (0)),
                       bbar_calc_docked_height(BBAR_DOCKED_TOP), 
scrollbar_trough_width(), scrollbar_trough_height());
     scrollbar_draw_trough(IMAGE_STATE_CURRENT, MODE_MASK);
     scrollbar_reposition_and_draw(MODE_MASK);
===================================================================
RCS file: /cvsroot/enlightenment/eterm/Eterm/src/startup.c,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -3 -r1.40 -r1.41
--- startup.c   22 Aug 2003 04:09:40 -0000      1.40
+++ startup.c   24 Aug 2003 15:09:32 -0000      1.41
@@ -21,7 +21,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-static const char cvs_ident[] = "$Id: startup.c,v 1.40 2003/08/22 04:09:40 mej Exp $";
+static const char cvs_ident[] = "$Id: startup.c,v 1.41 2003/08/24 15:09:32 mej Exp $";
 
 #include "config.h"
 #include "feature.h"
@@ -118,7 +118,7 @@
     }
     XSetErrorHandler((XErrorHandler) xerror_handler);
 
-    if (eterm_options & OPT_INSTALL) {
+    if (BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_INSTALL)) {
         cmap = XCreateColormap(Xdisplay, Xroot, Xvisual, AllocNone);
         XInstallColormap(Xdisplay, cmap);
     } else {
@@ -235,7 +235,7 @@
 
     /* Initialize the scrollbar */
     scrollbar_init(szHint.width, szHint.height - 
bbar_calc_docked_height(BBAR_DOCKED));
-    scrollbar_mapping((eterm_options & OPT_SCROLLBAR) && !((eterm_options & 
OPT_SCROLLBAR_POPUP) && !TermWin.focus));
+    scrollbar_mapping((BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_SCROLLBAR)) && 
!((BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_SCROLLBAR_POPUP)) && !TermWin.focus));
 
     /* Initialize the menu subsystem. */
     menu_init();
===================================================================
RCS file: /cvsroot/enlightenment/eterm/Eterm/src/term.c,v
retrieving revision 1.97
retrieving revision 1.98
diff -u -3 -r1.97 -r1.98
--- term.c      22 Aug 2003 03:52:02 -0000      1.97
+++ term.c      24 Aug 2003 15:09:32 -0000      1.98
@@ -21,7 +21,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-static const char cvs_ident[] = "$Id: term.c,v 1.97 2003/08/22 03:52:02 mej Exp $";
+static const char cvs_ident[] = "$Id: term.c,v 1.98 2003/08/24 15:09:32 mej Exp $";
 
 #include "config.h"
 #include "feature.h"
@@ -290,14 +290,14 @@
         }
         if (len) {
             /* Only home for keypresses with length. */
-            if (eterm_options & OPT_HOME_ON_INPUT) {
+            if (BITFIELD_IS_SET(vt_options, VT_OPTIONS_HOME_ON_INPUT)) {
                 TermWin.view_start = 0;
             }
         }
 
         /* This is a special mode that reports all extended keysyms (above 0xff00) to 
the application
            as escape sequences.  Very few applications use it, but it can be a handy 
thing to have. */
-        if ((eterm_options & OPT_REPORT_AS_KEYSYMS) && (keysym >= 0xff00)) {
+        if ((BITFIELD_IS_SET(vt_options, VT_OPTIONS_REPORT_AS_KEYSYMS)) && (keysym >= 
0xff00)) {
             len = sprintf((char *) kbuf, "\033[k%X;%X~", (unsigned int) 
(ev->xkey.state & 0xff), (unsigned int) (keysym & 0xff));
             tt_write(kbuf, len);
             LK_RET();
@@ -468,7 +468,7 @@
                       kbuf[0] = (((PrivateModes & PrivMode_BackSpace) ? !(shft | 
ctrl) : (shft | ctrl)) ? '\b' : '\177');
 #endif
 #ifdef MULTI_CHARSET
-                      if ((eterm_options & OPT_MBYTE_CURSOR) && scr_multi2()) {
+                      if ((BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_MBYTE_CURSOR)) && scr_multi2()) {
                           memmove(kbuf + len, kbuf, len);
                           len *= 2;
                       }
@@ -530,7 +530,7 @@
                           kbuf[2] = ("dacb"[keysym - XK_Left]);
                       }
 #ifdef MULTI_CHARSET
-                      if ((eterm_options & OPT_MBYTE_CURSOR)
+                      if ((BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_MBYTE_CURSOR))
                           && ((keysym == XK_Left && scr_multi2())
                               || (keysym == XK_Right && scr_multi1()))) {
                           memmove(kbuf + len, kbuf, len);
@@ -624,7 +624,7 @@
 #ifdef KS_DELETE
                       len = strlen(strcpy(kbuf, KS_DELETE));
 #ifdef MULTI_CHARSET
-                      if ((eterm_options & OPT_MBYTE_CURSOR) && scr_multi1()) {
+                      if ((BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_MBYTE_CURSOR)) && scr_multi1()) {
                           memmove(kbuf + len, kbuf, len);
                           len *= 2;
                       }
@@ -1541,16 +1541,16 @@
 #endif
 
                 case 1010:     /* Scroll to bottom on TTY output */
-                    if (eterm_options & OPT_HOME_ON_OUTPUT)
-                        eterm_options &= ~OPT_HOME_ON_OUTPUT;
+                    if (BITFIELD_IS_SET(vt_options, VT_OPTIONS_HOME_ON_OUTPUT))
+                        BITFIELD_CLEAR(vt_options, VT_OPTIONS_HOME_ON_OUTPUT);
                     else
-                        eterm_options |= OPT_HOME_ON_OUTPUT;
+                        BITFIELD_SET(vt_options, VT_OPTIONS_HOME_ON_OUTPUT);
                     break;
                 case 1012:     /* Scroll to bottom on TTY input */
-                    if (eterm_options & OPT_HOME_ON_INPUT)
-                        eterm_options &= ~OPT_HOME_ON_INPUT;
+                    if (BITFIELD_IS_SET(vt_options, VT_OPTIONS_HOME_ON_INPUT))
+                        BITFIELD_CLEAR(vt_options, VT_OPTIONS_HOME_ON_INPUT);
                     else
-                        eterm_options |= OPT_HOME_ON_INPUT;
+                        BITFIELD_SET(vt_options, VT_OPTIONS_HOME_ON_INPUT);
                     break;
 
                 case 1047:     /* Alternate screen & clear */
@@ -2249,18 +2249,18 @@
                 break;
             case 11:
                 nstr = (char *) strsep(&tnstr, ";");
-                OPT_SET_OR_TOGGLE(nstr, eterm_options, OPT_SCROLLBAR_RIGHT);
+                OPT_SET_OR_TOGGLE(nstr, eterm_options, ETERM_OPTIONS_SCROLLBAR_RIGHT);
                 scr_touch();
                 parent_resize();
                 break;
             case 12:
                 nstr = (char *) strsep(&tnstr, ";");
-                OPT_SET_OR_TOGGLE(nstr, eterm_options, OPT_SCROLLBAR_FLOATING);
+                OPT_SET_OR_TOGGLE(nstr, eterm_options, 
ETERM_OPTIONS_SCROLLBAR_FLOATING);
                 scrollbar_reposition_and_always_draw();
                 break;
             case 13:
                 nstr = (char *) strsep(&tnstr, ";");
-                OPT_SET_OR_TOGGLE(nstr, eterm_options, OPT_SCROLLBAR_POPUP);
+                OPT_SET_OR_TOGGLE(nstr, eterm_options, ETERM_OPTIONS_SCROLLBAR_POPUP);
                 break;
             case 14:
                 nstr = (char *) strsep(&tnstr, ";");
@@ -2277,21 +2277,21 @@
                 break;
             case 20:
                 nstr = (char *) strsep(&tnstr, ";");
-                OPT_SET_OR_TOGGLE(nstr, eterm_options, OPT_VISUAL_BELL);
+                OPT_SET_OR_TOGGLE(nstr, vt_options, VT_OPTIONS_VISUAL_BELL);
                 break;
 #ifdef MAPALERT_OPTION
             case 21:
                 nstr = (char *) strsep(&tnstr, ";");
-                OPT_SET_OR_TOGGLE(nstr, eterm_options, OPT_MAP_ALERT);
+                OPT_SET_OR_TOGGLE(nstr, vt_options, VT_OPTIONS_MAP_ALERT);
                 break;
 #endif
             case 22:
                 nstr = (char *) strsep(&tnstr, ";");
-                OPT_SET_OR_TOGGLE(nstr, eterm_options, OPT_XTERM_SELECT);
+                OPT_SET_OR_TOGGLE(nstr, eterm_options, ETERM_OPTIONS_XTERM_SELECT);
                 break;
             case 23:
                 nstr = (char *) strsep(&tnstr, ";");
-                OPT_SET_OR_TOGGLE(nstr, eterm_options, OPT_SELECT_WHOLE_LINE);
+                OPT_SET_OR_TOGGLE(nstr, eterm_options, 
ETERM_OPTIONS_SELECT_WHOLE_LINE);
                 break;
             case 24:
                 nstr = (char *) strsep(&tnstr, ";");
@@ -2302,18 +2302,18 @@
                 break;
             case 25:
                 nstr = (char *) strsep(&tnstr, ";");
-                OPT_SET_OR_TOGGLE(nstr, eterm_options, OPT_SELECT_TRAILING_SPACES);
+                OPT_SET_OR_TOGGLE(nstr, eterm_options, 
ETERM_OPTIONS_SELECT_TRAILING_SPACES);
                 break;
             case 26:
                 nstr = (char *) strsep(&tnstr, ";");
-                OPT_SET_OR_TOGGLE(nstr, eterm_options, OPT_REPORT_AS_KEYSYMS);
+                OPT_SET_OR_TOGGLE(nstr, vt_options, VT_OPTIONS_REPORT_AS_KEYSYMS);
                 break;
             case 27:
                 nstr = (char *) strsep(&tnstr, ";");
-                OPT_SET_OR_TOGGLE(nstr, eterm_options, OPT_NO_INPUT);
+                OPT_SET_OR_TOGGLE(nstr, eterm_options, ETERM_OPTIONS_NO_INPUT);
                 wm_hints = XGetWMHints(Xdisplay, TermWin.parent);
                 wm_hints->flags |= InputHint;
-                wm_hints->input = ((eterm_options & OPT_NO_INPUT) ? False : True);
+                wm_hints->input = ((BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_NO_INPUT)) ? False : True);
                 XSetWMHints(Xdisplay, TermWin.parent, wm_hints);
                 XFree(wm_hints);
                 break;
===================================================================
RCS file: /cvsroot/enlightenment/eterm/Eterm/src/windows.c,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -3 -r1.63 -r1.64
--- windows.c   22 Aug 2003 03:52:02 -0000      1.63
+++ windows.c   24 Aug 2003 15:09:32 -0000      1.64
@@ -21,7 +21,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-static const char cvs_ident[] = "$Id: windows.c,v 1.63 2003/08/22 03:52:02 mej Exp $";
+static const char cvs_ident[] = "$Id: windows.c,v 1.64 2003/08/24 15:09:32 mej Exp $";
 
 #include "config.h"
 #include "feature.h"
@@ -365,7 +365,7 @@
     unsigned int width = 0, height = 0;
     MWMHints mwmhints;
 
-    if (eterm_options & OPT_BORDERLESS) {
+    if (BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_BORDERLESS)) {
         prop = XInternAtom(Xdisplay, "_MOTIF_WM_INFO", True);
         if (prop == None) {
             print_warning("Window Manager does not support MWM hints.  Bypassing 
window manager control for borderless window.\n");
@@ -380,7 +380,7 @@
     }
     Attributes.colormap = cmap;
 
-    szHint.base_width = (2 * TermWin.internalBorder + ((eterm_options & 
OPT_SCROLLBAR) ? (scrollbar_get_width() + (2 * scrollbar_get_shadow())) : 0));
+    szHint.base_width = (2 * TermWin.internalBorder + 
((BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_SCROLLBAR)) ? (scrollbar_get_width() + 
(2 * scrollbar_get_shadow())) : 0));
     szHint.base_height = (2 * TermWin.internalBorder) + 
bbar_calc_docked_height(BBAR_DOCKED);
 
     flags = (rs_geometry ? XParseGeometry(rs_geometry, &x, &y, &width, &height) : 0);
@@ -434,8 +434,8 @@
     classHint.res_name = (char *) rs_name;
     classHint.res_class = APL_NAME;
     wmHint.window_group = TermWin.parent;
-    wmHint.input = ((eterm_options & OPT_NO_INPUT) ? False : True);
-    wmHint.initial_state = (eterm_options & OPT_ICONIC ? IconicState : NormalState);
+    wmHint.input = ((BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_NO_INPUT)) ? False 
: True);
+    wmHint.initial_state = (BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_ICONIC) ? 
IconicState : NormalState);
     wmHint.window_group = TermWin.parent;
     wmHint.flags = (InputHint | StateHint | WindowGroupHint);
 #ifdef PIXMAP_SUPPORT
@@ -457,12 +457,12 @@
     cursor = XCreateFontCursor(Xdisplay, XC_left_ptr);
 
     /* the vt window */
-    TermWin.x = (((eterm_options & OPT_SCROLLBAR) && !(eterm_options & 
OPT_SCROLLBAR_RIGHT)) ? (scrollbar_get_width() + (2 * scrollbar_get_shadow())) : 0);
+    TermWin.x = (((BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_SCROLLBAR)) && 
!(BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_SCROLLBAR_RIGHT))) ? 
(scrollbar_get_width() + (2 * scrollbar_get_shadow())) : 0);
     TermWin.y = bbar_calc_docked_height(BBAR_DOCKED_TOP);
     TermWin.vt = XCreateWindow(Xdisplay, TermWin.parent, TermWin.x, TermWin.y, 
szHint.width, szHint.height, 0, Xdepth, InputOutput, CopyFromParent,
                                CWBackPixel | CWBorderPixel | CWOverrideRedirect | 
CWColormap, &Attributes);
     D_X11(("Created terminal window 0x%08x at %dx%d\n", TermWin.vt, TermWin.x, 
TermWin.y));
-    if (!(background_is_pixmap()) && !(eterm_options & OPT_BORDERLESS)) {
+    if (!(background_is_pixmap()) && !(BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_BORDERLESS))) {
         XSetWindowBackground(Xdisplay, TermWin.vt, PixColors[bgColor]);
         XClearWindow(Xdisplay, TermWin.vt);
     }
@@ -499,7 +499,7 @@
         TermWin.gc = LIBAST_X_CREATE_GC(GCForeground | GCBackground | GCFont | 
GCGraphicsExposures, &gcvalue);
     }
 
-    if (eterm_options & OPT_NO_CURSOR) {
+    if (BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_NO_CURSOR)) {
         scr_cursor_visible(0);
     }
 }
@@ -510,7 +510,7 @@
 {
     XWindowAttributes attr;
 
-    if (!(eterm_options & OPT_RESIZE_GRAVITY) || !XGetWindowAttributes(Xdisplay, 
TermWin.parent, &attr)) {
+    if (!(BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_RESIZE_GRAVITY)) || 
!XGetWindowAttributes(Xdisplay, TermWin.parent, &attr)) {
         XResizeWindow(Xdisplay, TermWin.parent, width, height);
     } else {
         Window junkwin;
@@ -592,7 +592,7 @@
     width = TERM_WINDOW_FULL_WIDTH();
     height = TERM_WINDOW_FULL_HEIGHT();
     XMoveResizeWindow(Xdisplay, TermWin.vt,
-                      ((eterm_options & OPT_SCROLLBAR_RIGHT) ? (0) : 
((scrollbar_is_visible())? (scrollbar_trough_width()) : (0))),
+                      ((BITFIELD_IS_SET(eterm_options, 
ETERM_OPTIONS_SCROLLBAR_RIGHT)) ? (0) : ((scrollbar_is_visible())? 
(scrollbar_trough_width()) : (0))),
                       bbar_calc_docked_height(BBAR_DOCKED_TOP), width, height);
     if (width != last_width || height != last_height) {
         render_simage(images[image_bg].current, TermWin.vt, width, height, image_bg, 
0);




-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines
at the same time. Free trial click here:http://www.vmware.com/wl/offer/358/0
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to