aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rw-r--r--config.mk2
-rw-r--r--example_svterc3
-rw-r--r--svte.c28
4 files changed, 32 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index c243a48..0c49d72 100644
--- a/Makefile
+++ b/Makefile
@@ -43,13 +43,13 @@ svte: ${OBJ}
clean:
@echo cleaning
- @rm -f svte ${OBJ} mt-${VERSION}.tar.gz
+ @rm -f svte ${OBJ} svte-${VERSION}.tar.gz
dist: clean
@echo creating dist tarball
@mkdir -p svte-${VERSION}
@cp -R Makefile config.mk ${SRC} svte-${VERSION}
- @tar -cf svte-${VERSION}.tar mt-${VERSION}
+ @tar -cf svte-${VERSION}.tar svte-${VERSION}
@gzip svte-${VERSION}.tar
@rm -rf svte-${VERSION}
diff --git a/config.mk b/config.mk
index 29d7470..0885e1d 100644
--- a/config.mk
+++ b/config.mk
@@ -17,7 +17,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# svte version:
-VERSION = 0.1.4.1
+VERSION = 0.1.4.2
# Customize below to fit your system
diff --git a/example_svterc b/example_svterc
index 36a4649..2447cdd 100644
--- a/example_svterc
+++ b/example_svterc
@@ -46,6 +46,9 @@ url_regex=(ftp|http)s?://[-a-zA-Z0-9.?$%&/=_~#.,:;+]*
# true to enable a visible bell, false to disable it.
visible_bell=true
+# set to false if you do not want to see the tab bar even with multiple tabs.
+show_tabbar=true
+
# Initial window height in pixels.
window_height=500
diff --git a/svte.c b/svte.c
index f6bd7af..7258663 100644
--- a/svte.c
+++ b/svte.c
@@ -51,6 +51,7 @@ typedef struct {
gdouble bg_saturation;
gchar *bg_image;
gchar *url_regex;
+ gboolean show_tabbar;
gboolean visible_bell;
gint window_height;
gint window_width;
@@ -76,6 +77,7 @@ static void tab_focus(GtkNotebook *notebook, GtkNotebookPage *page,
guint page_num, struct window *w);
static void set_window_title(term *t);
static void launch_url(char *url);
+static void zoom(gboolean b, struct term *t);
static inline term* get_current_term(window *w);
static inline term* get_nth_term(window *w, guint page);
@@ -122,6 +124,17 @@ static void launch_url(char *url) {
g_spawn_command_line_async(g_strconcat(config->browser_command, " ", url, NULL), NULL);
}
+static void zoom(gboolean b, struct term *t) {
+
+ int size = -2000;
+ if(b)
+ size = 2000;
+ PangoFontDescription *font = vte_terminal_get_font(VTE_TERMINAL(t->vte));
+ pango_font_description_set_size(font, pango_font_description_get_size(font) + size);
+ vte_terminal_set_font(VTE_TERMINAL(t->vte), font);
+
+}
+
/* key event handler */
gboolean event_key(GtkWidget *widget, GdkEventKey *event, window *w) {
@@ -148,6 +161,14 @@ gboolean event_key(GtkWidget *widget, GdkEventKey *event, window *w) {
vte_terminal_paste_clipboard(VTE_TERMINAL(get_current_term(w)->vte));
return TRUE;
}
+ if (g == GDK_plus) {
+ zoom(TRUE, get_current_term(w));
+ return TRUE;
+ }
+ if (g == GDK_underscore) {
+ zoom(FALSE, get_current_term(w));
+ return TRUE;
+ }
if (g == GDK_C) {
vte_terminal_copy_clipboard(VTE_TERMINAL(get_current_term(w)->vte));
return TRUE;
@@ -173,7 +194,7 @@ gboolean event_key(GtkWidget *widget, GdkEventKey *event, window *w) {
return TRUE;
}
}
-
+
if(g == GDK_KEY_Forward) {
tab_switch(TRUE, w);
return TRUE;
@@ -398,7 +419,8 @@ static void tab_new(struct window *w) {
vte_terminal_fork_command_full(VTE_TERMINAL(t->vte),
VTE_PTY_DEFAULT, tab_get_cwd(previous),
args, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, &t->pid, NULL);
- gtk_notebook_set_show_tabs(GTK_NOTEBOOK(w->notebook), TRUE);
+ if(config->show_tabbar == TRUE)
+ gtk_notebook_set_show_tabs(GTK_NOTEBOOK(w->notebook), TRUE);
}
g_object_set_qdata_full(G_OBJECT(gtk_notebook_get_nth_page(
@@ -536,6 +558,8 @@ static void parse_config_file(gchar *config_file) {
keyfile, "ui", "bg_saturation", NULL);
config->url_regex = g_key_file_get_string(
keyfile, "ui", "url_regex", NULL);
+ config->show_tabbar = g_key_file_get_boolean(
+ keyfile, "ui", "show_tabbar", NULL);
config->visible_bell = g_key_file_get_boolean(
keyfile, "ui", "visible_bell", NULL);
config->window_height = g_key_file_get_integer(