summaryrefslogtreecommitdiff
path: root/src/bar.c
diff options
context:
space:
mode:
authorsabetts <sabetts>2001-09-09 02:59:23 +0000
committersabetts <sabetts>2001-09-09 02:59:23 +0000
commit1bd2211aa5c392d9873c74ffc998bea744007a29 (patch)
treeb695cac6f169042430a4d7c1a9cc0ac9bda63304 /src/bar.c
parent52cd2d7d10d543fe989e3cde617faf7453dcc494 (diff)
downloadratpoison-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.c32
1 files changed, 19 insertions, 13 deletions
diff --git a/src/bar.c b/src/bar.c
index 7dbe1cd..89df8d1 100644
--- a/src/bar.c
+++ b/src/bar.c
@@ -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);