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-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 ;
if ( g_strcmp0 ( name , " jumplist-size " ) = = 0 ) {
2012-09-02 00:43:35 +02:00
int * max_size = ( int * ) value ;
2012-08-17 14:14:57 +02:00
zathura - > jumplist . max_size = * max_size ;
}
}
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 ;
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 ) ,
2012-10-09 01:12:18 +02:00
girara_setting_type_t UNUSED ( type ) , void * value , void * UNUSED ( data ) )
2012-03-16 15:47:30 +01: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 ;
int val = * ( int * ) value ;
2012-05-21 23:06:31 +02:00
if ( GTK_IS_TABLE ( zathura - > ui . page_widget ) = = TRUE ) {
2012-08-05 02:30:03 +02:00
# if (GTK_MAJOR_VERSION == 3)
gtk_grid_set_row_spacing ( GTK_GRID ( zathura - > ui . page_widget ) , val ) ;
gtk_grid_set_column_spacing ( GTK_GRID ( zathura - > ui . page_widget ) , val ) ;
# else
2012-05-21 23:06:31 +02:00
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-08-05 02:30:03 +02:00
# endif
2012-05-21 23:06:31 +02:00
}
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 ) ,
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 ;
2012-09-09 12:57:06 +02:00
bool inc_search = true ;
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 ) ;
2012-06-27 22:34:16 +02:00
int_value = 1 ;
girara_setting_add ( gsession , " first-page-column " , & int_value , INT , false , _ ( " Column of the first page " ) , cb_first_page_column_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-05-29 14:22:04 +02:00
float_value = - 1 ;
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 ;
2012-09-15 13:33:41 +02: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 ) ;
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 ) ;
2012-08-17 14:14:57 +02:00
int_value = 20 ;
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
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 ;
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 ;
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 ) ;
bool_value = false ;
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 ;
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 ) ;
2012-09-09 12:04:13 +02:00
inc_search = false ;
girara_setting_add ( gsession , " incremental-search " , & inc_search , 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 ;
2012-08-30 19:49:15 +02:00
girara_setting_add ( gsession , " synctex " , & bool_value , BOOLEAN , false , _ ( " Enable synctex support " ) , 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-08-16 11:16:52 +02:00
girara_shortcut_add ( gsession , GDK_CONTROL_MASK , GDK_KEY_r , 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-08-17 14:14:57 +02:00
girara_shortcut_add ( gsession , GDK_CONTROL_MASK , GDK_KEY_o , NULL , sc_jumplist , NORMAL , BACKWARD , NULL ) ;
girara_shortcut_add ( gsession , GDK_CONTROL_MASK , GDK_KEY_i , NULL , sc_jumplist , NORMAL , FORWARD , 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-10-06 14:58:07 +02:00
girara_shortcut_add ( gsession , 0 , GDK_KEY_d , NULL , sc_toggle_page_mode , 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_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 ) ;
2012-06-27 14:03:26 +02:00
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 ) ;
2012-02-13 12:43:22 +01:00
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 ) ;
2012-06-27 14:03:26 +02:00
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 ) ;
2012-02-13 12:43:22 +01:00
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 ) ;
2012-06-27 14:03:26 +02:00
girara_shortcut_add ( gsession , 0 , 0 , " zz " , sc_zoom , NORMAL , ZOOM_SPECIFIC , NULL ) ;
girara_shortcut_add ( gsession , 0 , 0 , " zz " , sc_zoom , FULLSCREEN , ZOOM_SPECIFIC , NULL ) ;
girara_shortcut_add ( gsession , 0 , 0 , " zZ " , sc_zoom , NORMAL , ZOOM_SPECIFIC , NULL ) ;
girara_shortcut_add ( gsession , 0 , 0 , " zZ " , sc_zoom , FULLSCREEN , ZOOM_SPECIFIC , 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 ) ;
2012-02-07 15:13:36 +01:00
/* mouse events */
2012-10-05 00:44:56 +02: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 ) ;
2012-09-30 12:42:27 +02:00
girara_mouse_event_add ( gsession , 0 , 0 , sc_mouse_scroll , NORMAL , GIRARA_EVENT_SCROLL_LEFT , LEFT , NULL ) ;
girara_mouse_event_add ( gsession , 0 , 0 , sc_mouse_scroll , FULLSCREEN , GIRARA_EVENT_SCROLL_LEFT , LEFT , NULL ) ;
girara_mouse_event_add ( gsession , 0 , 0 , sc_mouse_scroll , NORMAL , GIRARA_EVENT_SCROLL_RIGHT , RIGHT , NULL ) ;
girara_mouse_event_add ( gsession , 0 , 0 , sc_mouse_scroll , FULLSCREEN , GIRARA_EVENT_SCROLL_RIGHT , RIGHT , NULL ) ;
2012-10-05 00:41:05 +02:00
girara_mouse_event_add ( gsession , 0 , GIRARA_MOUSE_BUTTON1 , sc_navigate , FULLSCREEN , GIRARA_EVENT_BUTTON_PRESS , NEXT , NULL ) ;
girara_mouse_event_add ( gsession , 0 , GIRARA_MOUSE_BUTTON3 , sc_navigate , FULLSCREEN , GIRARA_EVENT_BUTTON_PRESS , PREVIOUS , NULL ) ;
2012-09-15 12:53:04 +02:00
girara_mouse_event_add ( gsession , GDK_SHIFT_MASK , 0 , sc_mouse_scroll , NORMAL , GIRARA_EVENT_SCROLL_UP , LEFT , NULL ) ;
girara_mouse_event_add ( gsession , GDK_SHIFT_MASK , 0 , sc_mouse_scroll , FULLSCREEN , GIRARA_EVENT_SCROLL_UP , LEFT , NULL ) ;
girara_mouse_event_add ( gsession , GDK_SHIFT_MASK , 0 , sc_mouse_scroll , NORMAL , GIRARA_EVENT_SCROLL_DOWN , RIGHT , NULL ) ;
girara_mouse_event_add ( gsession , GDK_SHIFT_MASK , 0 , sc_mouse_scroll , FULLSCREEN , GIRARA_EVENT_SCROLL_DOWN , RIGHT , NULL ) ;
2012-02-15 11:48:28 +01:00
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 " ) ) ;
2012-08-14 11:45:11 +02:00
girara_inputbar_command_add ( gsession , " exec " , NULL , cmd_exec , NULL , _ ( " Execute a command " ) ) ;
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
2012-09-09 12:04:13 +02:00
girara_special_command_add ( gsession , ' / ' , cmd_search , inc_search , FORWARD , NULL ) ;
girara_special_command_add ( gsession , ' ? ' , cmd_search , inc_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-09-16 16:25:40 +02:00
girara_shortcut_mapping_add ( gsession , " jumplist " , sc_jumplist ) ;
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-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-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 ) ;
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 ) ;
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
}