diff options
author | sabetts <sabetts> | 2001-09-09 02:59:23 +0000 |
---|---|---|
committer | sabetts <sabetts> | 2001-09-09 02:59:23 +0000 |
commit | 1bd2211aa5c392d9873c74ffc998bea744007a29 (patch) | |
tree | b695cac6f169042430a4d7c1a9cc0ac9bda63304 /src/bar.c | |
parent | 52cd2d7d10d543fe989e3cde617faf7453dcc494 (diff) | |
download | ratpoison-1bd2211aa5c392d9873c74ffc998bea744007a29.zip |
* src/list.h (update_window_position): new prototype
(window_name): new prototype
(get_window_list): update prototype
* src/events.c (grab_rat): Don't wrap in an #ifdef
(ungrab_rat): likewise
(handle_key): record if the rat is grabbed and only ungrab it at
the end if it was first grabbed.
* src/actions.h (cmd_pos): new prototype
(cmd_defwinpos): new prototype
(cmd_deftranspos): new prototype
(cmd_defmaxsizepos): new prototype
(cmd_defbartimeout): new prototype
(cmd_defbarloc): new prototype
(cmd_deffont): new prototype
(cmd_defpadding): new prototype
(cmd_defborder): new prototype
(cmd_definputwidth): new prototype
(cmd_defwaitcursor): new prototype
(cmd_defwinfmt): new prototype
(cmd_defwinname): new prototype
* src/messages.h (MESSAGE_FRAME_STRING): new message
* src/manage.c (get_wmname): renamed from get_window_name
(get_class_hints): new function
(get_res_name): likewise
(get_res_class): likewise
(update_window_name): update the window's wm_name, res_name, and
res_class fields.
(update_window_name): calls functions get_wmname, get_res_name,
get_res_class.
(update_window_name): Don't crop the window name.
(update_window_information): call update_window_position.
(move_window): new function
(maximize_transient): only set the window's width and height
fields.
(maximize_normal): likewise
(maximize): call move_window
(force_maximize): likewise
(force_maximize): if the window has resize hints, resize it 1
resize unit.
* src/main.c: new global variable, defaults. remove static
variable, font, and move to defaults. Dependant code updated.
(init_defaults): new function
(main): call init_defaults.
(init_screen): initialize the screen's fg_color to black and
bg_color to white.
* src/list.c (free_window): free the fields user_name, res_name,
res_class, and wm_name.
(update_window_position): new function
(window_name): new function. Code accessing a window's name uses
this function. All code updated.
(add_to_window_list): call update_window_position
(add_to_window_list): initialize wm_name, res_name, and res_class
for the new window.
(format_window_name): new function
(get_window_list): Add parameter fmt. All callers updated.
(get_window_list): call format_window_name.
* src/conf.h: move Configuration variables to the global variable,
defaults. Dependant code updated.
* src/data.h (TOP_LEFT): new define
(TOP_CENTER): likewise
(TOP_RIGHT): likewise
(CENTER_LEFT): likewise
(CENTER_CENTER): likewise
(CENTER_RIGHT): likewise
(BOTTOM_LEFT): likewise
(BOTTOM_CENTER): likewise
(BOTTOM_RIGHT): likewise
(struct rp_window): new fields user_name, wm_name, res_name,
res_class, position.
(struct rp_window): remove field name. Replaced with
user_name. Dependant code updated.
(struct screen_info): remove field font. dependant code updated.
(struct screen_info): new fields fg_color, bg_color.
(struct rp_defaults): new struct
(defaults): new global
* src/actions.c (parse_winpos): new function
(cmd_pos): likewise
(cmd_defwinpos): likewise
(cmd_deftranspos): likewise
(cmd_defmaxsizepos): likewise
(cmd_defbartimeout): likewise
(cmd_defbarloc): likewise
(cmd_deffont): likewise
(cmd_defpadding): likewise
(cmd_defborder): likewise
(cmd_definputwidth): likewise
(cmd_defwaitcursor): likewise
(cmd_defwinfmt): likewise
(cmd_defwinname): likewise
(user_commands): New commands defbarloc, defbartimeout, defborder,
deffont, defintputwidth, defmaxsizepos, defpadding, deftranspos,
defwaitcursor, defwinfmt, defwinname, defwinpos.
Diffstat (limited to 'src/bar.c')
-rw-r--r-- | src/bar.c | 32 |
1 files changed, 19 insertions, 13 deletions
@@ -64,7 +64,7 @@ show_bar (screen_info *s) update_window_names (s); /* Set an alarm to auto-hide the bar BAR_TIMEOUT seconds later */ - alarm (BAR_TIMEOUT); + alarm (defaults.bar_timeout); alarm_signalled = 0; return 1; } @@ -78,15 +78,21 @@ show_bar (screen_info *s) int bar_x (screen_info *s, int width) { - if (BAR_LOCATION >= 2) return s->root_attr.width - width - 2; - else return 0; + if (defaults.bar_location == BOTTOM_RIGHT + || defaults.bar_location == TOP_RIGHT) + return s->root_attr.width - width - 2; + else + return 0; } int bar_y (screen_info *s) { - if (BAR_LOCATION % 2) return 0; - else return s->root_attr.height - (FONT_HEIGHT (s->font) + BAR_Y_PADDING * 2) - 2; + if (defaults.bar_location == TOP_LEFT + || defaults.bar_location == TOP_RIGHT ) + return 0; + else + return s->root_attr.height - (FONT_HEIGHT (defaults.font) + defaults.bar_y_padding * 2) - 2; } void @@ -102,7 +108,7 @@ update_window_names (screen_info *s) if (bar_buffer == NULL) bar_buffer = sbuf_new (0); - get_window_list (NULL, bar_buffer, &mark_start, &mark_end); + get_window_list (defaults.window_fmt, NULL, bar_buffer, &mark_start, &mark_end); marked_message (sbuf_get (bar_buffer), mark_start, mark_end); } @@ -141,8 +147,8 @@ marked_message (char *msg, int mark_start, int mark_end) unsigned long mask; screen_info *s = current_screen (); - int width = BAR_X_PADDING * 2 + XTextWidth (s->font, msg, strlen (msg)); - int height = (FONT_HEIGHT (s->font) + BAR_Y_PADDING * 2); + int width = defaults.bar_x_padding * 2 + XTextWidth (defaults.font, msg, strlen (msg)); + int height = (FONT_HEIGHT (defaults.font) + defaults.bar_y_padding * 2); PRINT_DEBUG ("%s\n", msg); @@ -154,7 +160,7 @@ marked_message (char *msg, int mark_start, int mark_end) } /* Reset the alarm to auto-hide the bar in BAR_TIMEOUT seconds. */ - alarm (BAR_TIMEOUT); + alarm (defaults.bar_timeout); alarm_signalled = 0; XMoveResizeWindow (dpy, s->bar_window, @@ -166,8 +172,8 @@ marked_message (char *msg, int mark_start, int mark_end) XRaiseWindow (dpy, s->bar_window); XDrawString (dpy, s->bar_window, s->normal_gc, - BAR_X_PADDING, - BAR_Y_PADDING + s->font->max_bounds.ascent, + defaults.bar_x_padding, + defaults.bar_y_padding + defaults.font->max_bounds.ascent, msg, strlen (msg)); @@ -198,8 +204,8 @@ marked_message (char *msg, int mark_start, int mark_end) int start; int end; - start = XTextWidth (s->font, msg, mark_start) + BAR_X_PADDING; - end = XTextWidth (s->font, msg + mark_start, mark_end - mark_start) + BAR_X_PADDING; + start = XTextWidth (defaults.font, msg, mark_start) + defaults.bar_x_padding; + end = XTextWidth (defaults.font, msg + mark_start, mark_end - mark_start) + defaults.bar_x_padding; PRINT_DEBUG ("%d %d strlen(%d)==> %d %d\n", mark_start, mark_end, strlen(msg), start, end); |