2009-12-26 14:30:50 +01:00
|
|
|
/* settings */
|
2009-12-28 18:34:00 +01:00
|
|
|
static const int DEFAULT_WIDTH = 800;
|
|
|
|
static const int DEFAULT_HEIGHT = 600;
|
2009-12-28 19:24:15 +01:00
|
|
|
static const float ZOOM_STEP = 10;
|
|
|
|
static const float ZOOM_MIN = 10;
|
|
|
|
static const float ZOOM_MAX = 400;
|
2009-12-30 00:21:29 +01:00
|
|
|
static const float SCROLL_STEP = 40;
|
2010-01-02 14:23:49 +01:00
|
|
|
static const float TRANSPARENCY = 0.4;
|
2009-12-26 14:30:50 +01:00
|
|
|
|
|
|
|
/* completion */
|
|
|
|
static const char FORMAT_COMMAND[] = "<b>%s</b>";
|
|
|
|
static const char FORMAT_DESCRIPTION[] = "<i>%s</i>";
|
|
|
|
|
2010-01-31 02:03:28 +01:00
|
|
|
/* directories and files */
|
|
|
|
static const char ZATHURA_DIR[] = ".zathura";
|
|
|
|
static const char BOOKMARK_FILE[] = "bookmarks";
|
|
|
|
|
2010-01-31 12:35:49 +01:00
|
|
|
/* bookmarks */
|
2010-05-05 20:05:06 +02:00
|
|
|
static const char BM_PAGE_ENTRY[] = "page";
|
|
|
|
static const char BM_PAGE_OFFSET[] = "offset";
|
2010-01-31 12:35:49 +01:00
|
|
|
|
2009-12-26 14:30:50 +01:00
|
|
|
/* look */
|
|
|
|
static const char font[] = "monospace normal 9";
|
|
|
|
static const char default_bgcolor[] = "#000000";
|
|
|
|
static const char default_fgcolor[] = "#DDDDDD";
|
|
|
|
static const char inputbar_bgcolor[] = "#141414";
|
|
|
|
static const char inputbar_fgcolor[] = "#9FBC00";
|
|
|
|
static const char statusbar_bgcolor[] = "#000000";
|
|
|
|
static const char statusbar_fgcolor[] = "#FFFFFF";
|
|
|
|
static const char completion_fgcolor[] = "#DDDDDD";
|
|
|
|
static const char completion_bgcolor[] = "#232323";
|
|
|
|
static const char completion_g_fgcolor[] = "#DEDEDE";
|
|
|
|
static const char completion_g_bgcolor[] = "#FF00FF";
|
|
|
|
static const char completion_hl_fgcolor[] = "#232323";
|
|
|
|
static const char completion_hl_bgcolor[] = "#9FBC00";
|
|
|
|
static const char notification_e_bgcolor[] = "#FF1212";
|
|
|
|
static const char notification_e_fgcolor[] = "#FFFFFF";
|
|
|
|
static const char notification_w_bgcolor[] = "#FFF712";
|
|
|
|
static const char notification_w_fgcolor[] = "#000000";
|
2010-04-11 10:47:09 +02:00
|
|
|
static const char recolor_darkcolor[] = "#353535";
|
|
|
|
static const char recolor_lightcolor[] = "#DBDBDB";
|
2009-12-26 14:30:50 +01:00
|
|
|
|
2010-01-02 14:23:49 +01:00
|
|
|
static const char search_highlight[] = "#9FBC00";
|
|
|
|
|
2010-01-01 20:46:07 +01:00
|
|
|
/* statusbar */
|
|
|
|
static const char DEFAULT_TEXT[] = "[No Name]";
|
|
|
|
|
2010-01-02 00:25:18 +01:00
|
|
|
/* printing */
|
|
|
|
#define LIST_PRINTER_COMMAND "lpstat -v | sed -n '/^.*device for \\(.*\\): .*$/s//\\1/p'"
|
2010-02-02 17:08:02 +01:00
|
|
|
#define PRINT_COMMAND "lp -d '%s' -p %s '%s'" /* printer / pages / file */
|
2010-01-02 00:25:18 +01:00
|
|
|
|
2010-04-11 14:18:49 +02:00
|
|
|
/* open uri */
|
|
|
|
#define URI_COMMAND "firefox %s" /* uri */
|
|
|
|
|
2009-12-30 00:47:29 +01:00
|
|
|
/* additional settings */
|
|
|
|
#define SHOW_SCROLLBARS 0
|
2010-01-28 14:14:01 +01:00
|
|
|
#define ADJUST_OPEN ADJUST_BESTFIT
|
2010-04-12 09:36:14 +02:00
|
|
|
#define RECOLOR_OPEN 0
|
2010-05-05 20:05:06 +02:00
|
|
|
#define GOTO_MODE GOTO_LABELS /* GOTO_DEFAULT, GOTO_LABELS, GOTO_OFFSET */
|
2009-12-30 00:47:29 +01:00
|
|
|
|
2009-12-26 14:30:50 +01:00
|
|
|
/* shortcuts */
|
|
|
|
Shortcut shortcuts[] = {
|
|
|
|
/* mask, key, function, mode, argument */
|
2010-01-30 23:48:36 +01:00
|
|
|
{GDK_CONTROL_MASK, GDK_n, sc_toggle_statusbar, NORMAL, {0} },
|
|
|
|
{GDK_CONTROL_MASK, GDK_m, sc_toggle_inputbar, NORMAL, {0} },
|
2009-12-26 16:05:03 +01:00
|
|
|
{GDK_CONTROL_MASK, GDK_q, sc_quit, -1, {0} },
|
2009-12-26 15:55:32 +01:00
|
|
|
{GDK_CONTROL_MASK, GDK_c, sc_abort, -1, {0} },
|
2010-04-11 10:47:09 +02:00
|
|
|
{GDK_CONTROL_MASK, GDK_i, sc_recolor, NORMAL, {0} },
|
2010-03-08 21:10:39 +01:00
|
|
|
{0, GDK_slash, sc_focus_inputbar, NORMAL, { .data = "/" } },
|
2010-01-30 23:48:36 +01:00
|
|
|
{GDK_SHIFT_MASK, GDK_slash, sc_focus_inputbar, NORMAL, { .data = "/" } },
|
|
|
|
{GDK_SHIFT_MASK, GDK_question, sc_focus_inputbar, NORMAL, { .data = "?" } },
|
|
|
|
{0, GDK_Tab, sc_toggle_index, NORMAL, {0} },
|
2010-04-27 16:07:49 +02:00
|
|
|
{0, GDK_Tab, sc_toggle_index, INDEX, {0} },
|
2010-01-30 23:48:36 +01:00
|
|
|
{0, GDK_J, sc_navigate, NORMAL, { NEXT } },
|
|
|
|
{0, GDK_K, sc_navigate, NORMAL, { PREVIOUS } },
|
2010-04-27 11:28:17 +02:00
|
|
|
{GDK_MOD1_MASK, GDK_Right, sc_navigate, NORMAL, { NEXT } },
|
|
|
|
{GDK_MOD1_MASK, GDK_Left, sc_navigate, NORMAL, { PREVIOUS } },
|
2010-05-05 20:05:06 +02:00
|
|
|
{0, GDK_O, sc_switch_goto_mode, NORMAL, {0} },
|
2010-04-27 11:28:17 +02:00
|
|
|
{0, GDK_space, sc_navigate, NORMAL, { NEXT } },
|
2009-12-26 16:05:03 +01:00
|
|
|
{0, GDK_Escape, sc_abort, -1, {0} },
|
|
|
|
{0, GDK_i, sc_change_mode, NORMAL, { INSERT } },
|
|
|
|
{0, GDK_v, sc_change_mode, NORMAL, { VISUAL } },
|
2010-01-30 23:48:36 +01:00
|
|
|
{0, GDK_m, sc_change_mode, NORMAL, { ADD_MARKER } },
|
|
|
|
{0, GDK_apostrophe, sc_change_mode, NORMAL, { EVAL_MARKER } },
|
|
|
|
{0, GDK_colon, sc_focus_inputbar, NORMAL, { .data = ":" } },
|
|
|
|
{0, GDK_o, sc_focus_inputbar, NORMAL, { .data = ":open " } },
|
2010-04-11 12:00:27 +02:00
|
|
|
{0, GDK_f, sc_follow, NORMAL, {0} },
|
2010-01-30 23:48:36 +01:00
|
|
|
{0, GDK_r, sc_rotate, NORMAL, {0} },
|
|
|
|
{0, GDK_h, sc_scroll, NORMAL, { LEFT } },
|
2010-04-27 11:28:17 +02:00
|
|
|
{0, GDK_j, sc_scroll, NORMAL, { DOWN } },
|
|
|
|
{0, GDK_k, sc_scroll, NORMAL, { UP } },
|
2010-01-30 23:48:36 +01:00
|
|
|
{0, GDK_l, sc_scroll, NORMAL, { RIGHT } },
|
2010-04-27 11:28:17 +02:00
|
|
|
{0, GDK_Left, sc_scroll, NORMAL, { LEFT } },
|
|
|
|
{0, GDK_Up, sc_scroll, NORMAL, { UP } },
|
|
|
|
{0, GDK_Down, sc_scroll, NORMAL, { DOWN } },
|
|
|
|
{0, GDK_Right, sc_scroll, NORMAL, { RIGHT } },
|
2010-01-30 23:48:36 +01:00
|
|
|
{0, GDK_n, sc_search, NORMAL, { FORWARD } },
|
|
|
|
{0, GDK_N, sc_search, NORMAL, { BACKWARD } },
|
|
|
|
{0, GDK_a, sc_adjust_window, NORMAL, { ADJUST_BESTFIT } },
|
|
|
|
{0, GDK_s, sc_adjust_window, NORMAL, { ADJUST_WIDTH } },
|
2010-01-29 13:42:24 +01:00
|
|
|
{0, GDK_BackSpace, sc_change_buffer, -1, { DELETE_LAST } },
|
2010-04-27 16:07:49 +02:00
|
|
|
{0, GDK_k, sc_navigate_index, INDEX, { UP } },
|
|
|
|
{0, GDK_j, sc_navigate_index, INDEX, { DOWN } },
|
|
|
|
{0, GDK_h, sc_navigate_index, INDEX, { COLLAPSE } },
|
|
|
|
{0, GDK_l, sc_navigate_index, INDEX, { EXPAND } },
|
|
|
|
{0, GDK_space, sc_navigate_index, INDEX, { SELECT } },
|
|
|
|
{0, GDK_Return, sc_navigate_index, INDEX, { SELECT } },
|
2009-12-26 14:30:50 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
/* inputbar shortcuts */
|
|
|
|
InputbarShortcut inputbar_shortcuts[] = {
|
|
|
|
/* mask, key, function, argument */
|
|
|
|
{0, GDK_Escape, isc_abort, {0} },
|
|
|
|
{0, GDK_Up, isc_command_history, {0} },
|
|
|
|
{0, GDK_Down, isc_command_history, {0} },
|
|
|
|
{0, GDK_Tab, isc_completion, { NEXT } },
|
|
|
|
{GDK_CONTROL_MASK, GDK_Tab, isc_completion, { NEXT_GROUP } },
|
|
|
|
{0, GDK_ISO_Left_Tab, isc_completion, { PREVIOUS } },
|
|
|
|
{GDK_CONTROL_MASK, GDK_ISO_Left_Tab, isc_completion, { PREVIOUS_GROUP } },
|
|
|
|
{GDK_CONTROL_MASK, GDK_w, isc_string_manipulation, { DELETE_LAST_WORD } },
|
|
|
|
};
|
|
|
|
|
|
|
|
/* commands */
|
|
|
|
Command commands[] = {
|
2010-01-31 21:24:33 +01:00
|
|
|
/* command, abbreviation, function, completion, description */
|
|
|
|
{"bmark", "b", cmd_bookmark, 0, "Bookmark current page" },
|
|
|
|
{"blist", 0, cmd_open_bookmark, cc_bookmark, "List and open bookmark" },
|
|
|
|
{"close", "c", cmd_close, 0, "Close current file" },
|
2010-05-05 20:05:06 +02:00
|
|
|
{"coffset", 0, cmd_correct_offset, 0, "Correct page offset" },
|
2010-01-31 21:24:33 +01:00
|
|
|
{"delbmark", 0, cmd_delete_bookmark, cc_bookmark, "Bookmark current page" },
|
|
|
|
{"export", "e", cmd_export, cc_export, "Export images or attached files" },
|
|
|
|
{"info", "i", cmd_info, 0, "Show information about the document" },
|
|
|
|
{"open", "o", cmd_open, cc_open, "Open a file" },
|
|
|
|
{"print", "p", cmd_print, cc_print, "Print the document" },
|
|
|
|
{"rotate", "r", cmd_rotate, 0, "Rotate the page" },
|
|
|
|
{"set", "s", cmd_set, cc_set, "Set an option" },
|
2010-02-15 02:33:53 +01:00
|
|
|
{"quit", "q", cmd_quit, 0, "Quit zathura" },
|
2010-01-31 21:24:33 +01:00
|
|
|
{"write", "w", cmd_save, 0, "Save the document" },
|
2009-12-26 14:30:50 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
/* buffer commands */
|
|
|
|
BufferCommand buffer_commands[] = {
|
2010-01-30 23:48:36 +01:00
|
|
|
/* regex, function, argument */
|
|
|
|
{"^gg$", bcmd_goto, { TOP } },
|
|
|
|
{"^G$", bcmd_goto, { BOTTOM } },
|
|
|
|
{"^[0-9]+G$", bcmd_goto, {0} },
|
|
|
|
{"^zI$", bcmd_zoom, { ZOOM_IN } },
|
|
|
|
{"^zO$", bcmd_zoom, { ZOOM_OUT } },
|
|
|
|
{"^z0$", bcmd_zoom, { ZOOM_ORIGINAL } },
|
|
|
|
{"^[0-9]+Z$", bcmd_zoom, { ZOOM_SPECIFIC } },
|
|
|
|
{"^[0-9]+%$", bcmd_scroll, {0} },
|
2009-12-26 14:30:50 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
/* special commands */
|
|
|
|
SpecialCommand special_commands[] = {
|
|
|
|
/* identifier, function, a, argument */
|
2010-04-12 19:57:53 +02:00
|
|
|
{'/', scmd_search, 1, { DOWN } },
|
|
|
|
{'?', scmd_search, 1, { UP } },
|
2009-12-26 14:30:50 +01:00
|
|
|
};
|
2010-01-01 19:52:20 +01:00
|
|
|
|
|
|
|
/* settings */
|
|
|
|
Setting settings[] = {
|
|
|
|
/* name, variable, type, render, description */
|
2010-04-11 10:47:09 +02:00
|
|
|
{"recolor", &(Zathura.Global.recolor), 'b', TRUE, "Invert the image"},
|
2010-02-02 15:27:37 +01:00
|
|
|
{"password", &(Zathura.PDF.password), 's', FALSE, "The password of the document"},
|
2010-05-05 20:05:06 +02:00
|
|
|
{"offset", &(Zathura.PDF.page_offset), 'i', FALSE, "Optional page offset"},
|
2010-01-01 19:52:20 +01:00
|
|
|
};
|