Skip to content
Permalink
Browse files

add the abbility to switch tabs using [ctrl+tab] and [ctrl+shift+tab]

If true the gsettings key "ctrl-tab-switch-tabs" into "org.mate.pluma"

Closes #211
  • Loading branch information...
sc0w committed Jul 25, 2018
1 parent 9fa3649 commit 98edfd338d1248d386fc211f27252d5fb9053dc9
Showing with 34 additions and 0 deletions.
  1. +5 −0 data/org.mate.pluma.gschema.xml.in
  2. +29 −0 pluma/pluma-window.c
@@ -11,6 +11,11 @@
<summary>Editor Font</summary>
<description>A custom font that will be used for the editing area. This will only take effect if the "Use Default Font" option is turned off.</description>
</key>
<key name="ctrl-tab-switch-tabs" type="b">
<default>false</default>
<summary>Switch tabs with [ctrl] + [tab]</summary>
<description>If true, it enables the ability to switch tabs using [ctrl + tab] and [ctrl + shift + tab].</description>
</key>
<key name="color-scheme" type="s">
<default>'tango'</default>
<summary>Style Scheme</summary>
@@ -338,6 +338,35 @@ pluma_window_key_press_event (GtkWidget *widget,
if (!g_settings_get_boolean (settings, "use-default-font") && (nsize > 5))
g_settings_set_string (settings, "editor-font", g_strconcat (tempfont, tempsize, NULL));
}

if (g_settings_get_boolean (settings, "ctrl-tab-switch-tabs"))
{
GtkNotebook *notebook = GTK_NOTEBOOK (_pluma_window_get_notebook (PLUMA_WINDOW (window)));

int pages = gtk_notebook_get_n_pages (notebook);
int page_num = gtk_notebook_get_current_page (notebook);

if (event->keyval == GDK_KEY_ISO_Left_Tab)
{
if (page_num != 0)
gtk_notebook_prev_page (notebook);
else
gtk_notebook_set_current_page (notebook, (pages - 1));
return TRUE;
}

if (event->keyval == GDK_KEY_Tab)
{
if (page_num != (pages -1))
gtk_notebook_next_page (notebook);
else
gtk_notebook_set_current_page (notebook, 0);
return TRUE;
}
}
g_object_unref (settings);
g_free (font);
g_free (tempsize);
}

if (grand_parent_class == NULL)

0 comments on commit 98edfd3

Please sign in to comment.
You can’t perform that action at this time.