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>
2014-01-06 16:02:58 +01:00
# include <girara/utils.h>
2012-03-05 12:39:53 +01:00
# include <glib/gi18n.h>
2011-10-23 17:01:15 +02:00
2014-01-06 16:02:58 +01:00
# define GLOBAL_RC " / etc / zathurarc"
# define ZATHURA_RC "zathurarc"
2012-08-17 14:14:57 +02:00
static void
cb_jumplist_change ( girara_session_t * session , const char * name ,
2012-10-09 01:12:18 +02:00
girara_setting_type_t UNUSED ( type ) , void * value , void * UNUSED ( data ) )
2012-08-17 14:14:57 +02: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 ;
2013-06-21 14:30:04 +02:00
2014-09-27 01:41:35 +02:00
const int * ivalue = value ;
if ( * ivalue < 0 ) {
2013-06-21 14:30:04 +02:00
zathura - > jumplist . max_size = 0 ;
} else {
2014-09-27 01:41:35 +02:00
zathura - > jumplist . max_size = * ivalue ;
2012-08-17 14:14:57 +02:00
}
2013-06-21 14:30:04 +02:00
2014-04-24 01:42:46 +02:00
if ( zathura - > jumplist . list ! = NULL & & zathura - > jumplist . size ! = 0 ) {
zathura_jumplist_trim ( zathura ) ;
}
2012-08-17 14:14:57 +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 ,
2012-10-09 01:12:18 +02:00
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 ;
2013-12-03 17:05:09 +01:00
const char * string_value = ( const char * ) value ;
2012-02-14 14:46:19 +01:00
if ( g_strcmp0 ( name , " highlight-color " ) = = 0 ) {
2013-12-01 16:04:04 +01:00
gdk_rgba_parse ( & ( zathura - > ui . colors . highlight_color ) , string_value ) ;
2012-03-02 21:26:47 +01:00
} else if ( g_strcmp0 ( name , " highlight-active-color " ) = = 0 ) {
2013-12-01 16:04:04 +01:00
gdk_rgba_parse ( & ( zathura - > ui . colors . highlight_color_active ) , string_value ) ;
2012-02-14 14:53:45 +01:00
} else if ( g_strcmp0 ( name , " recolor-darkcolor " ) = = 0 ) {
2013-08-24 00:07:32 +02:00
if ( zathura - > sync . render_thread ! = NULL ) {
zathura_renderer_set_recolor_colors_str ( zathura - > sync . render_thread , NULL , string_value ) ;
}
2012-02-14 14:53:45 +01:00
} else if ( g_strcmp0 ( name , " recolor-lightcolor " ) = = 0 ) {
2013-08-24 00:07:32 +02:00
if ( zathura - > sync . render_thread ! = NULL ) {
zathura_renderer_set_recolor_colors_str ( zathura - > sync . render_thread , string_value , NULL ) ;
}
2013-02-23 17:33:03 +01:00
} else if ( g_strcmp0 ( name , " render-loading-bg " ) = = 0 ) {
2013-12-01 16:04:04 +01:00
gdk_rgba_parse ( & ( zathura - > ui . colors . render_loading_bg ) , string_value ) ;
2013-02-23 17:33:03 +01:00
} else if ( g_strcmp0 ( name , " render-loading-fg " ) = = 0 ) {
2013-12-01 16:04:04 +01:00
gdk_rgba_parse ( & ( zathura - > ui . colors . render_loading_fg ) , string_value ) ;
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-04-22 19:12:45 +02:00
static void
cb_nohlsearch_changed ( girara_session_t * session , const char * UNUSED ( name ) ,
2012-10-09 01:12:18 +02:00
girara_setting_type_t UNUSED ( type ) , void * value , void * UNUSED ( data ) )
2012-04-22 19:12:45 +02:00
{
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 ) ;
}
2012-09-09 12:04:13 +02:00
static void
cb_incsearch_changed ( girara_session_t * session , const char * UNUSED ( name ) ,
2012-10-09 01:12:18 +02:00
girara_setting_type_t UNUSED ( type ) , void * value , void * UNUSED ( data ) )
2012-09-09 12:04:13 +02:00
{
g_return_if_fail ( value ! = NULL ) ;
g_return_if_fail ( session ! = NULL ) ;
g_return_if_fail ( session - > global . data ! = NULL ) ;
bool inc_search = * ( bool * ) value ;
girara_special_command_add ( session , ' / ' , cmd_search , inc_search , FORWARD , NULL ) ;
girara_special_command_add ( session , ' ? ' , cmd_search , inc_search , BACKWARD , NULL ) ;
}
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 ;
2013-08-31 06:18:31 +02:00
char * string_value = NULL ;
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 */
2013-11-25 23:10:35 +01:00
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 " ) ;
zathura - > modes . presentation = girara_mode_add ( gsession , " presentation " ) ;
2011-05-07 22:00:52 +02:00
# define NORMAL zathura->modes.normal
# define INSERT zathura->modes.insert
# define INDEX zathura->modes.index
# define FULLSCREEN zathura->modes.fullscreen
2013-11-25 23:10:35 +01:00
# define PRESENTATION zathura->modes.presentation
2011-05-07 22:00:52 +02:00
2014-02-14 12:59:25 +01:00
const girara_mode_t all_modes [ ] = {
NORMAL ,
INSERT ,
INDEX ,
FULLSCREEN ,
PRESENTATION
} ;
2013-11-25 23:10:35 +01:00
/* Set default mode */
2011-05-07 22:00:52 +02:00
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 */
2013-10-30 03:29:45 +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 ;
2013-10-30 03:29:45 +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 ;
2013-10-30 03:29:45 +01:00
girara_setting_add ( gsession , " page-padding " , & int_value , INT , false , _ ( " Padding between pages " ) , cb_page_layout_value_changed , NULL ) ;
2012-01-19 00:49:08 +01:00
int_value = 1 ;
2013-10-30 03:29:45 +01:00
girara_setting_add ( gsession , " pages-per-row " , & int_value , INT , false , _ ( " Number of pages per row " ) , cb_page_layout_value_changed , NULL ) ;
2012-06-27 22:34:16 +02:00
int_value = 1 ;
2013-10-30 03:29:45 +01:00
girara_setting_add ( gsession , " first-page-column " , & int_value , INT , false , _ ( " Column of the first page " ) , cb_page_layout_value_changed , NULL ) ;
2011-10-21 15:32:50 +02:00
float_value = 40 ;
2013-10-30 03:29:45 +01:00
girara_setting_add ( gsession , " scroll-step " , & float_value , FLOAT , false , _ ( " Scroll step " ) , NULL , NULL ) ;
2013-02-08 14:59:40 +01:00
float_value = 40 ;
2013-10-30 03:29:45 +01:00
girara_setting_add ( gsession , " scroll-hstep " , & float_value , FLOAT , false , _ ( " Horizontal scroll step " ) , NULL , NULL ) ;
2012-09-19 21:31:52 +02:00
float_value = 0.0 ;
2013-10-30 03:29:45 +01:00
girara_setting_add ( gsession , " scroll-full-overlap " , & float_value , FLOAT , false , _ ( " Full page scroll overlap " ) , 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 ) ;
2013-03-26 04:50:22 +01:00
int_value = ZATHURA_PAGE_CACHE_DEFAULT_SIZE ;
2013-03-26 12:55:28 +01:00
girara_setting_add ( gsession , " page-cache-size " , & int_value , INT , true , _ ( " Maximum number of pages to keep in the cache " ) , NULL , NULL ) ;
2014-10-28 23:11:52 +01:00
int_value = ZATHURA_PAGE_THUMBNAIL_DEFAULT_SIZE ;
girara_setting_add ( gsession , " page-thumbnail-size " , & int_value , INT , true , _ ( " Maximum size in pixels of thumbnails to keep in the cache " ) , NULL , NULL ) ;
2013-06-09 05:53:31 +02:00
int_value = 2000 ;
2012-08-17 14:14:57 +02:00
girara_setting_add ( gsession , " jumplist-size " , & int_value , INT , false , _ ( " Number of positions to remember in the jumplist " ) , cb_jumplist_change , NULL ) ;
2011-10-21 15:32:50 +02:00
2013-08-24 00:07:32 +02:00
girara_setting_add ( gsession , " recolor-darkcolor " , " #FFFFFF " , STRING , false , _ ( " Recoloring (dark color) " ) , cb_color_change , NULL ) ;
girara_setting_add ( gsession , " recolor-lightcolor " , " #000000 " , STRING , false , _ ( " Recoloring (light color) " ) , cb_color_change , NULL ) ;
2013-10-30 03:29:45 +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 " ) ;
2013-10-30 03:29:45 +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 " ) ;
2013-10-30 03:29:45 +01:00
girara_setting_add ( gsession , " render-loading-bg " , NULL , STRING , false , _ ( " 'Loading ...' background color " ) , cb_color_change , NULL ) ;
2013-02-23 17:33:03 +01:00
girara_setting_set ( gsession , " render-loading-bg " , " #FFFFFF " ) ;
2013-10-30 03:29:45 +01:00
girara_setting_add ( gsession , " render-loading-fg " , NULL , STRING , false , _ ( " 'Loading ...' foreground color " ) , cb_color_change , NULL ) ;
2013-02-23 17:33:03 +01:00
girara_setting_set ( gsession , " render-loading-fg " , " #000000 " ) ;
2012-02-14 14:46:19 +01:00
2014-04-26 23:32:38 +02:00
girara_setting_add ( gsession , " index-fg " , " #DDDDDD " , STRING , true , _ ( " Index mode foreground color " ) , NULL , NULL ) ;
girara_setting_add ( gsession , " index-bg " , " #232323 " , STRING , true , _ ( " Index mode background color " ) , NULL , NULL ) ;
girara_setting_add ( gsession , " index-active-fg " , " #232323 " , STRING , true , _ ( " Index mode foreground color (active element) " ) , NULL , NULL ) ;
girara_setting_add ( gsession , " index-active-bg " , " #9FBC00 " , STRING , true , _ ( " Index mode background color (active element) " ) , NULL , NULL ) ;
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 ;
2012-07-31 16:43:20 +02:00
girara_setting_add ( gsession , " recolor-keephue " , & bool_value , BOOLEAN , false , _ ( " When recoloring keep original hue and adjust lightness only " ) , cb_setting_recolor_keep_hue_change , NULL ) ;
bool_value = false ;
2014-09-30 19:45:07 +02:00
girara_setting_add ( gsession , " recolor-reverse-video " , & bool_value , BOOLEAN , false , _ ( " When recoloring keep original image colors " ) , cb_setting_recolor_keep_reverse_video_change , NULL ) ;
bool_value = false ;
2012-03-14 17:44:36 +01:00
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 ;
2012-09-15 18:00:15 +02:00
girara_setting_add ( gsession , " scroll-page-aware " , & bool_value , BOOLEAN , false , _ ( " Page aware scrolling " ) , NULL , NULL ) ;
2014-06-24 12:08:00 +02:00
bool_value = true ;
2012-04-10 17:40:29 +02:00
girara_setting_add ( gsession , " advance-pages-per-row " , & bool_value , BOOLEAN , false , _ ( " Advance number of pages per row " ) , NULL , NULL ) ;
2012-05-29 14:22:04 +02:00
bool_value = false ;
girara_setting_add ( gsession , " zoom-center " , & bool_value , BOOLEAN , false , _ ( " Horizontally centered zoom " ) , NULL , NULL ) ;
bool_value = true ;
2012-08-16 18:41:31 +02:00
girara_setting_add ( gsession , " link-hadjust " , & bool_value , BOOLEAN , false , _ ( " Align link target to the left " ) , NULL , NULL ) ;
bool_value = true ;
2013-10-21 18:01:04 +02:00
girara_setting_add ( gsession , " link-zoom " , & bool_value , BOOLEAN , false , _ ( " Let zoom be changed when following links " ) , NULL , NULL ) ;
bool_value = true ;
2012-05-29 14:22:04 +02:00
girara_setting_add ( gsession , " search-hadjust " , & bool_value , BOOLEAN , false , _ ( " Center result horizontally " ) , 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 ) ;
2014-01-06 15:34:17 +01:00
# define INCREMENTAL_SEARCH false
bool_value = INCREMENTAL_SEARCH ;
girara_setting_add ( gsession , " incremental-search " , & bool_value , BOOLEAN , false , _ ( " Enable incremental search " ) , cb_incsearch_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-07-02 14:13:13 +02:00
bool_value = false ;
girara_setting_add ( gsession , " window-title-basename " , & bool_value , BOOLEAN , false , _ ( " Use basename of the file in the window title " ) , NULL , NULL ) ;
2012-08-13 18:17:20 +02:00
bool_value = false ;
2013-07-22 15:01:05 +02:00
girara_setting_add ( gsession , " window-title-page " , & bool_value , BOOLEAN , false , _ ( " Display the page number in the window title " ) , NULL , NULL ) ;
bool_value = false ;
2013-02-28 16:20:54 +01:00
girara_setting_add ( gsession , " statusbar-basename " , & bool_value , BOOLEAN , false , _ ( " Use basename of the file in the statusbar " ) , NULL , NULL ) ;
2014-07-26 16:14:29 +02:00
bool_value = true ;
2012-08-30 19:49:15 +02:00
girara_setting_add ( gsession , " synctex " , & bool_value , BOOLEAN , false , _ ( " Enable synctex support " ) , NULL , NULL ) ;
2014-07-26 16:14:29 +02:00
string_value = " " ;
girara_setting_add ( gsession , " synctex-editor-command " , string_value , STRING , false , _ ( " Synctex editor command " ) , NULL , NULL ) ;
2014-01-05 14:57:48 +01:00
bool_value = true ;
2014-01-11 22:03:36 +01:00
girara_setting_add ( gsession , " dbus-service " , & bool_value , BOOLEAN , false , _ ( " Enable D-Bus service " ) , NULL , NULL ) ;
2013-08-31 12:32:12 +02:00
string_value = " primary " ;
2013-08-31 06:18:31 +02:00
girara_setting_add ( gsession , " selection-clipboard " , string_value , STRING , false , _ ( " The clipboard into which mouse-selected data will be written " ) , NULL , NULL ) ;
2014-08-07 20:50:58 +02:00
bool_value = true ;
girara_setting_add ( gsession , " selection-notification " , & bool_value , BOOLEAN , false , _ ( " Enable notification after selecting text " ) , NULL , NULL ) ;
2012-01-19 00:49:08 +01:00
2013-11-25 23:10:35 +01:00
# define DEFAULT_SHORTCUTS(mode) \
girara_shortcut_add ( gsession , 0 , GDK_KEY_a , NULL , sc_adjust_window , ( mode ) , ZATHURA_ADJUST_BESTFIT , NULL ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_s , NULL , sc_adjust_window , ( mode ) , ZATHURA_ADJUST_WIDTH , NULL ) ; \
\
girara_shortcut_add ( gsession , 0 , GDK_KEY_F , NULL , sc_display_link , ( mode ) , 0 , NULL ) ; \
\
girara_shortcut_add ( gsession , 0 , GDK_KEY_slash , NULL , sc_focus_inputbar , ( mode ) , 0 , & ( " / " ) ) ; \
girara_shortcut_add ( gsession , GDK_SHIFT_MASK , GDK_KEY_slash , NULL , sc_focus_inputbar , ( mode ) , 0 , & ( " / " ) ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_question , NULL , sc_focus_inputbar , ( mode ) , 0 , & ( " ? " ) ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_colon , NULL , sc_focus_inputbar , ( mode ) , 0 , & ( " : " ) ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_o , NULL , sc_focus_inputbar , ( mode ) , 0 , & ( " :open " ) ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_O , NULL , sc_focus_inputbar , ( mode ) , APPEND_FILEPATH , & ( " :open " ) ) ; \
\
girara_shortcut_add ( gsession , 0 , GDK_KEY_f , NULL , sc_follow , ( mode ) , 0 , NULL ) ; \
\
girara_shortcut_add ( gsession , 0 , 0 , " gg " , sc_goto , ( mode ) , TOP , NULL ) ; \
girara_shortcut_add ( gsession , 0 , 0 , " G " , sc_goto , ( mode ) , BOTTOM , NULL ) ; \
\
girara_shortcut_add ( gsession , 0 , GDK_KEY_m , NULL , sc_mark_add , ( mode ) , 0 , NULL ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_apostrophe , NULL , sc_mark_evaluate , ( mode ) , 0 , NULL ) ; \
\
girara_shortcut_add ( gsession , 0 , GDK_KEY_J , NULL , sc_navigate , ( mode ) , NEXT , NULL ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_K , NULL , sc_navigate , ( mode ) , PREVIOUS , NULL ) ; \
girara_shortcut_add ( gsession , GDK_MOD1_MASK , GDK_KEY_Right , NULL , sc_navigate , ( mode ) , NEXT , NULL ) ; \
girara_shortcut_add ( gsession , GDK_MOD1_MASK , GDK_KEY_Left , NULL , sc_navigate , ( mode ) , PREVIOUS , NULL ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_Page_Down , NULL , sc_navigate , ( mode ) , NEXT , NULL ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_Page_Up , NULL , sc_navigate , ( mode ) , PREVIOUS , NULL ) ; \
\
girara_shortcut_add ( gsession , GDK_CONTROL_MASK , GDK_KEY_p , NULL , sc_print , ( mode ) , 0 , NULL ) ; \
\
girara_shortcut_add ( gsession , GDK_CONTROL_MASK , GDK_KEY_r , NULL , sc_recolor , ( mode ) , 0 , NULL ) ; \
\
girara_shortcut_add ( gsession , 0 , GDK_KEY_R , NULL , sc_reload , ( mode ) , 0 , NULL ) ; \
\
girara_shortcut_add ( gsession , 0 , GDK_KEY_r , NULL , sc_rotate , ( mode ) , ROTATE_CW , NULL ) ; \
\
girara_shortcut_add ( gsession , 0 , GDK_KEY_h , NULL , sc_scroll , ( mode ) , LEFT , NULL ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_j , NULL , sc_scroll , ( mode ) , DOWN , NULL ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_k , NULL , sc_scroll , ( mode ) , UP , NULL ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_l , NULL , sc_scroll , ( mode ) , RIGHT , NULL ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_Left , NULL , sc_scroll , ( mode ) , LEFT , NULL ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_Up , NULL , sc_scroll , ( mode ) , UP , NULL ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_Down , NULL , sc_scroll , ( mode ) , DOWN , NULL ) ; \
2014-01-09 17:16:56 +01:00
girara_shortcut_add ( gsession , 0 , GDK_KEY_H , NULL , sc_scroll , ( mode ) , PAGE_TOP , NULL ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_L , NULL , sc_scroll , ( mode ) , PAGE_BOTTOM , NULL ) ; \
2013-11-25 23:10:35 +01:00
girara_shortcut_add ( gsession , 0 , GDK_KEY_Right , NULL , sc_scroll , ( mode ) , RIGHT , NULL ) ; \
girara_shortcut_add ( gsession , GDK_CONTROL_MASK , GDK_KEY_t , NULL , sc_scroll , ( mode ) , HALF_LEFT , NULL ) ; \
girara_shortcut_add ( gsession , GDK_CONTROL_MASK , GDK_KEY_d , NULL , sc_scroll , ( mode ) , HALF_DOWN , NULL ) ; \
girara_shortcut_add ( gsession , GDK_CONTROL_MASK , GDK_KEY_u , NULL , sc_scroll , ( mode ) , HALF_UP , NULL ) ; \
girara_shortcut_add ( gsession , GDK_CONTROL_MASK , GDK_KEY_y , NULL , sc_scroll , ( mode ) , HALF_RIGHT , NULL ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_t , NULL , sc_scroll , ( mode ) , FULL_LEFT , NULL ) ; \
girara_shortcut_add ( gsession , GDK_CONTROL_MASK , GDK_KEY_f , NULL , sc_scroll , ( mode ) , FULL_DOWN , NULL ) ; \
girara_shortcut_add ( gsession , GDK_CONTROL_MASK , GDK_KEY_b , NULL , sc_scroll , ( mode ) , FULL_UP , NULL ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_y , NULL , sc_scroll , ( mode ) , FULL_RIGHT , NULL ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_space , NULL , sc_scroll , ( mode ) , FULL_DOWN , NULL ) ; \
girara_shortcut_add ( gsession , GDK_SHIFT_MASK , GDK_KEY_space , NULL , sc_scroll , ( mode ) , FULL_UP , NULL ) ; \
\
girara_shortcut_add ( gsession , GDK_CONTROL_MASK , GDK_KEY_o , NULL , sc_jumplist , ( mode ) , BACKWARD , NULL ) ; \
girara_shortcut_add ( gsession , GDK_CONTROL_MASK , GDK_KEY_i , NULL , sc_jumplist , ( mode ) , FORWARD , NULL ) ; \
\
girara_shortcut_add ( gsession , GDK_CONTROL_MASK , GDK_KEY_j , NULL , sc_bisect , ( mode ) , FORWARD , NULL ) ; \
girara_shortcut_add ( gsession , GDK_CONTROL_MASK , GDK_KEY_k , NULL , sc_bisect , ( mode ) , BACKWARD , NULL ) ; \
\
girara_shortcut_add ( gsession , 0 , GDK_KEY_n , NULL , sc_search , ( mode ) , FORWARD , NULL ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_N , NULL , sc_search , ( mode ) , BACKWARD , NULL ) ; \
\
girara_shortcut_add ( gsession , 0 , GDK_KEY_Tab , NULL , sc_toggle_index , ( mode ) , 0 , NULL ) ; \
girara_shortcut_add ( gsession , GDK_CONTROL_MASK , GDK_KEY_n , NULL , girara_sc_toggle_statusbar , ( mode ) , 0 , NULL ) ; \
girara_shortcut_add ( gsession , GDK_CONTROL_MASK , GDK_KEY_m , NULL , girara_sc_toggle_inputbar , ( mode ) , 0 , NULL ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_d , NULL , sc_toggle_page_mode , ( mode ) , 0 , NULL ) ; \
\
girara_shortcut_add ( gsession , 0 , GDK_KEY_q , NULL , sc_quit , ( mode ) , 0 , NULL ) ; \
2014-01-09 21:39:16 +01:00
\
girara_shortcut_add ( gsession , 0 , GDK_KEY_plus , NULL , sc_zoom , ( mode ) , ZOOM_IN , NULL ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_KP_Add , NULL , sc_zoom , ( mode ) , ZOOM_IN , NULL ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_minus , NULL , sc_zoom , ( mode ) , ZOOM_OUT , NULL ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_KP_Subtract , NULL , sc_zoom , ( mode ) , ZOOM_OUT , NULL ) ; \
girara_shortcut_add ( gsession , 0 , GDK_KEY_equal , NULL , sc_zoom , ( mode ) , ZOOM_SPECIFIC , NULL ) ; \
girara_shortcut_add ( gsession , 0 , 0 , " zi " , sc_zoom , ( mode ) , ZOOM_IN , NULL ) ; \
girara_shortcut_add ( gsession , 0 , 0 , " zI " , sc_zoom , ( mode ) , ZOOM_IN , NULL ) ; \
girara_shortcut_add ( gsession , 0 , 0 , " zo " , sc_zoom , ( mode ) , ZOOM_OUT , NULL ) ; \
girara_shortcut_add ( gsession , 0 , 0 , " zO " , sc_zoom , ( mode ) , ZOOM_OUT , NULL ) ; \
girara_shortcut_add ( gsession , 0 , 0 , " z0 " , sc_zoom , ( mode ) , ZOOM_ORIGINAL , NULL ) ; \
girara_shortcut_add ( gsession , 0 , 0 , " zz " , sc_zoom , ( mode ) , ZOOM_SPECIFIC , NULL ) ; \
girara_shortcut_add ( gsession , 0 , 0 , " zZ " , sc_zoom , ( mode ) , ZOOM_SPECIFIC , NULL ) ;
2013-11-25 23:10:35 +01:00
# define DEFAULT_MOUSE_EVENTS(mode) \
2014-07-05 18:13:50 +02:00
girara_mouse_event_add ( gsession , 0 , 0 , sc_mouse_scroll , ( mode ) , GIRARA_EVENT_SCROLL_UP , UP , NULL ) ; \
girara_mouse_event_add ( gsession , 0 , 0 , sc_mouse_scroll , ( mode ) , GIRARA_EVENT_SCROLL_DOWN , DOWN , NULL ) ; \
girara_mouse_event_add ( gsession , 0 , 0 , sc_mouse_scroll , ( mode ) , GIRARA_EVENT_SCROLL_LEFT , LEFT , NULL ) ; \
girara_mouse_event_add ( gsession , 0 , 0 , sc_mouse_scroll , ( mode ) , GIRARA_EVENT_SCROLL_RIGHT , RIGHT , NULL ) ; \
girara_mouse_event_add ( gsession , 0 , 0 , sc_mouse_scroll , ( mode ) , GIRARA_EVENT_SCROLL_BIDIRECTIONAL , BIDIRECTIONAL , NULL ) ; \
2013-11-25 23:10:35 +01:00
\
girara_mouse_event_add ( gsession , GDK_SHIFT_MASK , 0 , sc_mouse_scroll , ( mode ) , GIRARA_EVENT_SCROLL_UP , LEFT , NULL ) ; \
girara_mouse_event_add ( gsession , GDK_SHIFT_MASK , 0 , sc_mouse_scroll , ( mode ) , GIRARA_EVENT_SCROLL_DOWN , RIGHT , NULL ) ; \
\
2014-07-05 18:13:50 +02:00
girara_mouse_event_add ( gsession , GDK_CONTROL_MASK , 0 , sc_mouse_zoom , ( mode ) , GIRARA_EVENT_SCROLL_UP , UP , NULL ) ; \
girara_mouse_event_add ( gsession , GDK_CONTROL_MASK , 0 , sc_mouse_zoom , ( mode ) , GIRARA_EVENT_SCROLL_DOWN , DOWN , NULL ) ; \
girara_mouse_event_add ( gsession , GDK_CONTROL_MASK , 0 , sc_mouse_zoom , ( mode ) , GIRARA_EVENT_SCROLL_BIDIRECTIONAL , BIDIRECTIONAL , NULL ) ; \
2013-11-25 23:10:35 +01:00
girara_mouse_event_add ( gsession , 0 , GIRARA_MOUSE_BUTTON2 , sc_mouse_scroll , ( mode ) , GIRARA_EVENT_BUTTON_PRESS , 0 , NULL ) ; \
girara_mouse_event_add ( gsession , GDK_BUTTON2_MASK , GIRARA_MOUSE_BUTTON2 , sc_mouse_scroll , ( mode ) , GIRARA_EVENT_BUTTON_RELEASE , 0 , NULL ) ; \
girara_mouse_event_add ( gsession , GDK_BUTTON2_MASK , 0 , sc_mouse_scroll , ( mode ) , GIRARA_EVENT_MOTION_NOTIFY , 0 , NULL ) ; \
2014-02-14 12:59:25 +01:00
/* Define mode-less shortcuts
* girara adds them only for normal mode , so passing 0 as mode is currently
* not enough . We need to add / override for every mode . */
for ( size_t idx = 0 ; idx ! = LENGTH ( all_modes ) ; + + idx ) {
girara_shortcut_add ( gsession , GDK_CONTROL_MASK , GDK_KEY_c , NULL , sc_abort , all_modes [ idx ] , 0 , NULL ) ;
girara_shortcut_add ( gsession , 0 , GDK_KEY_Escape , NULL , sc_abort , all_modes [ idx ] , 0 , NULL ) ;
}
2013-11-25 23:10:35 +01:00
/* Normal mode */
girara_shortcut_add ( gsession , 0 , GDK_KEY_F5 , NULL , sc_toggle_presentation , NORMAL , 0 , NULL ) ;
girara_shortcut_add ( gsession , 0 , GDK_KEY_F11 , NULL , sc_toggle_fullscreen , NORMAL , 0 , NULL ) ;
DEFAULT_SHORTCUTS ( NORMAL )
/* Normal mode - Mouse events */
DEFAULT_MOUSE_EVENTS ( NORMAL )
/* Fullscreen mode */
girara_shortcut_add ( gsession , 0 , GDK_KEY_F11 , NULL , sc_toggle_fullscreen , FULLSCREEN , 0 , NULL ) ;
DEFAULT_SHORTCUTS ( FULLSCREEN )
/* Fullscreen mode - Mouse events */
DEFAULT_MOUSE_EVENTS ( FULLSCREEN )
/* Index mode */
girara_shortcut_add ( gsession , 0 , GDK_KEY_Tab , NULL , sc_toggle_index , INDEX , 0 , NULL ) ;
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 ) ;
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 ) ;
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 ) ;
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 ) ;
2014-01-10 17:45:36 +01:00
girara_shortcut_add ( gsession , 0 , 0 , " gg " , sc_navigate_index , INDEX , TOP , NULL ) ;
girara_shortcut_add ( gsession , 0 , 0 , " G " , sc_navigate_index , INDEX , BOTTOM , NULL ) ;
2013-11-25 23:10:35 +01:00
/* Presentation mode */
girara_shortcut_add ( gsession , 0 , GDK_KEY_J , NULL , sc_navigate , PRESENTATION , NEXT , NULL ) ;
girara_shortcut_add ( gsession , 0 , GDK_KEY_Down , NULL , sc_navigate , PRESENTATION , NEXT , NULL ) ;
girara_shortcut_add ( gsession , 0 , GDK_KEY_Right , NULL , sc_navigate , PRESENTATION , NEXT , NULL ) ;
girara_shortcut_add ( gsession , 0 , GDK_KEY_Page_Down , NULL , sc_navigate , PRESENTATION , NEXT , NULL ) ;
girara_shortcut_add ( gsession , 0 , GDK_KEY_space , NULL , sc_navigate , PRESENTATION , NEXT , NULL ) ;
girara_shortcut_add ( gsession , 0 , GDK_KEY_K , NULL , sc_navigate , PRESENTATION , PREVIOUS , NULL ) ;
girara_shortcut_add ( gsession , 0 , GDK_KEY_Left , NULL , sc_navigate , PRESENTATION , PREVIOUS , NULL ) ;
girara_shortcut_add ( gsession , 0 , GDK_KEY_Up , NULL , sc_navigate , PRESENTATION , PREVIOUS , NULL ) ;
girara_shortcut_add ( gsession , 0 , GDK_KEY_Page_Up , NULL , sc_navigate , PRESENTATION , PREVIOUS , NULL ) ;
girara_shortcut_add ( gsession , GDK_SHIFT_MASK , GDK_KEY_space , NULL , sc_navigate , PRESENTATION , PREVIOUS , NULL ) ;
girara_shortcut_add ( gsession , 0 , GDK_KEY_BackSpace , NULL , sc_navigate , PRESENTATION , PREVIOUS , NULL ) ;
girara_shortcut_add ( gsession , 0 , GDK_KEY_F5 , NULL , sc_toggle_presentation , PRESENTATION , 0 , NULL ) ;
girara_shortcut_add ( gsession , 0 , GDK_KEY_q , NULL , sc_quit , PRESENTATION , 0 , NULL ) ;
/* Presentation mode - Mouse events */
girara_mouse_event_add ( gsession , 0 , 0 , sc_mouse_scroll , PRESENTATION , GIRARA_EVENT_SCROLL_UP , UP , NULL ) ;
girara_mouse_event_add ( gsession , 0 , 0 , sc_mouse_scroll , PRESENTATION , GIRARA_EVENT_SCROLL_DOWN , DOWN , NULL ) ;
girara_mouse_event_add ( gsession , 0 , 0 , sc_mouse_scroll , PRESENTATION , GIRARA_EVENT_SCROLL_LEFT , LEFT , NULL ) ;
girara_mouse_event_add ( gsession , 0 , 0 , sc_mouse_scroll , PRESENTATION , GIRARA_EVENT_SCROLL_RIGHT , RIGHT , NULL ) ;
girara_mouse_event_add ( gsession , 0 , GIRARA_MOUSE_BUTTON1 , sc_navigate , PRESENTATION , GIRARA_EVENT_BUTTON_PRESS , NEXT , NULL ) ;
girara_mouse_event_add ( gsession , 0 , GIRARA_MOUSE_BUTTON3 , sc_navigate , PRESENTATION , GIRARA_EVENT_BUTTON_PRESS , PREVIOUS , NULL ) ;
girara_mouse_event_add ( gsession , GDK_SHIFT_MASK , 0 , sc_mouse_scroll , PRESENTATION , GIRARA_EVENT_SCROLL_UP , LEFT , NULL ) ;
girara_mouse_event_add ( gsession , GDK_SHIFT_MASK , 0 , sc_mouse_scroll , PRESENTATION , GIRARA_EVENT_SCROLL_DOWN , RIGHT , NULL ) ;
girara_mouse_event_add ( gsession , GDK_CONTROL_MASK , 0 , sc_mouse_zoom , PRESENTATION , GIRARA_EVENT_SCROLL_UP , UP , NULL ) ;
girara_mouse_event_add ( gsession , GDK_CONTROL_MASK , 0 , sc_mouse_zoom , PRESENTATION , GIRARA_EVENT_SCROLL_DOWN , DOWN , NULL ) ;
2010-11-29 14:58:56 +01:00
2012-09-03 10:30:25 +02:00
/* inputbar shortcuts */
girara_inputbar_shortcut_add ( gsession , 0 , GDK_KEY_Escape , sc_abort , 0 , NULL ) ;
girara_inputbar_shortcut_add ( gsession , GDK_CONTROL_MASK , GDK_KEY_c , sc_abort , 0 , NULL ) ;
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 " ) ) ;
2012-08-14 11:45:11 +02:00
girara_inputbar_command_add ( gsession , " exec " , NULL , cmd_exec , NULL , _ ( " Execute a command " ) ) ;
2014-09-27 01:37:31 +02:00
girara_inputbar_command_add ( gsession , " ! " , NULL , cmd_exec , NULL , _ ( " Execute a command " ) ) ; /* like vim */
2012-04-22 19:12:45 +02:00
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
2014-01-06 15:34:17 +01:00
girara_special_command_add ( gsession , ' / ' , cmd_search , INCREMENTAL_SEARCH , FORWARD , NULL ) ;
girara_special_command_add ( gsession , ' ? ' , cmd_search , INCREMENTAL_SEARCH , BACKWARD , NULL ) ;
2011-10-22 16:35:38 +02:00
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 ) ;
2012-12-07 16:03:43 +01:00
girara_shortcut_mapping_add ( gsession , " display_link " , sc_display_link ) ;
2012-12-08 17:00:27 +01:00
girara_shortcut_mapping_add ( gsession , " focus_inputbar " , sc_focus_inputbar ) ;
2011-05-07 00:39:34 +02:00
girara_shortcut_mapping_add ( gsession , " follow " , sc_follow ) ;
girara_shortcut_mapping_add ( gsession , " goto " , sc_goto ) ;
2012-12-08 17:00:26 +01:00
girara_shortcut_mapping_add ( gsession , " jumplist " , sc_jumplist ) ;
2013-03-31 13:10:48 +02:00
girara_shortcut_mapping_add ( gsession , " bisect " , sc_bisect ) ;
2011-05-07 00:39:34 +02:00
girara_shortcut_mapping_add ( gsession , " navigate " , sc_navigate ) ;
2012-12-08 17:00:26 +01:00
girara_shortcut_mapping_add ( gsession , " navigate_index " , sc_navigate_index ) ;
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 ) ;
2013-11-25 23:10:35 +01:00
girara_shortcut_mapping_add ( gsession , " toggle_presentation " , sc_toggle_presentation ) ;
2011-05-07 00:39:34 +02:00
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 ) ;
2012-12-08 17:00:27 +01:00
girara_shortcut_mapping_add ( gsession , " toggle_page_mode " , sc_toggle_page_mode ) ;
2011-06-23 14:31:41 +02:00
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-09-16 16:25:40 +02:00
girara_argument_mapping_add ( gsession , " backward " , BACKWARD ) ;
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 ) ;
2014-01-10 14:52:07 +01:00
girara_argument_mapping_add ( gsession , " select " , SELECT ) ;
2014-01-10 14:52:51 +01:00
girara_argument_mapping_add ( gsession , " toggle " , TOGGLE ) ;
2012-09-16 16:25:40 +02:00
girara_argument_mapping_add ( gsession , " forward " , FORWARD ) ;
2012-02-21 17:11:59 +01:00
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 ) ;
2013-12-17 15:34:40 +01:00
girara_argument_mapping_add ( gsession , " page-top " , PAGE_TOP ) ;
girara_argument_mapping_add ( gsession , " page-bottom " , PAGE_BOTTOM ) ;
2012-02-21 17:11:59 +01:00
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
2014-01-06 16:02:58 +01:00
config_load_files ( zathura_t * zathura )
2011-04-01 09:55:37 +02:00
{
2014-01-06 16:02:58 +01:00
/* load global configuration files */
char * config_path = girara_get_xdg_path ( XDG_CONFIG_DIRS ) ;
girara_list_t * config_dirs = girara_split_path_array ( config_path ) ;
ssize_t size = girara_list_size ( config_dirs ) - 1 ;
for ( ; size > = 0 ; - - size ) {
const char * dir = girara_list_nth ( config_dirs , size ) ;
char * file = g_build_filename ( dir , ZATHURA_RC , NULL ) ;
girara_config_parse ( zathura - > ui . session , file ) ;
g_free ( file ) ;
2011-04-01 09:55:37 +02:00
}
2014-01-06 16:02:58 +01:00
girara_list_free ( config_dirs ) ;
g_free ( config_path ) ;
girara_config_parse ( zathura - > ui . session , GLOBAL_RC ) ;
2011-04-01 09:55:37 +02:00
2014-01-06 16:02:58 +01:00
/* load local configuration files */
char * configuration_file = g_build_filename ( zathura - > config . config_dir , ZATHURA_RC , NULL ) ;
girara_config_parse ( zathura - > ui . session , configuration_file ) ;
g_free ( configuration_file ) ;
2011-04-01 09:55:37 +02:00
}