2010-11-10 20:31:15 +01:00
|
|
|
/* See LICENSE file for license and copyright information */
|
2010-11-12 13:48:18 +01:00
|
|
|
|
2011-04-18 17:22:44 +02:00
|
|
|
#include "config.h"
|
2010-11-29 14:58:56 +01:00
|
|
|
#include "commands.h"
|
|
|
|
#include "completion.h"
|
2011-07-21 14:47:24 +02:00
|
|
|
#include "callbacks.h"
|
2010-11-12 13:48:18 +01:00
|
|
|
#include "shortcuts.h"
|
|
|
|
#include "zathura.h"
|
2012-03-14 18:09:00 +01:00
|
|
|
#include "render.h"
|
2012-04-21 04:59:58 +02:00
|
|
|
#include "marks.h"
|
2012-04-22 19:12:45 +02:00
|
|
|
#include "utils.h"
|
2010-11-12 13:48:18 +01:00
|
|
|
|
2011-10-23 17:01:15 +02:00
|
|
|
#include <girara/settings.h>
|
|
|
|
#include <girara/session.h>
|
|
|
|
#include <girara/shortcuts.h>
|
|
|
|
#include <girara/config.h>
|
|
|
|
#include <girara/commands.h>
|
2012-02-13 12:43:22 +01:00
|
|
|
#include <girara/gtk2-compat.h>
|
2012-03-05 12:39:53 +01:00
|
|
|
#include <glib/gi18n.h>
|
2011-10-23 17:01:15 +02:00
|
|
|
|
2012-02-14 14:46:19 +01:00
|
|
|
static void
|
2012-03-14 18:09:00 +01:00
|
|
|
cb_color_change(girara_session_t* session, const char* name,
|
|
|
|
girara_setting_type_t UNUSED(type), void* value, void* UNUSED(data))
|
2012-02-14 14:46:19 +01:00
|
|
|
{
|
|
|
|
g_return_if_fail(value != NULL);
|
|
|
|
g_return_if_fail(session != NULL);
|
|
|
|
g_return_if_fail(session->global.data != NULL);
|
|
|
|
g_return_if_fail(name != NULL);
|
|
|
|
zathura_t* zathura = session->global.data;
|
|
|
|
|
|
|
|
char* string_value = (char*) value;
|
|
|
|
if (g_strcmp0(name, "highlight-color") == 0) {
|
|
|
|
gdk_color_parse(string_value, &(zathura->ui.colors.highlight_color));
|
2012-03-02 21:26:47 +01:00
|
|
|
} else if (g_strcmp0(name, "highlight-active-color") == 0) {
|
2012-02-14 14:46:19 +01:00
|
|
|
gdk_color_parse(string_value, &(zathura->ui.colors.highlight_color_active));
|
2012-02-14 14:53:45 +01:00
|
|
|
} else if (g_strcmp0(name, "recolor-darkcolor") == 0) {
|
|
|
|
gdk_color_parse(string_value, &(zathura->ui.colors.recolor_dark_color));
|
|
|
|
} else if (g_strcmp0(name, "recolor-lightcolor") == 0) {
|
|
|
|
gdk_color_parse(string_value, &(zathura->ui.colors.recolor_light_color));
|
2012-02-14 14:46:19 +01:00
|
|
|
}
|
|
|
|
|
2012-03-14 18:09:00 +01:00
|
|
|
render_all(zathura);
|
2012-02-14 14:46:19 +01:00
|
|
|
}
|
|
|
|
|
2012-03-16 15:47:30 +01:00
|
|
|
static void
|
|
|
|
cb_page_padding_changed(girara_session_t* session, const char* UNUSED(name),
|
|
|
|
girara_setting_type_t UNUSED(type), void* value, void* UNUSED(data))
|
|
|
|
{
|
|
|
|
g_return_if_fail(value != NULL);
|
|
|
|
g_return_if_fail(session != NULL);
|
|
|
|
g_return_if_fail(session->global.data != NULL);
|
|
|
|
zathura_t* zathura = session->global.data;
|
|
|
|
|
|
|
|
int val = *(int*) value;
|
2012-05-21 23:06:31 +02:00
|
|
|
if (GTK_IS_TABLE(zathura->ui.page_widget) == TRUE) {
|
|
|
|
gtk_table_set_row_spacings(GTK_TABLE(zathura->ui.page_widget), val);
|
|
|
|
gtk_table_set_col_spacings(GTK_TABLE(zathura->ui.page_widget), val);
|
|
|
|
}
|
2012-03-16 15:47:30 +01:00
|
|
|
}
|
|
|
|
|
2012-04-22 19:12:45 +02:00
|
|
|
static void
|
|
|
|
cb_nohlsearch_changed(girara_session_t* session, const char* UNUSED(name),
|
|
|
|
girara_setting_type_t UNUSED(type), void* value, void* UNUSED(data))
|
|
|
|
{
|
|
|
|
g_return_if_fail(value != NULL);
|
|
|
|
g_return_if_fail(session != NULL);
|
|
|
|
g_return_if_fail(session->global.data != NULL);
|
|
|
|
zathura_t* zathura = session->global.data;
|
|
|
|
|
|
|
|
document_draw_search_results(zathura, !(*(bool*) value));
|
|
|
|
render_all(zathura);
|
|
|
|
}
|
|
|
|
|
2010-11-12 13:48:18 +01:00
|
|
|
void
|
2011-04-18 17:22:44 +02:00
|
|
|
config_load_default(zathura_t* zathura)
|
2010-11-12 13:48:18 +01:00
|
|
|
{
|
2012-02-07 14:56:57 +01:00
|
|
|
if (zathura == NULL || zathura->ui.session == NULL) {
|
2010-11-12 13:48:18 +01:00
|
|
|
return;
|
2011-04-18 17:22:44 +02:00
|
|
|
}
|
2010-11-12 13:48:18 +01:00
|
|
|
|
2011-04-19 21:54:24 +02:00
|
|
|
int int_value = 0;
|
2011-10-21 15:32:50 +02:00
|
|
|
float float_value = 0;
|
2012-02-01 17:30:43 +01:00
|
|
|
bool bool_value = false;
|
2011-04-18 17:22:44 +02:00
|
|
|
girara_session_t* gsession = zathura->ui.session;
|
2011-03-06 14:49:44 +01:00
|
|
|
|
2011-05-07 22:00:52 +02:00
|
|
|
/* mode settings */
|
|
|
|
zathura->modes.normal = gsession->modes.normal;
|
|
|
|
zathura->modes.fullscreen = girara_mode_add(gsession, "fullscreen");
|
|
|
|
zathura->modes.index = girara_mode_add(gsession, "index");
|
|
|
|
zathura->modes.insert = girara_mode_add(gsession, "insert");
|
|
|
|
|
|
|
|
#define NORMAL zathura->modes.normal
|
|
|
|
#define INSERT zathura->modes.insert
|
|
|
|
#define INDEX zathura->modes.index
|
|
|
|
#define FULLSCREEN zathura->modes.fullscreen
|
|
|
|
|
|
|
|
girara_mode_set(gsession, zathura->modes.normal);
|
2010-11-13 12:40:48 +01:00
|
|
|
|
2011-02-09 21:28:36 +01:00
|
|
|
/* zathura settings */
|
2012-03-24 16:15:34 +01:00
|
|
|
girara_setting_add(gsession, "database", "plain", STRING, true, _("Database backend"), NULL, NULL);
|
2011-03-06 14:49:44 +01:00
|
|
|
int_value = 10;
|
2012-03-24 16:15:34 +01:00
|
|
|
girara_setting_add(gsession, "zoom-step", &int_value, INT, false, _("Zoom step"), NULL, NULL);
|
2011-04-19 19:24:03 +02:00
|
|
|
int_value = 1;
|
2012-03-24 16:15:34 +01:00
|
|
|
girara_setting_add(gsession, "page-padding", &int_value, INT, false, _("Padding between pages"), cb_page_padding_changed, NULL);
|
2012-01-19 00:49:08 +01:00
|
|
|
int_value = 1;
|
2012-03-24 16:15:34 +01:00
|
|
|
girara_setting_add(gsession, "pages-per-row", &int_value, INT, false, _("Number of pages per row"), cb_pages_per_row_value_changed, NULL);
|
2011-10-21 15:32:50 +02:00
|
|
|
float_value = 40;
|
2012-03-24 16:15:34 +01:00
|
|
|
girara_setting_add(gsession, "scroll-step", &float_value, FLOAT, false, _("Scroll step"), NULL, NULL);
|
2012-02-09 18:30:36 +01:00
|
|
|
int_value = 10;
|
2012-03-24 16:15:34 +01:00
|
|
|
girara_setting_add(gsession, "zoom-min", &int_value, INT, false, _("Zoom minimum"), NULL, NULL);
|
2012-02-09 18:30:36 +01:00
|
|
|
int_value = 1000;
|
2012-03-24 16:15:34 +01:00
|
|
|
girara_setting_add(gsession, "zoom-max", &int_value, INT, false, _("Zoom maximum"), NULL, NULL);
|
2012-06-16 08:51:21 +02:00
|
|
|
int_value = 20;
|
2012-04-01 11:38:15 +02:00
|
|
|
girara_setting_add(gsession, "page-store-threshold", &int_value, INT, false, _("Life time (in seconds) of a hidden page"), NULL, NULL);
|
|
|
|
girara_setting_add(gsession, "page-store-interval", &int_value, INT, true, _("Amount of seconds between each cache purge"), NULL, NULL);
|
2011-10-21 15:32:50 +02:00
|
|
|
|
2012-03-05 12:39:53 +01:00
|
|
|
girara_setting_add(gsession, "recolor-darkcolor", NULL, STRING, false, _("Recoloring (dark color)"), cb_color_change, NULL);
|
2012-02-14 14:53:45 +01:00
|
|
|
girara_setting_set(gsession, "recolor-darkcolor", "#FFFFFF");
|
2012-03-05 12:39:53 +01:00
|
|
|
girara_setting_add(gsession, "recolor-lightcolor", NULL, STRING, false, _("Recoloring (light color)"), cb_color_change, NULL);
|
2012-02-14 14:53:45 +01:00
|
|
|
girara_setting_set(gsession, "recolor-lightcolor", "#000000");
|
2012-03-05 12:39:53 +01:00
|
|
|
girara_setting_add(gsession, "highlight-color", NULL, STRING, false, _("Color for highlighting"), cb_color_change, NULL);
|
2012-02-14 14:46:19 +01:00
|
|
|
girara_setting_set(gsession, "highlight-color", "#9FBC00");
|
2012-03-05 12:39:53 +01:00
|
|
|
girara_setting_add(gsession, "highlight-active-color", NULL, STRING, false, _("Color for highlighting (active)"), cb_color_change, NULL);
|
2012-02-14 14:46:19 +01:00
|
|
|
girara_setting_set(gsession, "highlight-active-color", "#00BC00");
|
|
|
|
|
2012-03-14 17:33:35 +01:00
|
|
|
bool_value = false;
|
|
|
|
girara_setting_add(gsession, "recolor", &bool_value, BOOLEAN, false, _("Recolor pages"), cb_setting_recolor_change, NULL);
|
2012-03-14 17:44:36 +01:00
|
|
|
bool_value = false;
|
|
|
|
girara_setting_add(gsession, "scroll-wrap", &bool_value, BOOLEAN, false, _("Wrap scrolling"), NULL, NULL);
|
2012-04-10 17:40:29 +02:00
|
|
|
bool_value = false;
|
|
|
|
girara_setting_add(gsession, "advance-pages-per-row", &bool_value, BOOLEAN, false, _("Advance number of pages per row"), NULL, NULL);
|
2012-01-19 00:49:08 +01:00
|
|
|
float_value = 0.5;
|
2012-03-05 12:39:53 +01:00
|
|
|
girara_setting_add(gsession, "highlight-transparency", &float_value, FLOAT, false, _("Transparency for highlighting"), NULL, NULL);
|
2012-02-01 17:30:43 +01:00
|
|
|
bool_value = true;
|
2012-03-05 12:39:53 +01:00
|
|
|
girara_setting_add(gsession, "render-loading", &bool_value, BOOLEAN, false, _("Render 'Loading ...'"), NULL, NULL);
|
2012-05-07 00:32:55 +02:00
|
|
|
girara_setting_add(gsession, "adjust-open", "best-fit", STRING, false, _("Adjust to when opening file"), NULL, NULL);
|
2012-02-20 13:02:24 +01:00
|
|
|
bool_value = false;
|
2012-03-05 12:39:53 +01:00
|
|
|
girara_setting_add(gsession, "show-hidden", &bool_value, BOOLEAN, false, _("Show hidden files and directories"), NULL, NULL);
|
2012-03-05 12:33:41 +01:00
|
|
|
bool_value = true;
|
2012-03-05 12:39:53 +01:00
|
|
|
girara_setting_add(gsession, "show-directories", &bool_value, BOOLEAN, false, _("Show directories"), NULL, NULL);
|
2012-03-12 22:31:40 +01:00
|
|
|
bool_value = false;
|
|
|
|
girara_setting_add(gsession, "open-first-page", &bool_value, BOOLEAN, false, _("Always open on first page"), NULL, NULL);
|
2012-04-22 19:12:45 +02:00
|
|
|
bool_value = false;
|
|
|
|
girara_setting_add(gsession, "nohlsearch", &bool_value, BOOLEAN, false, _("Highlight search results"), cb_nohlsearch_changed, NULL);
|
2012-04-28 21:47:27 +02:00
|
|
|
bool_value = true;
|
|
|
|
girara_setting_add(gsession, "abort-clear-search", &bool_value, BOOLEAN, false, _("Clear search results on abort"), NULL, NULL);
|
2012-01-19 00:49:08 +01:00
|
|
|
|
2010-11-13 10:05:28 +01:00
|
|
|
/* define default shortcuts */
|
2012-02-13 12:43:22 +01:00
|
|
|
girara_shortcut_add(gsession, GDK_CONTROL_MASK, GDK_KEY_c, NULL, sc_abort, 0, 0, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_Escape, NULL, sc_abort, 0, 0, NULL);
|
2012-02-20 12:30:43 +01:00
|
|
|
|
2012-03-27 21:59:35 +02:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_a, NULL, sc_adjust_window, NORMAL, ZATHURA_ADJUST_BESTFIT, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_s, NULL, sc_adjust_window, NORMAL, ZATHURA_ADJUST_WIDTH, NULL);
|
2012-02-20 12:30:43 +01:00
|
|
|
|
2012-02-20 16:33:59 +01:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_slash, NULL, sc_focus_inputbar, NORMAL, 0, &("/"));
|
|
|
|
girara_shortcut_add(gsession, GDK_SHIFT_MASK, GDK_KEY_slash, NULL, sc_focus_inputbar, NORMAL, 0, &("/"));
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_question, NULL, sc_focus_inputbar, NORMAL, 0, &("?"));
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_colon, NULL, sc_focus_inputbar, NORMAL, 0, &(":"));
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_o, NULL, sc_focus_inputbar, NORMAL, 0, &(":open "));
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_O, NULL, sc_focus_inputbar, NORMAL, APPEND_FILEPATH, &(":open "));
|
2012-02-20 12:30:43 +01:00
|
|
|
|
2012-02-13 12:43:22 +01:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_f, NULL, sc_follow, NORMAL, 0, NULL);
|
2012-02-20 12:30:43 +01:00
|
|
|
|
2012-02-13 12:43:22 +01:00
|
|
|
girara_shortcut_add(gsession, 0, 0, "gg", sc_goto, NORMAL, TOP, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, 0, "gg", sc_goto, FULLSCREEN, TOP, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, 0, "G", sc_goto, NORMAL, BOTTOM, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, 0, "G", sc_goto, FULLSCREEN, BOTTOM, NULL);
|
2012-02-20 12:30:43 +01:00
|
|
|
|
2012-04-21 04:59:58 +02:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_m, NULL, sc_mark_add, NORMAL, 0, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_apostrophe, NULL, sc_mark_evaluate, NORMAL, 0, NULL);
|
|
|
|
|
2012-02-13 12:43:22 +01:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_J, NULL, sc_navigate, NORMAL, NEXT, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_K, NULL, sc_navigate, NORMAL, PREVIOUS, NULL);
|
|
|
|
girara_shortcut_add(gsession, GDK_MOD1_MASK, GDK_KEY_Right, NULL, sc_navigate, NORMAL, NEXT, NULL);
|
|
|
|
girara_shortcut_add(gsession, GDK_MOD1_MASK, GDK_KEY_Left, NULL, sc_navigate, NORMAL, PREVIOUS, NULL);
|
2012-02-20 12:30:43 +01:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_Page_Down, NULL, sc_navigate, NORMAL, NEXT, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_Page_Up, NULL, sc_navigate, NORMAL, PREVIOUS, NULL);
|
2012-02-20 12:40:25 +01:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_J, NULL, sc_navigate, FULLSCREEN, NEXT, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_K, NULL, sc_navigate, FULLSCREEN, PREVIOUS, NULL);
|
2012-02-13 12:43:22 +01:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_Left, NULL, sc_navigate, FULLSCREEN, PREVIOUS, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_Up, NULL, sc_navigate, FULLSCREEN, PREVIOUS, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_Down, NULL, sc_navigate, FULLSCREEN, NEXT, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_Right, NULL, sc_navigate, FULLSCREEN, NEXT, NULL);
|
2012-02-20 12:40:25 +01:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_Page_Down, NULL, sc_navigate, FULLSCREEN, NEXT, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_Page_Up, NULL, sc_navigate, FULLSCREEN, PREVIOUS, NULL);
|
2012-02-20 12:30:43 +01:00
|
|
|
|
2012-02-13 12:43:22 +01:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_k, NULL, sc_navigate_index, INDEX, UP, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_j, NULL, sc_navigate_index, INDEX, DOWN, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_h, NULL, sc_navigate_index, INDEX, COLLAPSE, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_l, NULL, sc_navigate_index, INDEX, EXPAND, NULL);
|
2012-02-21 02:01:26 +01:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_L, NULL, sc_navigate_index, INDEX, EXPAND_ALL, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_H, NULL, sc_navigate_index, INDEX, COLLAPSE_ALL, NULL);
|
2012-02-20 12:30:43 +01:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_Up, NULL, sc_navigate_index, INDEX, UP, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_Down, NULL, sc_navigate_index, INDEX, DOWN, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_Left, NULL, sc_navigate_index, INDEX, COLLAPSE, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_Right, NULL, sc_navigate_index, INDEX, EXPAND, NULL);
|
2012-02-13 12:43:22 +01:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_space, NULL, sc_navigate_index, INDEX, SELECT, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_Return, NULL, sc_navigate_index, INDEX, SELECT, NULL);
|
2012-02-20 12:30:43 +01:00
|
|
|
|
2012-05-08 16:47:34 +02:00
|
|
|
girara_shortcut_add(gsession, GDK_CONTROL_MASK, GDK_KEY_p, NULL, sc_print, NORMAL, 0, NULL);
|
|
|
|
|
2012-02-13 12:43:22 +01:00
|
|
|
girara_shortcut_add(gsession, GDK_CONTROL_MASK, GDK_KEY_i, NULL, sc_recolor, NORMAL, 0, NULL);
|
2012-02-20 12:30:43 +01:00
|
|
|
|
2012-02-13 12:43:22 +01:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_R, NULL, sc_reload, NORMAL, 0, NULL);
|
2012-02-20 12:30:43 +01:00
|
|
|
|
2012-03-19 11:43:07 +01:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_r, NULL, sc_rotate, NORMAL, ROTATE_CW, NULL);
|
2012-02-20 12:30:43 +01:00
|
|
|
|
2012-02-13 12:43:22 +01:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_h, NULL, sc_scroll, NORMAL, LEFT, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_j, NULL, sc_scroll, NORMAL, DOWN, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_k, NULL, sc_scroll, NORMAL, UP, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_l, NULL, sc_scroll, NORMAL, RIGHT, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_Left, NULL, sc_scroll, NORMAL, LEFT, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_Up, NULL, sc_scroll, NORMAL, UP, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_Down, NULL, sc_scroll, NORMAL, DOWN, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_Right, NULL, sc_scroll, NORMAL, RIGHT, NULL);
|
2012-02-25 14:31:35 +01:00
|
|
|
girara_shortcut_add(gsession, GDK_CONTROL_MASK, GDK_KEY_t, NULL, sc_scroll, NORMAL, HALF_LEFT, NULL);
|
2012-02-13 12:43:22 +01:00
|
|
|
girara_shortcut_add(gsession, GDK_CONTROL_MASK, GDK_KEY_d, NULL, sc_scroll, NORMAL, HALF_DOWN, NULL);
|
|
|
|
girara_shortcut_add(gsession, GDK_CONTROL_MASK, GDK_KEY_u, NULL, sc_scroll, NORMAL, HALF_UP, NULL);
|
2012-02-25 14:31:35 +01:00
|
|
|
girara_shortcut_add(gsession, GDK_CONTROL_MASK, GDK_KEY_y, NULL, sc_scroll, NORMAL, HALF_RIGHT, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_t, NULL, sc_scroll, NORMAL, FULL_LEFT, NULL);
|
2012-02-13 12:43:22 +01:00
|
|
|
girara_shortcut_add(gsession, GDK_CONTROL_MASK, GDK_KEY_f, NULL, sc_scroll, NORMAL, FULL_DOWN, NULL);
|
|
|
|
girara_shortcut_add(gsession, GDK_CONTROL_MASK, GDK_KEY_b, NULL, sc_scroll, NORMAL, FULL_UP, NULL);
|
2012-02-25 14:31:35 +01:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_y, NULL, sc_scroll, NORMAL, FULL_RIGHT, NULL);
|
2012-02-13 12:43:22 +01:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_space, NULL, sc_scroll, NORMAL, FULL_DOWN, NULL);
|
|
|
|
girara_shortcut_add(gsession, GDK_SHIFT_MASK, GDK_KEY_space, NULL, sc_scroll, NORMAL, FULL_UP, NULL);
|
2012-02-20 12:30:43 +01:00
|
|
|
|
2012-02-13 12:43:22 +01:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_n, NULL, sc_search, NORMAL, FORWARD, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_N, NULL, sc_search, NORMAL, BACKWARD, NULL);
|
2012-02-20 12:30:43 +01:00
|
|
|
|
2012-02-13 12:43:22 +01:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_Tab, NULL, sc_toggle_index, NORMAL, 0, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_Tab, NULL, sc_toggle_index, INDEX, 0, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_F5, NULL, sc_toggle_fullscreen, NORMAL, 0, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_F5, NULL, sc_toggle_fullscreen, FULLSCREEN, 0, NULL);
|
|
|
|
girara_shortcut_add(gsession, GDK_CONTROL_MASK, GDK_KEY_n, NULL, girara_sc_toggle_statusbar, NORMAL, 0, NULL);
|
2012-02-20 12:30:43 +01:00
|
|
|
girara_shortcut_add(gsession, GDK_CONTROL_MASK, GDK_KEY_m, NULL, girara_sc_toggle_inputbar, NORMAL, 0, NULL);
|
|
|
|
|
2012-02-13 12:43:22 +01:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_q, NULL, sc_quit, NORMAL, 0, NULL);
|
2012-02-20 12:30:43 +01:00
|
|
|
|
2012-02-13 12:43:22 +01:00
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_plus, NULL, sc_zoom, NORMAL, ZOOM_IN, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_plus, NULL, sc_zoom, FULLSCREEN, ZOOM_IN, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_minus, NULL, sc_zoom, NORMAL, ZOOM_OUT, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_minus, NULL, sc_zoom, FULLSCREEN, ZOOM_OUT, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_equal, NULL, sc_zoom, NORMAL, ZOOM_ORIGINAL, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_equal, NULL, sc_zoom, FULLSCREEN, ZOOM_ORIGINAL, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, 0, "zI", sc_zoom, NORMAL, ZOOM_IN, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, 0, "zI", sc_zoom, FULLSCREEN, ZOOM_IN, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, 0, "zO", sc_zoom, NORMAL, ZOOM_OUT, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, 0, "zO", sc_zoom, FULLSCREEN, ZOOM_OUT, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, 0, "z0", sc_zoom, NORMAL, ZOOM_ORIGINAL, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, 0, "z0", sc_zoom, FULLSCREEN, ZOOM_ORIGINAL, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_equal, NULL, sc_zoom, NORMAL, ZOOM_SPECIFIC, NULL);
|
|
|
|
girara_shortcut_add(gsession, 0, GDK_KEY_equal, NULL, sc_zoom, FULLSCREEN, ZOOM_SPECIFIC, NULL);
|
2010-11-29 14:58:56 +01:00
|
|
|
|
2012-02-07 15:13:36 +01:00
|
|
|
/* mouse events */
|
2012-02-15 11:48:28 +01:00
|
|
|
girara_mouse_event_add(gsession, 0, 0, sc_mouse_scroll, NORMAL, GIRARA_EVENT_SCROLL_UP, UP, NULL);
|
|
|
|
girara_mouse_event_add(gsession, 0, 0, sc_mouse_scroll, FULLSCREEN, GIRARA_EVENT_SCROLL_UP, UP, NULL);
|
|
|
|
girara_mouse_event_add(gsession, 0, 0, sc_mouse_scroll, NORMAL, GIRARA_EVENT_SCROLL_DOWN, DOWN, NULL);
|
|
|
|
girara_mouse_event_add(gsession, 0, 0, sc_mouse_scroll, FULLSCREEN, GIRARA_EVENT_SCROLL_DOWN, DOWN, NULL);
|
|
|
|
girara_mouse_event_add(gsession, GDK_CONTROL_MASK, 0, sc_mouse_zoom, NORMAL, GIRARA_EVENT_SCROLL_UP, UP, NULL);
|
|
|
|
girara_mouse_event_add(gsession, GDK_CONTROL_MASK, 0, sc_mouse_zoom, FULLSCREEN, GIRARA_EVENT_SCROLL_UP, UP, NULL);
|
|
|
|
girara_mouse_event_add(gsession, GDK_CONTROL_MASK, 0, sc_mouse_zoom, NORMAL, GIRARA_EVENT_SCROLL_DOWN, DOWN, NULL);
|
|
|
|
girara_mouse_event_add(gsession, GDK_CONTROL_MASK, 0, sc_mouse_zoom, FULLSCREEN, GIRARA_EVENT_SCROLL_DOWN, DOWN, NULL);
|
|
|
|
girara_mouse_event_add(gsession, 0, GIRARA_MOUSE_BUTTON2, sc_mouse_scroll, NORMAL, GIRARA_EVENT_BUTTON_PRESS, 0, NULL);
|
|
|
|
girara_mouse_event_add(gsession, GDK_BUTTON2_MASK, GIRARA_MOUSE_BUTTON2, sc_mouse_scroll, NORMAL, GIRARA_EVENT_BUTTON_RELEASE, 0, NULL);
|
|
|
|
girara_mouse_event_add(gsession, GDK_BUTTON2_MASK, 0, sc_mouse_scroll, NORMAL, GIRARA_EVENT_MOTION_NOTIFY, 0, NULL);
|
2012-02-07 15:13:36 +01:00
|
|
|
|
2010-11-29 14:58:56 +01:00
|
|
|
/* define default inputbar commands */
|
2012-04-22 19:12:45 +02:00
|
|
|
girara_inputbar_command_add(gsession, "bmark", NULL, cmd_bookmark_create, NULL, _("Add a bookmark"));
|
|
|
|
girara_inputbar_command_add(gsession, "bdelete", NULL, cmd_bookmark_delete, cc_bookmarks, _("Delete a bookmark"));
|
|
|
|
girara_inputbar_command_add(gsession, "blist", NULL, cmd_bookmark_open, cc_bookmarks, _("List all bookmarks"));
|
|
|
|
girara_inputbar_command_add(gsession, "close", NULL, cmd_close, NULL, _("Close current file"));
|
|
|
|
girara_inputbar_command_add(gsession, "info", NULL, cmd_info, NULL, _("Show file information"));
|
|
|
|
girara_inputbar_command_add(gsession, "help", NULL, cmd_help, NULL, _("Show help"));
|
|
|
|
girara_inputbar_command_add(gsession, "open", "o", cmd_open, cc_open, _("Open document"));
|
|
|
|
girara_inputbar_command_add(gsession, "quit", "q", cmd_quit, NULL, _("Close zathura"));
|
|
|
|
girara_inputbar_command_add(gsession, "print", NULL, cmd_print, NULL, _("Print document"));
|
|
|
|
girara_inputbar_command_add(gsession, "write", NULL, cmd_save, cc_write, _("Save document"));
|
|
|
|
girara_inputbar_command_add(gsession, "write!", NULL, cmd_savef, cc_write, _("Save document (and force overwriting)"));
|
|
|
|
girara_inputbar_command_add(gsession, "export", NULL, cmd_export, cc_export, _("Save attachments"));
|
|
|
|
girara_inputbar_command_add(gsession, "offset", NULL, cmd_offset, NULL, _("Set page offset"));
|
|
|
|
girara_inputbar_command_add(gsession, "mark", NULL, cmd_marks_add, NULL, _("Mark current location within the document"));
|
|
|
|
girara_inputbar_command_add(gsession, "delmarks", "delm", cmd_marks_delete, NULL, _("Delete the specified marks"));
|
|
|
|
girara_inputbar_command_add(gsession, "nohlsearch", "nohl", cmd_nohlsearch, NULL, _("Don't highlight current search results"));
|
|
|
|
girara_inputbar_command_add(gsession, "hlsearch", NULL, cmd_hlsearch, NULL, _("Highlight current search results"));
|
2012-06-13 16:08:33 +02:00
|
|
|
girara_inputbar_command_add(gsession, "version", NULL, cmd_version, NULL, _("Show version information"));
|
2012-01-13 18:54:09 +01:00
|
|
|
|
2011-10-22 16:35:38 +02:00
|
|
|
girara_special_command_add(gsession, '/', cmd_search, true, FORWARD, NULL);
|
|
|
|
girara_special_command_add(gsession, '?', cmd_search, true, BACKWARD, NULL);
|
|
|
|
|
2011-05-07 00:39:34 +02:00
|
|
|
/* add shortcut mappings */
|
|
|
|
girara_shortcut_mapping_add(gsession, "abort", sc_abort);
|
|
|
|
girara_shortcut_mapping_add(gsession, "adjust_window", sc_adjust_window);
|
|
|
|
girara_shortcut_mapping_add(gsession, "change_mode", sc_change_mode);
|
|
|
|
girara_shortcut_mapping_add(gsession, "follow", sc_follow);
|
|
|
|
girara_shortcut_mapping_add(gsession, "goto", sc_goto);
|
2012-02-21 17:11:59 +01:00
|
|
|
girara_shortcut_mapping_add(gsession, "navigate_index", sc_navigate_index);
|
2011-05-07 00:39:34 +02:00
|
|
|
girara_shortcut_mapping_add(gsession, "navigate", sc_navigate);
|
2012-05-08 16:47:34 +02:00
|
|
|
girara_shortcut_mapping_add(gsession, "print", sc_print);
|
2011-05-07 00:39:34 +02:00
|
|
|
girara_shortcut_mapping_add(gsession, "quit", sc_quit);
|
|
|
|
girara_shortcut_mapping_add(gsession, "recolor", sc_recolor);
|
|
|
|
girara_shortcut_mapping_add(gsession, "reload", sc_reload);
|
|
|
|
girara_shortcut_mapping_add(gsession, "rotate", sc_rotate);
|
|
|
|
girara_shortcut_mapping_add(gsession, "scroll", sc_scroll);
|
|
|
|
girara_shortcut_mapping_add(gsession, "search", sc_search);
|
|
|
|
girara_shortcut_mapping_add(gsession, "toggle_fullscreen", sc_toggle_fullscreen);
|
|
|
|
girara_shortcut_mapping_add(gsession, "toggle_index", sc_toggle_index);
|
2011-06-23 14:31:41 +02:00
|
|
|
girara_shortcut_mapping_add(gsession, "toggle_inputbar", girara_sc_toggle_inputbar);
|
|
|
|
girara_shortcut_mapping_add(gsession, "toggle_statusbar", girara_sc_toggle_statusbar);
|
2011-05-07 00:39:34 +02:00
|
|
|
girara_shortcut_mapping_add(gsession, "zoom", sc_zoom);
|
2011-12-06 11:21:48 +01:00
|
|
|
|
|
|
|
/* add argument mappings */
|
2012-02-21 17:11:59 +01:00
|
|
|
girara_argument_mapping_add(gsession, "bottom", BOTTOM);
|
|
|
|
girara_argument_mapping_add(gsession, "default", DEFAULT);
|
|
|
|
girara_argument_mapping_add(gsession, "collapse", COLLAPSE);
|
|
|
|
girara_argument_mapping_add(gsession, "collapse-all", COLLAPSE_ALL);
|
|
|
|
girara_argument_mapping_add(gsession, "down", DOWN);
|
|
|
|
girara_argument_mapping_add(gsession, "expand", EXPAND);
|
|
|
|
girara_argument_mapping_add(gsession, "expand-all", EXPAND_ALL);
|
|
|
|
girara_argument_mapping_add(gsession, "full-down", FULL_DOWN);
|
|
|
|
girara_argument_mapping_add(gsession, "full-up", FULL_UP);
|
|
|
|
girara_argument_mapping_add(gsession, "half-down", HALF_DOWN);
|
|
|
|
girara_argument_mapping_add(gsession, "half-up", HALF_UP);
|
2012-02-25 14:31:35 +01:00
|
|
|
girara_argument_mapping_add(gsession, "full-right", FULL_RIGHT);
|
|
|
|
girara_argument_mapping_add(gsession, "full-left", FULL_LEFT);
|
|
|
|
girara_argument_mapping_add(gsession, "half-right", HALF_RIGHT);
|
|
|
|
girara_argument_mapping_add(gsession, "half-left", HALF_LEFT);
|
2012-02-21 17:11:59 +01:00
|
|
|
girara_argument_mapping_add(gsession, "in", ZOOM_IN);
|
|
|
|
girara_argument_mapping_add(gsession, "left", LEFT);
|
|
|
|
girara_argument_mapping_add(gsession, "next", NEXT);
|
|
|
|
girara_argument_mapping_add(gsession, "out", ZOOM_OUT);
|
|
|
|
girara_argument_mapping_add(gsession, "previous", PREVIOUS);
|
|
|
|
girara_argument_mapping_add(gsession, "right", RIGHT);
|
|
|
|
girara_argument_mapping_add(gsession, "specific", ZOOM_SPECIFIC);
|
|
|
|
girara_argument_mapping_add(gsession, "top", TOP);
|
|
|
|
girara_argument_mapping_add(gsession, "up", UP);
|
2012-03-27 21:59:35 +02:00
|
|
|
girara_argument_mapping_add(gsession, "best-fit", ZATHURA_ADJUST_BESTFIT);
|
|
|
|
girara_argument_mapping_add(gsession, "width", ZATHURA_ADJUST_WIDTH);
|
2012-03-19 11:43:07 +01:00
|
|
|
girara_argument_mapping_add(gsession, "rotate-cw", ROTATE_CW);
|
|
|
|
girara_argument_mapping_add(gsession, "rotate-ccw", ROTATE_CCW);
|
2010-11-12 13:48:18 +01:00
|
|
|
}
|
2011-04-01 09:55:37 +02:00
|
|
|
|
|
|
|
void
|
2011-04-19 21:54:24 +02:00
|
|
|
config_load_file(zathura_t* zathura, char* path)
|
2011-04-01 09:55:37 +02:00
|
|
|
{
|
2012-02-12 16:35:33 +01:00
|
|
|
if (zathura == NULL || path == NULL) {
|
2011-04-01 09:55:37 +02:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2011-04-19 21:54:24 +02:00
|
|
|
girara_config_parse(zathura->ui.session, path);
|
2011-04-01 09:55:37 +02:00
|
|
|
}
|