void set_sbar(int total, int start, int page)
{
+ if (!cfg.scrollbar)
+ return;
inst->sbar_adjust->lower = 0;
inst->sbar_adjust->upper = total;
inst->sbar_adjust->value = start;
void scrollbar_moved(GtkAdjustment *adj, gpointer data)
{
+ if (!cfg.scrollbar)
+ return;
if (!inst->ignore_sbar)
term_scroll(1, (int)adj->value);
}
if (!strcmp(p, "-nethack")) {
cfg.nethack_keypad = 1;
}
+ if (!strcmp(p, "-sb-")) {
+ cfg.scrollbar = 0;
+ }
}
inst->fonts[0] = gdk_font_load(cfg.font);
gtk_drawing_area_size(GTK_DRAWING_AREA(inst->area),
inst->font_width * cfg.width + 2*cfg.window_border,
inst->font_height * cfg.height + 2*cfg.window_border);
- inst->sbar_adjust = GTK_ADJUSTMENT(gtk_adjustment_new(0, 0, 0, 0, 0, 0));
- inst->sbar = gtk_vscrollbar_new(inst->sbar_adjust);
+ if (cfg.scrollbar) {
+ inst->sbar_adjust = GTK_ADJUSTMENT(gtk_adjustment_new(0,0,0,0,0,0));
+ inst->sbar = gtk_vscrollbar_new(inst->sbar_adjust);
+ }
inst->hbox = GTK_BOX(gtk_hbox_new(FALSE, 0));
gtk_box_pack_start(inst->hbox, inst->area, TRUE, TRUE, 0);
- gtk_box_pack_end(inst->hbox, inst->sbar, FALSE, FALSE, 0);
+ if (cfg.scrollbar)
+ gtk_box_pack_start(inst->hbox, inst->sbar, FALSE, FALSE, 0);
gtk_window_set_policy(GTK_WINDOW(inst->window), FALSE, TRUE, TRUE);
GTK_SIGNAL_FUNC(selection_get), inst);
gtk_signal_connect(GTK_OBJECT(inst->area), "selection_clear_event",
GTK_SIGNAL_FUNC(selection_clear), inst);
- gtk_signal_connect(GTK_OBJECT(inst->sbar_adjust), "value_changed",
- GTK_SIGNAL_FUNC(scrollbar_moved), inst);
+ if (cfg.scrollbar)
+ gtk_signal_connect(GTK_OBJECT(inst->sbar_adjust), "value_changed",
+ GTK_SIGNAL_FUNC(scrollbar_moved), inst);
gtk_timeout_add(20, timer_func, inst);
gtk_widget_add_events(GTK_WIDGET(inst->area),
GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK |
GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK);
gtk_widget_show(inst->area);
- gtk_widget_show(inst->sbar);
+ if (cfg.scrollbar)
+ gtk_widget_show(inst->sbar);
gtk_widget_show(GTK_WIDGET(inst->hbox));
gtk_widget_show(inst->window);