diff options
| -rw-r--r-- | ChangeLog | 9 | ||||
| -rw-r--r-- | TODO | 27 | ||||
| -rw-r--r-- | man/feh.pre | 34 | ||||
| -rw-r--r-- | src/feh.h | 4 | ||||
| -rw-r--r-- | src/imlib.c | 6 | ||||
| -rw-r--r-- | src/keyevents.c | 10 | 
6 files changed, 57 insertions, 33 deletions
| @@ -2,6 +2,15 @@ git HEAD      * Respect --image-bg option in full-screen mode +    [Patches by Yu-Jie Lin] + +    * Add scroll by page actions +    * Allow combination of multiple key modifiers +    * Fix option pair bug in theme config +      <https://github.com/derf/feh/issues/49> +    * Allow Shift modifier in key config +      <https://github.com/derf/feh/issues/30> +  Mon, 04 Jul 2011 14:46:36 +0200  Daniel Friesel <derf@finalrewind.org>  * Release v1.14.2 @@ -47,8 +47,8 @@ Running feh 1.9-21-gbeecfaf from github on a FC13 x86_64 machine.       user: dayne      votes: 1    created: 2010/10/06 16:22:25 -0700 -  updated: 2011/04/12 11:48:32 -0700 - comments: 1 +  updated: 2011/08/01 02:45:58 -0700 + comments: 2  12. "Reverse" --scale-down (zoom images to screen size)  ------------------------------------------------------- @@ -118,27 +118,6 @@ Like: "1 of 4" -> delete file -> "2 of 4" -> rerender -> "1 of 3"       user: derf      votes: 0    created: 2011/05/30 14:44:05 -0700 -  updated: 2011/05/30 14:45:14 -0700 - comments: 0 -  -49. separated short options in theme file ------------------------------------------ -if a theme (but not normal commandline) contains multiple separate short -options (e.g. -x -d instead of -xd), feh gives errors and ignores the first -argument specified on commandline, or segfaults if no arguments are specified. -for example: -theme: feh --scale-down -x -d -commandline: feh ~/img.jpg -result: the following errors, and loading all images in . while ignoring -~/img.jpg -feh: invalid option -- '�' -feh: invalid option -- '' - -experienced with 1.14.1 -    state: open -     user: ze- -    votes: 0 -  created: 2011/06/04 18:15:32 -0700 -  updated: 2011/06/04 23:58:12 -0700 +  updated: 2011/08/01 09:03:40 -0700   comments: 1 diff --git a/man/feh.pre b/man/feh.pre index 9a541b7..b220a2b 100644 --- a/man/feh.pre +++ b/man/feh.pre @@ -42,6 +42,11 @@ supports filelists, various image sorting modes, image captions and more.  Configurable keyboard shortcuts are used to control it; the mouse is also  supported, but only required for very few actions.  . +.Pp +. +.Nm +can also be used as wallpaper setter. +.  .  .Sh MODES  . @@ -873,16 +878,23 @@ is an X11 keysym name as shown by  .Xr xev 1 ,  like  .Qq Delete . -It may optionally start with a modifier for things like Control, in which case +It may optionally start with modifiers for things like Control, in which case  .Ar key  looks like  .Ar mod Ns No - Ns Ar keysym -.Pq for example Qo C-Delete Qc for Ctrl+Delete . +.Po +for example +.Qq C-Delete +for Ctrl+Delete or +.Qq C-1-Delete +for Ctrl+Alt+Delete +.Pc  .  .Pp  .  Available modifiers are -.Ar C No for Control and +.Ar C No for Control , +.Ar S No for Shift and  .Ar 1 , 4 No for Mod1 and Mod4 .  .  .Pp @@ -1060,6 +1072,22 @@ Scroll down.  Note that the scroll keys work without anti-aliasing for performance reasons,  hit the render key after scrolling to antialias the image.  . +.It Aq Alt+Left +. +Scroll to the left by one page +. +.It Aq Alt+Right +. +Scroll to the right by one page +. +.It Aq Alt+Up +. +Scroll up by one page +. +.It Aq Alt+Down +. +Scroll down by one page +.  .It Ao keypad begin Ac Bq render  .  Antialias the image @@ -145,8 +145,8 @@ void real_loadables_mode(int loadable);  void feh_reload_image(winwidget w, int resize, int force_new);  void feh_filelist_image_remove(winwidget winwid, char do_delete);  void slideshow_save_image(winwidget win); -void feh_edit_inplace_orient(winwidget w, int orientation); -void feh_edit_inplace_lossless_rotate(winwidget w, int orientation); +void feh_edit_inplace(winwidget w, int orientation); +void feh_edit_inplace_lossless(winwidget w, int orientation);  gib_list *feh_wrap_string(char *text, int wrap_width, Imlib_Font fn, gib_style * style);  char *build_caption_filename(feh_file * file, short create_dir);  gib_list *feh_list_jump(gib_list * root, gib_list * l, int direction, int num); diff --git a/src/imlib.c b/src/imlib.c index f5e63c3..e27db57 100644 --- a/src/imlib.c +++ b/src/imlib.c @@ -923,9 +923,9 @@ void feh_edit_inplace_lossless(winwidget w, int op)  	int len = strlen(filename) + 1;  	char *file_str = emalloc(len);  	int pid, status; -	char op_name[]  = "rotate";     // for message -	char op_op[]    = "-rotate";    // for jpegtran option -	char op_value[] = "horizontal"; // for jpegtran option's value +	char op_name[]  = "rotate";     /* message */ +	char op_op[]    = "-rotate";    /* jpegtran option */ +	char op_value[] = "horizontal"; /* jpegtran option's value */  	if (op == INPLACE_EDIT_FLIP) {  		sprintf(op_name,  "flip"); diff --git a/src/keyevents.c b/src/keyevents.c index 617c2e9..7c14e14 100644 --- a/src/keyevents.c +++ b/src/keyevents.c @@ -55,6 +55,9 @@ static void feh_set_parse_kb_partial(fehkey *key, int index, char *ks) {  			case 'C':  				mod |= ControlMask;  				break; +			case 'S': +				mod |= ShiftMask; +				break;  			case '1':  				mod |= Mod1Mask;  				break; @@ -69,6 +72,8 @@ static void feh_set_parse_kb_partial(fehkey *key, int index, char *ks) {  	}  	key->keysyms[index] = XStringToKeysym(cur); +	if (isascii(key->keysyms[index])) +		mod &= ~ShiftMask;  	key->keystates[index] = mod;  	if (key->keysyms[index] == NoSymbol) @@ -362,7 +367,10 @@ void feh_event_handle_keypress(XEvent * ev)  	kev = (XKeyEvent *) ev;  	len = XLookupString(&ev->xkey, (char *) kbuf, sizeof(kbuf), &keysym, NULL); -	state = kev->state & (ControlMask | Mod1Mask | Mod4Mask); +	state = kev->state & (ControlMask | ShiftMask | Mod1Mask | Mod4Mask); + +	if (isascii(keysym)) +		state &= ~ShiftMask;  	/* menus are showing, so this is a menu control keypress */  	if (ev->xbutton.window == menu_cover) { | 
