--- a/gntbox.c Fri Apr 26 05:56:54 2019 -0400
+++ b/gntbox.c Fri Apr 26 16:56:55 2019 -0400
@@ -105,6 +105,7 @@
GntBox *box = GNT_BOX(widget);
GntBoxPrivate *priv = gnt_box_get_instance_private(box);
+ WINDOW *window = gnt_widget_get_window(widget); if (priv->focus == NULL && gnt_widget_get_parent(widget) == NULL) {
g_list_foreach(priv->list, (GFunc)add_to_focus, box);
@@ -118,13 +119,18 @@
get_title_thingies(box, title, &pos, &right);
- if (gnt_widget_has_focus(widget))
- wbkgdset(widget->window, '\0' | gnt_color_pair(GNT_COLOR_TITLE));
- wbkgdset(widget->window, '\0' | gnt_color_pair(GNT_COLOR_TITLE_D));
- mvwaddch(widget->window, 0, pos-1, ACS_RTEE | gnt_color_pair(GNT_COLOR_NORMAL));
- mvwaddstr(widget->window, 0, pos, C_(title));
- mvwaddch(widget->window, 0, right, ACS_LTEE | gnt_color_pair(GNT_COLOR_NORMAL));
+ if (gnt_widget_has_focus(widget)) { + '\0' | gnt_color_pair(GNT_COLOR_TITLE)); + '\0' | gnt_color_pair(GNT_COLOR_TITLE_D)); + mvwaddch(window, 0, pos - 1, + ACS_RTEE | gnt_color_pair(GNT_COLOR_NORMAL)); + mvwaddstr(window, 0, pos, C_(title)); + mvwaddch(window, 0, right, + ACS_LTEE | gnt_color_pair(GNT_COLOR_NORMAL)); @@ -438,7 +444,8 @@
gnt_widget_get_position(widget, &widgetx, &widgety);
win = newwin(height, width, widgety + y, widgetx + x);
- copywin(widget->window, win, y, x, 0, 0, height - 1, width - 1, FALSE);
+ copywin(gnt_widget_get_window(widget), win, y, x, 0, 0, height - 1, @@ -750,12 +757,13 @@
priv->title = g_strdup(title);
- if (w->window && gnt_widget_get_has_border(w)) {
+ if (gnt_widget_get_window(w) && gnt_widget_get_has_border(w)) { /* Erase the old title */
get_title_thingies(box, prev, &pos, &right);
- mvwhline(w->window, 0, pos - 1, ACS_HLINE | gnt_color_pair(GNT_COLOR_NORMAL),
+ mvwhline(gnt_widget_get_window(w), 0, pos - 1, + ACS_HLINE | gnt_color_pair(GNT_COLOR_NORMAL), @@ -805,6 +813,7 @@
GntBoxPrivate *priv = NULL;
GntWidget *widget = NULL;
gint widgetx, widgety, widgetwidth, widgetheight;
@@ -813,6 +822,7 @@
priv = gnt_box_get_instance_private(box);
widget = GNT_WIDGET(box);
+ widget_window = gnt_widget_get_window(widget); gnt_widget_get_position(widget, &widgetx, &widgety);
gnt_widget_get_internal_size(widget, &widgetwidth, &widgetheight);
pos = gnt_widget_get_has_border(widget) ? 1 : 0;
@@ -823,6 +833,7 @@
for (iter = priv->list; iter; iter = iter->next) {
GntWidget *w = GNT_WIDGET(iter->data);
@@ -865,11 +876,13 @@
- copywin(w->window, widget->window, 0, 0,
- y, x, y + height - 1, x + width - 1, FALSE);
+ wwin = gnt_widget_get_window(w); + copywin(wwin, widget_window, 0, 0, y, x, y + height - 1, gnt_widget_set_position(w, x + widgetx, y + widgety);
- wmove(widget->window, y + getcury(w->window), x + getcurx(w->window));
+ wmove(widget_window, y + getcury(wwin), @@ -1013,8 +1026,9 @@
gnt_widget_set_focus(priv->active, TRUE);
- if (GNT_WIDGET(box)->window)
+ if (gnt_widget_get_window(GNT_WIDGET(box))) { gnt_widget_draw(GNT_WIDGET(box));
void gnt_box_give_focus_to_child(GntBox *box, GntWidget *widget)
@@ -1038,7 +1052,8 @@
gnt_widget_set_focus(priv->active, TRUE);
- if (GNT_WIDGET(box)->window)
+ if (gnt_widget_get_window(GNT_WIDGET(box))) { gnt_widget_draw(GNT_WIDGET(box));
--- a/gntbutton.c Fri Apr 26 05:56:54 2019 -0400
+++ b/gntbutton.c Fri Apr 26 16:56:55 2019 -0400
@@ -49,6 +49,7 @@
GntButton *button = GNT_BUTTON(widget);
GntButtonPrivate *priv = gnt_button_get_instance_private(button);
+ WINDOW *window = gnt_widget_get_window(widget); @@ -57,14 +58,14 @@
- wbkgdset(widget->window, '\0' | gnt_color_pair(type));
- mvwaddstr(widget->window, (small_button) ? 0 : 1, 2, C_(priv->text));
+ wbkgdset(window, '\0' | gnt_color_pair(type)); + mvwaddstr(window, (small_button) ? 0 : 1, 2, C_(priv->text)); type = GNT_COLOR_HIGHLIGHT;
gnt_widget_get_internal_size(widget, &width, NULL);
- mvwchgat(widget->window, 0, 0, width,
- focus ? A_BOLD : A_REVERSE, type, NULL);
+ mvwchgat(window, 0, 0, width, focus ? A_BOLD : A_REVERSE, type, --- a/gntcheckbox.c Fri Apr 26 05:56:54 2019 -0400
+++ b/gntcheckbox.c Fri Apr 26 16:56:55 2019 -0400
@@ -45,6 +45,7 @@
GntCheckBox *cb = GNT_CHECK_BOX(widget);
GntCheckBoxPrivate *priv = gnt_check_box_get_instance_private(cb);
+ WINDOW *window = gnt_widget_get_window(widget); gboolean focus = gnt_widget_has_focus(widget);
@@ -53,18 +54,17 @@
- wbkgdset(widget->window, '\0' | gnt_color_pair(type));
+ wbkgdset(window, '\0' | gnt_color_pair(type)); - mvwaddch(widget->window, 0, 0, '[');
- mvwaddch(widget->window, 0, 1,
+ mvwaddch(window, 0, 0, '['); (priv->checked ? 'X' : ' ') |
(focus ? A_UNDERLINE : A_NORMAL));
- mvwaddch(widget->window, 0, 2, ']');
+ mvwaddch(window, 0, 2, ']'); - wbkgdset(widget->window, '\0' | gnt_color_pair(GNT_COLOR_NORMAL));
- mvwaddstr(widget->window, 0, 4,
- C_(gnt_button_get_text(GNT_BUTTON(cb))));
- (void)wmove(widget->window, 0, 1);
+ wbkgdset(window, '\0' | gnt_color_pair(GNT_COLOR_NORMAL)); + mvwaddstr(window, 0, 4, C_(gnt_button_get_text(GNT_BUTTON(cb)))); + (void)wmove(window, 0, 1); --- a/gntcombobox.c Fri Apr 26 05:56:54 2019 -0400
+++ b/gntcombobox.c Fri Apr 26 16:56:55 2019 -0400
@@ -59,8 +59,9 @@
/* XXX: make sure the key actually does exist */
gpointer old = box->selected;
- if (GNT_WIDGET(box)->window)
+ if (gnt_widget_get_window(GNT_WIDGET(box))) { gnt_widget_draw(GNT_WIDGET(box));
gnt_tree_set_selected(GNT_TREE(box->dropdown), key);
g_signal_emit(box, signals[SIG_SELECTION_CHANGED], 0, old, key);
@@ -84,6 +85,7 @@
gnt_combo_box_draw(GntWidget *widget)
GntComboBox *box = GNT_COMBO_BOX(widget);
+ WINDOW *window = gnt_widget_get_window(widget); @@ -100,19 +102,19 @@
- wbkgdset(widget->window, '\0' | gnt_color_pair(type));
+ wbkgdset(window, '\0' | gnt_color_pair(type)); gnt_widget_get_internal_size(widget, &width, NULL);
s = (char *)gnt_util_onscreen_width_to_pointer(text, width - 4, &len);
- mvwaddstr(widget->window, 1, 1, C_(text));
- whline(widget->window, ' ' | gnt_color_pair(type), width - 4 - len);
- mvwaddch(widget->window, 1, width - 3,
+ mvwaddstr(window, 1, 1, C_(text)); + whline(window, ' ' | gnt_color_pair(type), width - 4 - len); + mvwaddch(window, 1, width - 3, ACS_VLINE | gnt_color_pair(GNT_COLOR_NORMAL));
- mvwaddch(widget->window, 1, width - 2,
+ mvwaddch(window, 1, width - 2, ACS_DARROW | gnt_color_pair(GNT_COLOR_NORMAL));
- (void)wmove(widget->window, 1, 1);
+ (void)wmove(window, 1, 1); @@ -147,6 +149,7 @@
GntWidget *widget = GNT_WIDGET(box);
GntWidget *parent = gnt_widget_get_parent(box->dropdown);
gint widgetx, widgety, widgetwidth, widgetheight;
@@ -160,10 +163,10 @@
if (y + height + 2 >= getmaxy(stdscr))
y = widgety - height - 1;
gnt_widget_set_position(parent, widgetx, y);
- mvwin(parent->window, y, widgetx);
- wresize(parent->window, height + 2, widgetwidth);
+ window = gnt_widget_get_window(parent); + mvwin(window, y, widgetx); + wresize(window, height + 2, widgetwidth); gnt_widget_set_internal_size(parent, widgetwidth, height + 2);
--- a/gntentry.c Fri Apr 26 05:56:54 2019 -0400
+++ b/gntentry.c Fri Apr 26 16:56:55 2019 -0400
@@ -312,35 +312,35 @@
GntEntry *entry = GNT_ENTRY(widget);
GntEntryPrivate *priv = gnt_entry_get_instance_private(entry);
+ WINDOW *window = gnt_widget_get_window(widget); if ((focus = gnt_widget_has_focus(widget)))
- wbkgdset(widget->window, '\0' | gnt_color_pair(GNT_COLOR_TEXT_NORMAL));
+ wbkgdset(window, '\0' | gnt_color_pair(GNT_COLOR_TEXT_NORMAL)); - wbkgdset(widget->window, '\0' | gnt_color_pair(GNT_COLOR_HIGHLIGHT_D));
+ wbkgdset(window, '\0' | gnt_color_pair(GNT_COLOR_HIGHLIGHT_D)); - mvwhline(widget->window, 0, 0,
- gnt_ascii_only() ? '*' : ACS_BULLET,
+ mvwhline(window, 0, 0, gnt_ascii_only() ? '*' : ACS_BULLET, g_utf8_pointer_to_offset(priv->scroll, priv->end));
- mvwprintw(widget->window, 0, 0, "%s", C_(priv->scroll));
+ mvwprintw(window, 0, 0, "%s", C_(priv->scroll)); stop = gnt_util_onscreen_width(priv->scroll, priv->end);
gnt_widget_get_internal_size(GNT_WIDGET(entry), &width, NULL);
- mvwhline(widget->window, 0, stop, GNT_ENTRY_CHAR, width - stop);
+ mvwhline(window, 0, stop, GNT_ENTRY_CHAR, width - stop); curpos = gnt_util_onscreen_width(priv->scroll, priv->cursor);
- mvwchgat(widget->window, 0, curpos, 1, A_REVERSE, GNT_COLOR_TEXT_NORMAL, NULL);
- (void)wmove(widget->window, 0, curpos);
+ mvwchgat(window, 0, curpos, 1, A_REVERSE, GNT_COLOR_TEXT_NORMAL, + (void)wmove(window, 0, curpos); --- a/gntlabel.c Fri Apr 26 05:56:54 2019 -0400
+++ b/gntlabel.c Fri Apr 26 16:56:55 2019 -0400
@@ -60,13 +60,12 @@
gnt_label_draw(GntWidget *widget)
+ WINDOW *window = gnt_widget_get_window(widget); GntLabel *label = GNT_LABEL(widget);
chtype flag = gnt_text_format_flag_to_chtype(label->flags);
- wbkgdset(widget->window, '\0' | flag);
- mvwaddstr(widget->window, 0, 0, C_(label->text));
+ wbkgdset(window, '\0' | flag); + mvwaddstr(window, 0, 0, C_(label->text)); @@ -179,11 +178,13 @@
void gnt_label_set_text(GntLabel *label, const char *text)
g_object_set(label, "text", text, NULL);
- if (GNT_WIDGET(label)->window)
- werase(GNT_WIDGET(label)->window);
+ window = gnt_widget_get_window(GNT_WIDGET(label)); gnt_widget_draw(GNT_WIDGET(label));
--- a/gntline.c Fri Apr 26 05:56:54 2019 -0400
+++ b/gntline.c Fri Apr 26 16:56:55 2019 -0400
@@ -49,15 +49,16 @@
gnt_line_draw(GntWidget *widget)
GntLine *line = GNT_LINE(widget);
+ WINDOW *window = gnt_widget_get_window(widget); gnt_widget_get_internal_size(widget, &width, &height);
- mvwvline(widget->window, 1, 0,
ACS_VLINE | gnt_color_pair(GNT_COLOR_NORMAL),
- mvwhline(widget->window, 0, 1,
ACS_HLINE | gnt_color_pair(GNT_COLOR_NORMAL),
--- a/gntmenu.c Fri Apr 26 05:56:54 2019 -0400
+++ b/gntmenu.c Fri Apr 26 16:56:55 2019 -0400
@@ -100,12 +100,13 @@
if (menu->type == GNT_MENU_TOPLEVEL) {
+ WINDOW *window = gnt_widget_get_window(widget); gnt_widget_get_position(widget, &x, &y);
- wbkgdset(widget->window, '\0' | gnt_color_pair(GNT_COLOR_HIGHLIGHT));
- werase(widget->window);
+ wbkgdset(window, '\0' | gnt_color_pair(GNT_COLOR_HIGHLIGHT)); for (i = 0, iter = menu->list; iter; iter = iter->next, i++) {
GntMenuItem *item = GNT_MENU_ITEM(iter->data);
@@ -120,11 +121,10 @@
- gnt_menuitem_set_position(
- item, getcurx(widget->window) + x,
- getcury(widget->window) + y + 1);
- wbkgdset(widget->window, type);
- wprintw(widget->window, " %s ",
+ gnt_menuitem_set_position(item, getcurx(window) + x, + getcury(window) + y + 1); + wbkgdset(window, type); + wprintw(window, " %s ", C_(gnt_menuitem_get_text(item)));
--- a/gntprogressbar.c Fri Apr 26 05:56:54 2019 -0400
+++ b/gntprogressbar.c Fri Apr 26 16:56:55 2019 -0400
@@ -47,6 +47,7 @@
GntProgressBarPrivate *priv = gnt_progress_bar_get_instance_private (
GNT_PROGRESS_BAR (widget));
+ WINDOW *window = gnt_widget_get_window(widget); @@ -69,24 +70,28 @@
for (i = 0; i < height; i++) {
- mvwhline(widget->window, i, 0, ' ' | color,
+ mvwhline(window, i, 0, ' ' | color, width); for (i = 0; i < height; i++) {
- mvwhline (widget->window, i, start, ACS_CKBOARD | color | A_REVERSE, end);
+ mvwhline(window, i, start, + ACS_CKBOARD | color | A_REVERSE, end); pos = width / 2 - strlen(progress) / 2;
for (i = 0; i < progress[i]; i++, pos++) {
- wattrset (widget->window, color | ((pos < start || pos > end) ? A_NORMAL : A_REVERSE));
- mvwprintw(widget->window, height / 2,
- pos, "%c", progress[i]);
+ color | ((pos < start || + mvwprintw(window, height / 2, pos, "%c", - wattrset (widget->window, color);
+ wattrset(window, color); @@ -101,25 +106,28 @@
for (i = 0; i < width; i++) {
- mvwvline(widget->window, 0, i, ' ' | color,
+ mvwvline(window, 0, i, ' ' | color, height); for (i = 0; i < width; i++) {
- mvwvline (widget->window, start, i, ACS_CKBOARD | color | A_REVERSE, end);
+ mvwvline(window, start, i, + ACS_CKBOARD | color | A_REVERSE, end); pos = height / 2 - strlen(progress) / 2;
for (i = 0; i < progress[i]; i++, pos++) {
- wattrset (widget->window, color | ((pos < start || pos > end) ? A_NORMAL : A_REVERSE));
- mvwprintw(widget->window, pos,
+ color | ((pos < start || + mvwprintw(window, pos, width / 2, - wattrset (widget->window, color);
+ wattrset(window, color); --- a/gntslider.c Fri Apr 26 05:56:54 2019 -0400
+++ b/gntslider.c Fri Apr 26 16:56:55 2019 -0400
@@ -82,6 +82,7 @@
GntSlider *slider = GNT_SLIDER(widget);
GntSliderPrivate *priv = gnt_slider_get_instance_private(slider);
+ WINDOW *window = gnt_widget_get_window(widget); @@ -101,18 +102,22 @@
- mvwvline(widget->window, size-position, 0, ACS_VLINE | gnt_color_pair(GNT_COLOR_NORMAL) | A_BOLD,
- mvwvline(widget->window, 0, 0, ACS_VLINE | gnt_color_pair(GNT_COLOR_NORMAL),
+ mvwvline(window, size - position, 0, + ACS_VLINE | gnt_color_pair(GNT_COLOR_NORMAL) | A_BOLD, + ACS_VLINE | gnt_color_pair(GNT_COLOR_NORMAL), - mvwhline(widget->window, 0, 0, ACS_HLINE | gnt_color_pair(GNT_COLOR_NORMAL) | A_BOLD,
- mvwhline(widget->window, 0, position, ACS_HLINE | gnt_color_pair(GNT_COLOR_NORMAL),
+ ACS_HLINE | gnt_color_pair(GNT_COLOR_NORMAL) | A_BOLD, + mvwhline(window, 0, position, + ACS_HLINE | gnt_color_pair(GNT_COLOR_NORMAL), - mvwaddch(widget->window, priv->vertical ? (size - position - 1) : 0,
+ mvwaddch(window, priv->vertical ? (size - position - 1) : 0, priv->vertical ? 0 : position,
ACS_CKBOARD | gnt_color_pair(attr));
--- a/gnttextview.c Fri Apr 26 05:56:54 2019 -0400
+++ b/gnttextview.c Fri Apr 26 16:56:55 2019 -0400
@@ -85,6 +85,7 @@
gnt_text_view_draw(GntWidget *widget)
GntTextView *view = GNT_TEXT_VIEW(widget);
+ WINDOW *window = gnt_widget_get_window(widget); @@ -95,8 +96,8 @@
gnt_widget_get_internal_size(widget, &width, &height);
- wbkgd(widget->window, gnt_color_pair(GNT_COLOR_NORMAL));
- werase(widget->window);
+ wbkgd(window, gnt_color_pair(GNT_COLOR_NORMAL)); n = g_list_length(view->list);
if ((view->flags & GNT_TEXT_VIEW_TOP_ALIGN) && n < height) {
@@ -116,7 +117,7 @@
GntTextLine *line = lines->data;
- (void)wmove(widget->window, height - 1 - i - comp, 0);
+ (void)wmove(window, height - 1 - i - comp, 0); for (iter = line->segments; iter; iter = iter->next)
@@ -127,8 +128,9 @@
if (select_start && select_start < view->string->str + seg->start && select_end > view->string->str + seg->end) {
- wattrset(widget->window, fl);
- wprintw(widget->window, "%s", C_(view->string->str + seg->start));
+ C_(view->string->str + seg->start)); } else if (select_start && select_end &&
((select_start >= view->string->str + seg->start && select_start <= view->string->str + seg->end) ||
(select_end <= view->string->str + seg->end && select_start <= view->string->str + seg->start))) {
@@ -141,19 +143,20 @@
str = g_strndup(cur, last - cur);
- wattrset(widget->window, fl);
- waddstr(widget->window, C_(str));
+ waddstr(window, C_(str)); cur = g_utf8_next_char(cur);
- wattrset(widget->window, fl);
- wprintw(widget->window, "%s", C_(view->string->str + seg->start));
+ C_(view->string->str + seg->start)); - wattroff(widget->window, A_UNDERLINE | A_BLINK | A_REVERSE);
- whline(widget->window, ' ', width - line->length - has_scroll);
+ wattroff(window, A_UNDERLINE | A_BLINK | A_REVERSE); + whline(window, ' ', width - line->length - has_scroll); @@ -181,19 +184,21 @@
else if (showing + position < rows && view->list && !view->list->prev)
position = rows - showing;
- mvwvline(widget->window, position + 1, scrcol,
- ACS_CKBOARD | gnt_color_pair(GNT_COLOR_HIGHLIGHT_D), showing);
+ mvwvline(window, position + 1, scrcol, + ACS_CKBOARD | gnt_color_pair(GNT_COLOR_HIGHLIGHT_D), - mvwaddch(widget->window, 0, scrcol,
- (lines ? ACS_UARROW : ' ') | gnt_color_pair(GNT_COLOR_HIGHLIGHT_D));
- mvwaddch(widget->window, height - 1, scrcol,
+ mvwaddch(window, 0, scrcol, + (lines ? ACS_UARROW : ' ') | + gnt_color_pair(GNT_COLOR_HIGHLIGHT_D)); + mvwaddch(window, height - 1, scrcol, ((view->list && view->list->prev) ? ACS_DARROW : ' ') |
gnt_color_pair(GNT_COLOR_HIGHLIGHT_D));
- wmove(widget->window, 0, 0);
@@ -437,8 +442,9 @@
gnt_widget_set_drawing(GNT_WIDGET(view), FALSE);
- if (GNT_WIDGET(view)->window)
+ if (gnt_widget_get_window(GNT_WIDGET(view))) { gnt_widget_draw(GNT_WIDGET(view));
g_string_free(string, TRUE);
@@ -694,8 +700,9 @@
g_list_free_full(view->tags, (GDestroyNotify)free_tag);
- if (GNT_WIDGET(view)->window)
+ if (gnt_widget_get_window(GNT_WIDGET(view))) { gnt_widget_draw(GNT_WIDGET(view));
int gnt_text_view_get_lines_below(GntTextView *view)
--- a/gnttree.c Fri Apr 26 05:56:54 2019 -0400
+++ b/gnttree.c Fri Apr 26 16:56:55 2019 -0400
@@ -456,7 +456,7 @@
if (!COLUMN_INVISIBLE(priv, i + 1) && notfirst) {
- mvwaddch(widget->window, y, x, type);
+ mvwaddch(gnt_widget_get_window(widget), y, x, type); @@ -467,6 +467,7 @@
GntTreePrivate *priv = gnt_tree_get_instance_private(tree);
GntWidget *widget = GNT_WIDGET(tree);
+ WINDOW *window = gnt_widget_get_window(widget); @@ -487,17 +488,17 @@
tree_selection_changed(tree, NULL, priv->current);
- wbkgd(widget->window, gnt_color_pair(GNT_COLOR_NORMAL));
+ wbkgd(window, gnt_color_pair(GNT_COLOR_NORMAL)); - mvwhline(widget->window, pos + 1, pos,
+ mvwhline(window, pos + 1, pos, ACS_HLINE | gnt_color_pair(GNT_COLOR_NORMAL),
- mvwhline(widget->window, pos, pos,
+ mvwhline(window, pos, pos, ' ' | gnt_color_pair(GNT_COLOR_NORMAL),
@@ -505,7 +506,7 @@
if (COLUMN_INVISIBLE(priv, i)) {
- mvwaddnstr(widget->window, pos, x + (x != pos),
+ mvwaddnstr(window, pos, x + (x != pos), @@ -606,9 +607,9 @@
attr |= gnt_color_pair(GNT_COLOR_NORMAL);
- wbkgdset(widget->window, '\0' | attr);
- mvwaddstr(widget->window, i, pos, C_(str));
- whline(widget->window, ' ', scrcol - wr);
+ wbkgdset(window, '\0' | attr); + mvwaddstr(window, i, pos, C_(str)); + whline(window, ' ', scrcol - wr); tree_mark_columns(tree, pos, i,
@@ -616,9 +617,9 @@
- wbkgdset(widget->window, '\0' | gnt_color_pair(GNT_COLOR_NORMAL));
+ wbkgdset(window, '\0' | gnt_color_pair(GNT_COLOR_NORMAL)); while (i < height - pos) {
- mvwhline(widget->window, i, pos, ' ', width - pos * 2 - 1);
+ mvwhline(window, i, pos, ' ', width - pos * 2 - 1); tree_mark_columns(tree, pos, i,
(priv->show_separator ? ACS_VLINE : ' '));
@@ -652,17 +653,18 @@
position += pos + start + 1;
- mvwvline(widget->window, pos + start + 1, scrcol,
- ' ' | gnt_color_pair(GNT_COLOR_NORMAL), rows);
- mvwvline(widget->window, position, scrcol,
- ACS_CKBOARD | gnt_color_pair(GNT_COLOR_HIGHLIGHT_D), showing);
+ mvwvline(window, pos + start + 1, scrcol, + ' ' | gnt_color_pair(GNT_COLOR_NORMAL), rows); + mvwvline(window, position, scrcol, + ACS_CKBOARD | gnt_color_pair(GNT_COLOR_HIGHLIGHT_D), - mvwaddch(widget->window, start + pos, scrcol,
+ mvwaddch(window, start + pos, scrcol, ((priv->top != priv->root) ? ACS_UARROW : ' ') |
gnt_color_pair(GNT_COLOR_HIGHLIGHT_D));
- mvwaddch(widget->window, height - pos - 1, scrcol,
+ mvwaddch(window, height - pos - 1, scrcol, (row ? ACS_DARROW : ' ') |
gnt_color_pair(GNT_COLOR_HIGHLIGHT_D));
@@ -670,11 +672,11 @@
const char *str = gnt_util_onscreen_width_to_pointer(
priv->search->str, scrcol - 1, NULL);
- wbkgdset(widget->window, '\0' | gnt_color_pair(GNT_COLOR_HIGHLIGHT_D));
- mvwaddnstr(widget->window, height - pos - 1, pos,
- priv->search->str, str - priv->search->str);
+ wbkgdset(window, '\0' | gnt_color_pair(GNT_COLOR_HIGHLIGHT_D)); + mvwaddnstr(window, height - pos - 1, pos, priv->search->str, + str - priv->search->str); - wmove(widget->window, current, pos);
+ wmove(window, current, pos); gnt_widget_queue_update(widget);
@@ -2039,8 +2041,9 @@
row = g_hash_table_lookup(priv->hash, key);
row->collapsed = !expanded;
- if (GNT_WIDGET(tree)->window)
+ if (gnt_widget_get_window(GNT_WIDGET(tree))) { gnt_widget_draw(GNT_WIDGET(tree));
g_signal_emit(tree, signals[SIG_COLLAPSED], 0, key, row->collapsed);
--- a/gntwidget.c Fri Apr 26 05:56:54 2019 -0400
+++ b/gntwidget.c Fri Apr 26 16:56:55 2019 -0400
@@ -411,6 +411,13 @@
gnt_widget_set_mapped(widget, FALSE);
+gnt_widget_get_window(GntWidget *widget) + g_return_val_if_fail(GNT_IS_WIDGET(widget), NULL); gnt_widget_set_parent(GntWidget *widget, GntWidget *parent)
--- a/gntwidget.h Fri Apr 26 05:56:54 2019 -0400
+++ b/gntwidget.h Fri Apr 26 16:56:55 2019 -0400
@@ -187,6 +187,18 @@
void gnt_widget_hide(GntWidget *widget);
+ * gnt_widget_get_window: + * Get the window of a widget. + * Returns: (transfer none) (nullable): The widget's window. +WINDOW *gnt_widget_get_window(GntWidget *widget); * @parent: The parent widget.
--- a/gntwm.c Fri Apr 26 05:56:54 2019 -0400
+++ b/gntwm.c Fri Apr 26 16:56:55 2019 -0400
@@ -126,7 +126,7 @@
+ src = gnt_widget_get_window(widget); copywin(src, dst, node->scroll, 0, 0, 0, getmaxy(dst) - 1, getmaxx(dst) - 1, 0);
@@ -134,11 +134,12 @@
if (GNT_IS_WINDOW(widget) || GNT_IS_BOX(widget)) {
GntWidget *active = gnt_box_get_active(GNT_BOX(widget));
+ WINDOW *active_window = gnt_widget_get_window(active); gint curx, cury, widgetx, widgety;
gnt_widget_get_position(active, &curx, &cury);
gnt_widget_get_position(widget, &widgetx, &widgety);
- curx += getcurx(active->window) - widgetx;
- cury += getcury(active->window) - widgety;
+ curx += getcurx(active_window) - widgetx; + cury += getcury(active_window) - widgety; if (wmove(node->window, cury, curx) != OK) {
(void)wmove(node->window, 0, 0);
@@ -1049,7 +1050,7 @@
if (!gnt_widget_get_has_border(win))
+ d = gnt_widget_get_window(win); gnt_widget_get_size(win, &w, &h);
if (gnt_widget_has_shadow(win)) {
@@ -1184,7 +1185,7 @@
remove_tag(GntWidget *widget, G_GNUC_UNUSED gpointer data)
- mvwhline(widget->window, 0, 1,
+ mvwhline(gnt_widget_get_window(widget), 0, 1, ACS_HLINE | gnt_color_pair(GNT_COLOR_NORMAL), 3);
@@ -1209,8 +1210,9 @@
wm->tagged = g_list_prepend(wm->tagged, widget);
- wbkgdset(widget->window, ' ' | gnt_color_pair(GNT_COLOR_HIGHLIGHT));
- mvwprintw(widget->window, 0, 1, "[T]");
+ wbkgdset(gnt_widget_get_window(widget), + ' ' | gnt_color_pair(GNT_COLOR_HIGHLIGHT)); + mvwprintw(gnt_widget_get_window(widget), 0, 1, "[T]"); @@ -1770,8 +1772,9 @@
gboolean transient = FALSE;
- if (widget->window == NULL)
+ if (gnt_widget_get_window(widget) == NULL) { node = g_new0(GntNode, 1);
@@ -1851,7 +1854,7 @@
if (title && (p = g_hash_table_lookup(wm->positions, title)) != NULL) {
sanitize_position(widget, &p->x, &p->y, TRUE);
gnt_widget_set_position(widget, p->x, p->y);
- mvwin(widget->window, p->y, p->x);
+ mvwin(gnt_widget_get_window(widget), p->y, p->x); --- a/wms/irssi.c Fri Apr 26 05:56:54 2019 -0400
+++ b/wms/irssi.c Fri Apr 26 16:56:55 2019 -0400
@@ -145,7 +145,7 @@
gnt_widget_set_take_focus(win, TRUE);
gnt_widget_set_position(win, x, y);
- mvwin(win->window, y, x);
+ mvwin(gnt_widget_get_window(win), y, x); gnt_widget_set_size(win, (w < 0) ? -1 : w + 2, h + 2);
@@ -168,7 +168,7 @@
x = (getmaxx(stdscr) - w) / 2;
y = (getmaxy(stdscr) - h) / 2;
gnt_widget_set_position(win, x, y);
- mvwin(win->window, y, x);
+ mvwin(gnt_widget_get_window(win), y, x); gnt_window_set_maximize(GNT_WINDOW(win), GNT_WINDOW_MAXIMIZE_Y);
remove_border_set_position_size(wm, win, 0, 0, -1, getmaxy(stdscr) - 1);
--- a/wms/s.c Fri Apr 26 05:56:54 2019 -0400
+++ b/wms/s.c Fri Apr 26 16:56:55 2019 -0400
@@ -51,24 +51,28 @@
envelope_main_window(GntWidget *win)
+ window = gnt_widget_get_window(win); gnt_widget_get_size(win, &w, &h);
- wresize(win->window, h, w + 1);
- mvwvline(win->window, 0, w, ACS_VLINE | COLOR_PAIR(GNT_COLOR_NORMAL), h);
+ wresize(window, h, w + 1); + mvwvline(window, 0, w, ACS_VLINE | COLOR_PAIR(GNT_COLOR_NORMAL), h); envelope_normal_window(GntWidget *win)
if (!gnt_widget_get_has_border(win) || gnt_widget_get_transient(win))
+ window = gnt_widget_get_window(win); gnt_widget_get_size(win, &w, &h);
- wbkgdset(win->window, ' ' | COLOR_PAIR(GNT_COLOR_NORMAL));
- mvwprintw(win->window, 0, w - 4, "[X]");
+ wbkgdset(window, ' ' | COLOR_PAIR(GNT_COLOR_NORMAL)); + mvwprintw(window, 0, w - 4, "[X]"); @@ -120,7 +124,7 @@
gnt_widget_set_take_focus(win, TRUE);
gnt_widget_set_position(win, x, y);
- mvwin(win->window, y, x);
+ mvwin(gnt_widget_get_window(win), y, x); gnt_widget_set_size(win, -1, h + 2); /* XXX: Why is the +2 needed here? -- sadrul */
} else if (!gnt_widget_get_transient(win)) {
@@ -131,7 +135,7 @@
gnt_widget_set_position(win, x, y);
- mvwin(win->window, y, x);
+ mvwin(gnt_widget_get_window(win), y, x);