billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=33322d04af384c98b6f98117c3d55dbe833a3e2b

commit 33322d04af384c98b6f98117c3d55dbe833a3e2b
Author: Boris Faure <[email protected]>
Date:   Tue Mar 17 18:46:39 2015 +0100

    toggle fullscreen by pressing F11
---
 src/bin/config.c | 31 ++++++++++++++++++++++++-------
 src/bin/keyin.c  | 14 ++++++++++++++
 2 files changed, 38 insertions(+), 7 deletions(-)

diff --git a/src/bin/config.c b/src/bin/config.c
index 0f4e7cb..b98dce5 100644
--- a/src/bin/config.c
+++ b/src/bin/config.c
@@ -7,7 +7,7 @@
 #include "col.h"
 #include "utils.h"
 
-#define CONF_VER 4
+#define CONF_VER 5
 
 #define LIM(v, min, max) {if (v >= max) v = max; else if (v <= min) v = min;}
 
@@ -280,10 +280,6 @@ _config_upgrade_to_v2(Config *config)
    config->version = 2;
 }
 
-static void
-_add_default_keys(Config *config)
-{
-   Config_Keys *kb;
 #define ADD_KB(Name, Ctrl, Alt, Shift, Win, Cb)                   \
    kb = calloc(1, sizeof(Config_Keys));                           \
    if (!kb) return;                                               \
@@ -295,6 +291,24 @@ _add_default_keys(Config *config)
    kb->cb = eina_stringshare_add_length(Cb, strlen(Cb));          \
    config->keys = eina_list_append(config->keys, kb)
 
+static void
+_config_upgrade_to_v4(Config *config)
+{
+   Config_Keys *kb;
+
+   ADD_KB("F11", 0, 0, 0, 0, "win_fullscreen");
+
+   config->version = 4;
+}
+
+static void
+_add_default_keys(Config *config)
+{
+   Config_Keys *kb;
+
+   ADD_KB("F11", 0, 0, 0, 0, "win_fullscreen");
+
+   /* Ctrl- */
    ADD_KB("Prior", 1, 0, 0, 0, "term_prev");
    ADD_KB("Next", 1, 0, 0, 0, "term_next");
    ADD_KB("0", 1, 0, 0, 0, "tab_10");
@@ -340,9 +354,9 @@ _add_default_keys(Config *config)
    ADD_KB("KP_Subtract", 0, 0, 1, 0, "decrease_font_size");
    ADD_KB("KP_Multiply", 0, 0, 1, 0, "reset_font_size");
    ADD_KB("KP_Divide", 0, 0, 1, 0, "copy_clipboard");
+}
 
 #undef ADD_KB
-}
 
 
 void
@@ -459,7 +473,10 @@ config_load(const char *key)
                     }
                   config->gravatar = EINA_TRUE;
                   /*pass through*/
-                case CONF_VER: /* 4 */
+                case 4:
+                  _config_upgrade_to_v4(config);
+                  /*pass through*/
+                case CONF_VER: /* 5 */
                   config->version = CONF_VER;
                   break;
                 default:
diff --git a/src/bin/keyin.c b/src/bin/keyin.c
index c3c0442..2473f54 100644
--- a/src/bin/keyin.c
+++ b/src/bin/keyin.c
@@ -449,6 +449,19 @@ cb_miniview(Evas_Object *term)
 }
 
 static Eina_Bool
+cb_win_fullscreen(Evas_Object *term)
+{
+   Evas_Object *win = termio_win_get(term);
+   Eina_Bool fullscreen;
+
+   if (!win)
+     return EINA_FALSE;
+   fullscreen = elm_win_fullscreen_get(win);
+   elm_win_fullscreen_set(win, !fullscreen);
+   return EINA_TRUE;
+}
+
+static Eina_Bool
 cb_increase_font_size(Evas_Object *term)
 {
    termcmd_do(term, NULL, NULL, "f+");
@@ -565,6 +578,7 @@ static Shortcut_Action _actions[] =
      {"reset_font_size", gettext_noop("Reset font size"), cb_reset_font_size},
 
      {"group", gettext_noop("Actions"), NULL},
+     {"win_fullscreen", gettext_noop("Toggle Fullscreen of the window"), 
cb_win_fullscreen},
      {"miniview", gettext_noop("Display the history miniview"), cb_miniview},
      {"cmd_box", gettext_noop("Display the command box"), cb_cmd_box},
 

-- 


Reply via email to