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