Commit 4323b10a authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Apply 04_escape_filenamed.patch from Debian

parent a4d4d674
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -258,7 +258,7 @@ it, or will fall back to X methods.
Feh stores the commandline necessary to restore
the background you chose in ~/.fehbg. So to have
feh-set backgrounds restored when you restart X,
add the line "eval `cat $HOME/.fehbg`" to your
add the line "`cat $HOME/.fehbg`" to your
X startup script (e.g. ~/.xsession). Note that
you only need to do this for non E window
managers.
+1 −1
Original line number Diff line number Diff line
@@ -985,7 +985,7 @@ show_usage(void)
"                           Feh stores the commandline necessary to restore\n"
"                           the background you chose in ~/.fehbg. So to have\n"
"                           feh-set backgrounds restored when you restart X,\n"
"                           add the line \"eval `cat $HOME/.fehbg`\" to your\n"
"                           add the line \"`cat $HOME/.fehbg`\" to your\n"
"                           X startup script (e.g. ~/.xsession). Note that\n"
"                           you only need to do this for non E window\n"
"                           managers.\n"
+15 −3
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "filelist.h"
#include "options.h"
#include "support.h"
#include <limits.h>
Window ipc_win = None;
Window my_ipc_win = None;
Atom ipc_atom = None;
@@ -162,7 +163,7 @@ feh_wm_set_bg(char *fil, Imlib_Image im, int centered, int scaled,
      /* string for sticking in ~/.fehbg */
      char *fehbg = NULL;
      char *home;
      char filbuf[4096];
      char filbuf[PATH_MAX];

      /* local display to set closedownmode on */
      Display *disp2;
@@ -170,11 +171,22 @@ feh_wm_set_bg(char *fil, Imlib_Image im, int centered, int scaled,
      int depth2;
      XGCValues gcvalues;
      GC gc;
      int w, h;
      int in, out, w, h;

      D(3, ("Falling back to XSetRootWindowPixmap\n"));
      
      snprintf(filbuf, sizeof(filbuf), "\"%s\"", fil);
      /* Put the filename in filbuf between ' and escape ' in the filename */
      out = 0;
      filbuf[out++] = '\'';
      for (in = 0; fil[in] && out < (PATH_MAX-4); in++) {
         if (fil[in] == '\'') {
            filbuf[out++] = '\\';
         }
         filbuf[out++] = fil[in];
      }
      filbuf[out++] = '\'';
      filbuf[out++] = 0;
      
      if (scaled) {
         w = scr->width;
         h = scr->height;