Add 'fullscreen' conf setting to disable F11
Settings fullscreen to false prevents termite from intercepting F11. See #144
This commit is contained in:
parent
c4a39f9d8d
commit
d20bee9a34
11
termite.cc
11
termite.cc
|
@ -89,6 +89,7 @@ struct config_info {
|
||||||
hint_info hints;
|
hint_info hints;
|
||||||
char *browser;
|
char *browser;
|
||||||
gboolean dynamic_title, urgent_on_bell, clickable_url, size_hints, modify_other_keys;
|
gboolean dynamic_title, urgent_on_bell, clickable_url, size_hints, modify_other_keys;
|
||||||
|
gboolean fullscreen;
|
||||||
int tag;
|
int tag;
|
||||||
char *config_file;
|
char *config_file;
|
||||||
};
|
};
|
||||||
|
@ -669,7 +670,7 @@ gboolean window_state_cb(GtkWindow *, GdkEventWindowState *event, keybind_info *
|
||||||
gboolean key_press_cb(VteTerminal *vte, GdkEventKey *event, keybind_info *info) {
|
gboolean key_press_cb(VteTerminal *vte, GdkEventKey *event, keybind_info *info) {
|
||||||
const guint modifiers = event->state & gtk_accelerator_get_default_mod_mask();
|
const guint modifiers = event->state & gtk_accelerator_get_default_mod_mask();
|
||||||
|
|
||||||
if (event->keyval == GDK_KEY_F11)
|
if (info->config.fullscreen && event->keyval == GDK_KEY_F11)
|
||||||
info->fullscreen_toggle(info->window);
|
info->fullscreen_toggle(info->window);
|
||||||
|
|
||||||
if (info->select.mode != vi_mode::insert) {
|
if (info->select.mode != vi_mode::insert) {
|
||||||
|
@ -1274,6 +1275,7 @@ static void set_config(GtkWindow *window, VteTerminal *vte, config_info *info,
|
||||||
info->clickable_url = cfg_bool("clickable_url", TRUE);
|
info->clickable_url = cfg_bool("clickable_url", TRUE);
|
||||||
info->size_hints = cfg_bool("size_hints", FALSE);
|
info->size_hints = cfg_bool("size_hints", FALSE);
|
||||||
info->modify_other_keys = cfg_bool("modify_other_keys", FALSE);
|
info->modify_other_keys = cfg_bool("modify_other_keys", FALSE);
|
||||||
|
info->fullscreen = cfg_bool("fullscreen", TRUE);
|
||||||
|
|
||||||
g_free(info->browser);
|
g_free(info->browser);
|
||||||
info->browser = nullptr;
|
info->browser = nullptr;
|
||||||
|
@ -1451,7 +1453,7 @@ int main(int argc, char **argv) {
|
||||||
nullptr},
|
nullptr},
|
||||||
{vi_mode::insert, 0, 0, 0, 0},
|
{vi_mode::insert, 0, 0, 0, 0},
|
||||||
{{nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, 0, 0},
|
{{nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, 0, 0},
|
||||||
nullptr, FALSE, FALSE, FALSE, FALSE, FALSE, -1, config_file},
|
nullptr, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, -1, config_file},
|
||||||
gtk_window_fullscreen
|
gtk_window_fullscreen
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1489,7 +1491,6 @@ int main(int argc, char **argv) {
|
||||||
g_signal_connect(vte, "child-exited", G_CALLBACK(exit_with_status), nullptr);
|
g_signal_connect(vte, "child-exited", G_CALLBACK(exit_with_status), nullptr);
|
||||||
}
|
}
|
||||||
g_signal_connect(window, "destroy", G_CALLBACK(exit_with_success), nullptr);
|
g_signal_connect(window, "destroy", G_CALLBACK(exit_with_success), nullptr);
|
||||||
g_signal_connect(window, "window-state-event", G_CALLBACK(window_state_cb), &info);
|
|
||||||
g_signal_connect(vte, "key-press-event", G_CALLBACK(key_press_cb), &info);
|
g_signal_connect(vte, "key-press-event", G_CALLBACK(key_press_cb), &info);
|
||||||
g_signal_connect(info.panel.entry, "key-press-event", G_CALLBACK(entry_key_press_cb), &info);
|
g_signal_connect(info.panel.entry, "key-press-event", G_CALLBACK(entry_key_press_cb), &info);
|
||||||
g_signal_connect(panel_overlay, "get-child-position", G_CALLBACK(position_overlay_cb), nullptr);
|
g_signal_connect(panel_overlay, "get-child-position", G_CALLBACK(position_overlay_cb), nullptr);
|
||||||
|
@ -1501,6 +1502,10 @@ int main(int argc, char **argv) {
|
||||||
g_signal_connect(window, "focus-in-event", G_CALLBACK(focus_cb), nullptr);
|
g_signal_connect(window, "focus-in-event", G_CALLBACK(focus_cb), nullptr);
|
||||||
g_signal_connect(window, "focus-out-event", G_CALLBACK(focus_cb), nullptr);
|
g_signal_connect(window, "focus-out-event", G_CALLBACK(focus_cb), nullptr);
|
||||||
|
|
||||||
|
if (info.config.fullscreen) {
|
||||||
|
g_signal_connect(window, "window-state-event", G_CALLBACK(window_state_cb), &info);
|
||||||
|
}
|
||||||
|
|
||||||
if (title) {
|
if (title) {
|
||||||
info.config.dynamic_title = FALSE;
|
info.config.dynamic_title = FALSE;
|
||||||
gtk_window_set_title(GTK_WINDOW(window), title);
|
gtk_window_set_title(GTK_WINDOW(window), title);
|
||||||
|
|
Loading…
Reference in New Issue