Your message dated Thu,  4 Apr 2024 15:25:34 +0000
with message-id <20240404152534.GA22517@localhost>
and subject line Re: Bug#1021499: fim: --slideshow=5 is buggy. doesn't show 
first picture, and 'q' doesn't quit
has caused the Debian Bug report #1021499,
regarding fim: --slideshow=5 is buggy. doesn't show first picture, and 'q' 
doesn't quit
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1021499: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1021499
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: fim
Version: 0.5.3-9+b1
Severity: normal
X-Debbugs-Cc: [email protected]

Dear Maintainer,

   * What led up to the situation?
      fim --slideshow=5 ./*.jpg
   * What exactly did you do (or not do) that was effective (or
     ineffective)?
      I looked at the screen. I also pressed 'q'.
   * What was the outcome of this action?
      The first image of the slideshow was just all black. The 2nd+
images do show.
      Also if you press 'q' while the slideshow is still running, the
app doesn't quit
      but instead it just progresses to the next image. After all the
images have been
      shown, then 'q' will quit. I would also expect slideshow mode to
loop around
      indefinitely, but that's not really a bug.
   * What outcome did you expect instead?
      I expected to see the first image. I also expected 'q' to quit the app.

Also confirmed the bug exists on Bullseye.
It works fine in fbi.


-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.10.0-18-amd64 (SMP w/4 CPU threads)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages fim depends on:
ii  libaa1           1.4p5-50
ii  libc6            2.35-3
ii  libdjvulibre21   3.5.28-2
ii  libexif12        0.6.24-1+b1
ii  libgcc-s1        12.2.0-5
ii  libgif7          5.2.1-2.5
ii  libjpeg62-turbo  1:2.1.2-1+b1
ii  libpng16-16      1.6.38-2
ii  libreadline8     8.2-1
ii  libsdl1.2debian  1.2.15+dfsg2-8
ii  libstdc++6       12.2.0-5
ii  libtiff5         4.4.0-4

fim recommends no packages.

fim suggests no packages.

-- no debconf information

--- End Message ---
--- Begin Message ---
Since this bug has been solved a long time a go upstream, I am closing it here.

On 20221017@08:30, Michele Martone wrote:
> It's a nice idea, however I remember SDL-1.2 does not allow for window
> positioning or probing for the maximal window area (it is different with
> full screen - there, probing is fine).
> I will think about it and let know :-)
> 
> In the meanwhile, did you check out 
>  fim file.jpg -a -k F11
> ?
> F11 is the full screen key ;-)
> 
> On 20221016@19:11, d3fault wrote:
> > Another small suggestion: --show-maximized to show the whole window
> > maximized when it's first launched. To be used in combination with -a
> > of course :)
> > 
> > 
> > d3fault
> > 
> > On 10/16/22, d3fault <[email protected]> wrote:
> > > Thank you for this! I haven't tested it but I'll assume it works.
> > > Since you're in "fim mode" maybe I can persuade you to re-add the "-1"
> > > flag and also re-add Ctrl-C terminating the program with error code !=
> > > 0. I'm trying to port the following fbi script to fim. what it does is
> > > recursively generates an image list from current directory, shuffles
> > > it, then displays those images in fbi and exits out. the whole process
> > > loops indefinitely (so a different shuffled order is shown every time)
> > > until Ctrl+C is pressed. it doesn't use a slideshow by default but I
> > > can pass "-t 5" to the script and then it does. side note: --slideshow
> > > 5 takes a bit longer to write. -t alias?
> > >
> > > thank you for your work on fim. fbi is awesome but up until now I was
> > > sad it didn't work with x11.
> > >
> > >
> > > #!/bin/bash
> > > while :
> > > do
> > >   fbi -noverbose -a -u "$@" -1 --list <(find . -type f \( -iname
> > > "*.jpg" -o -iname "*.bmp" -o -iname "*.png" -o -iname "*.gif" -o
> > > -iname "*.jpeg" \)) || break
> > > done
> > >
> > > On 10/10/22, Michele Martone <[email protected]> wrote:
> > >> ...I realize the last email patch was not covering -o fbdev and -o aa.
> > >>
> > >> Now:
> > >>  svn diff http://svn.savannah.nongnu.org/svn/fbi-improved -r 1676:1678
> > >> should cover those, too.
> > >> Tarballs updated.
> > >>
> > >> Feedback welcome,
> > >> m.
> > >>
> > >> On 20221010@12:02, Michele Martone wrote:
> > >>> Dear d3fault,
> > >>>
> > >>> Here is the upstream fix.
> > >>>
> > >>> In patch form:
> > >>>  svn diff http://svn.savannah.nongnu.org/svn/fbi-improved -r 1676:1677
> > >>>  (also attached)
> > >>>
> > >>> In 0.6 trunk tarball:
> > >>>
> > >>> http://download.savannah.nongnu.org/releases/fbi-improved/fim-0.6-trunk.tar.gz
> > >>>
> > >>> http://download.savannah.nongnu.org/releases/fbi-improved/fim-0.6-trunk.tar.gz.sig
> > >>>
> > >>> Would be great if you could give it a try.
> > >>>
> > >>> Cheers,
> > >>> Michele
> > >>>
> > >>> On 20221010@08:05, Michele Martone wrote:
> > >>> > Dear d3fault,
> > >>> >
> > >>> > Thanks for reporting of this defect.
> > >>> >
> > >>> > Unfortunately it's also in the latest revision.
> > >>> > I'll let you know here once I attack the problem.
> > >>> >
> > >>> > The good news in the last weeks I'm very active with fim, so
> > >>> > *maybe* we get this solved soon-ish :-)
> > >>> >
> > >>> > ciao,
> > >>> > Michele
> > >>> >
> > >>> > On 20221009@09:57, d3fault wrote:
> > >>> > > Package: fim
> > >>> > > Version: 0.5.3-9+b1
> > >>> > > Severity: normal
> > >>> > > X-Debbugs-Cc: [email protected]
> > >>> > >
> > >>> > > Dear Maintainer,
> > >>> > >
> > >>> > >    * What led up to the situation?
> > >>> > >       fim --slideshow=5 ./*.jpg
> > >>> > >    * What exactly did you do (or not do) that was effective (or
> > >>> > >      ineffective)?
> > >>> > >       I looked at the screen. I also pressed 'q'.
> > >>> > >    * What was the outcome of this action?
> > >>> > >       The first image of the slideshow was just all black. The 2nd+
> > >>> > > images do show.
> > >>> > >       Also if you press 'q' while the slideshow is still running,
> > >>> > > the
> > >>> > > app doesn't quit
> > >>> > >       but instead it just progresses to the next image. After all
> > >>> > > the
> > >>> > > images have been
> > >>> > >       shown, then 'q' will quit. I would also expect slideshow mode
> > >>> > > to
> > >>> > > loop around
> > >>> > >       indefinitely, but that's not really a bug.
> > >>> > >    * What outcome did you expect instead?
> > >>> > >       I expected to see the first image. I also expected 'q' to quit
> > >>> > > the app.
> > >>> > >
> > >>> > > Also confirmed the bug exists on Bullseye.
> > >>> > > It works fine in fbi.
> > >>> > >
> > >>> > >
> > >>> > > -- System Information:
> > >>> > > Debian Release: bookworm/sid
> > >>> > >   APT prefers unstable
> > >>> > >   APT policy: (500, 'unstable')
> > >>> > > Architecture: amd64 (x86_64)
> > >>> > >
> > >>> > > Kernel: Linux 5.10.0-18-amd64 (SMP w/4 CPU threads)
> > >>> > > Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8),
> > >>> > > LANGUAGE not set
> > >>> > > Shell: /bin/sh linked to /usr/bin/dash
> > >>> > > Init: systemd (via /run/systemd/system)
> > >>> > >
> > >>> > > Versions of packages fim depends on:
> > >>> > > ii  libaa1           1.4p5-50
> > >>> > > ii  libc6            2.35-3
> > >>> > > ii  libdjvulibre21   3.5.28-2
> > >>> > > ii  libexif12        0.6.24-1+b1
> > >>> > > ii  libgcc-s1        12.2.0-5
> > >>> > > ii  libgif7          5.2.1-2.5
> > >>> > > ii  libjpeg62-turbo  1:2.1.2-1+b1
> > >>> > > ii  libpng16-16      1.6.38-2
> > >>> > > ii  libreadline8     8.2-1
> > >>> > > ii  libsdl1.2debian  1.2.15+dfsg2-8
> > >>> > > ii  libstdc++6       12.2.0-5
> > >>> > > ii  libtiff5         4.4.0-4
> > >>> > >
> > >>> > > fim recommends no packages.
> > >>> > >
> > >>> > > fim suggests no packages.
> > >>> > >
> > >>> > > -- no debconf information
> > >>>
> > >>>
> > >>
> > >>> Index: trunk/src/CommandConsole.h
> > >>> ===================================================================
> > >>> --- trunk/src/CommandConsole.h  (revision 1676)
> > >>> +++ trunk/src/CommandConsole.h  (revision 1677)
> > >>> @@ -410,6 +410,7 @@
> > >>>         public:
> > >>>         void switch_if_needed(void);
> > >>>         fim::string getInfoCustom(const fim_char_t * ifsp)const;
> > >>> +       fim_int show_must_go_on(void) const;
> > >>>  };
> > >>>  }
> > >>>
> > >>> Index: trunk/src/CommandConsole.cpp
> > >>> ===================================================================
> > >>> --- trunk/src/CommandConsole.cpp        (revision 1676)
> > >>> +++ trunk/src/CommandConsole.cpp        (revision 1677)
> > >>> @@ -645,7 +645,7 @@
> > >>>                         else
> > >>>  #endif /* FIM_ITERATED_COMMANDS */
> > >>>                                 
> > >>> status=execute_internal(getBoundAction(c).c_str(),FIM_X_NULL);
> > >>> -                       if( show_must_go_on_ )
> > >>> +                       if( show_must_go_on_ > 0 )
> > >>>                                 
> > >>> FIM_AUTOCMD_EXEC_POST(FIM_ACM_POSTINTERACTIVECOMMAND);
> > >>>                 }
> > >>>
> > >>> @@ -901,10 +901,14 @@
> > >>>                  *      Allows user to press any key during loop.
> > >>>                  *      Loop will continue its execution, unless 
> > >>> pressed key is
> > >>> exitBinding_.
> > >>>                  *      If not, and if the key is bound to some action, 
> > >>> this action is
> > >>> executed.
> > >>> -                *      returns 1 if loop has to be broken.
> > >>> +                *      If loop has to be broken, returns 1 and changes 
> > >>> show_must_go_on_
> > >>> to
> > >>> 2.
> > >>>                  */
> > >>>                 fim_key_t c;
> > >>>
> > >>> +               if ( !show_must_go_on_ )
> > >>> +                       goto err;
> > >>> +               show_must_go_on_ = 1;
> > >>> +
> > >>>                 if ( exitBinding_ == 0 )
> > >>>                         goto err;       /* any key triggers an exit */
> > >>>
> > >>> @@ -931,7 +935,8 @@
> > >>>                 }
> > >>>                 return 0;       /* no chars read  */
> > >>>  err:
> > >>> -               return 1;       /* loop shall be broken */
> > >>> +               show_must_go_on_ = 2;
> > >>> +               return 1;       /* break any enclosing loop */
> > >>>         }
> > >>>                 
> > >>>  #ifdef FIM_USE_GPM
> > >>> @@ -1174,6 +1179,7 @@
> > >>>  #if FIM_WANT_BACKGROUND_LOAD
> > >>>                 blt_.join();
> > >>>  #endif /* FIM_WANT_BACKGROUND_LOAD */
> > >>> +               show_must_go_on_ = -1; /* without this it would break 
> > >>> loops in
> > >>> postExecutionCommand_ aka -F */
> > >>>                 FIM_AUTOCMD_EXEC(FIM_ACM_POSTEXECUTIONCYCLE,initial);
> > >>>                 return quit(return_code_);
> > >>>         }
> > >>> @@ -2675,4 +2681,9 @@
> > >>>  labeldone:
> > >>>         return linebuffer;
> > >>>  }
> > >>> +
> > >>> +fim_int CommandConsole::show_must_go_on(void) const
> > >>> +{
> > >>> +       return show_must_go_on_;
> > >>> +}
> > >>>  } /* namespace fim */
> > >>> Index: trunk/src/fim.h
> > >>> ===================================================================
> > >>> --- trunk/src/fim.h     (revision 1676)
> > >>> +++ trunk/src/fim.h     (revision 1677)
> > >>> @@ -1082,7 +1082,7 @@
> > >>>  #define FIM_FLT_HELP_DISPLAY FIM_FLT_DISPLAY " ['reinit'
> > >>> {string}]|'resize' {w} {h}]: display the current file contents."
> > >>> FIM_CNS_CMDSEP "If 'reinit' switch is supplied, the '{string}' specifier
> > >>> will be used to reinitialize (e.g.: change resolution, window system
> > >>> options) the display device." FIM_CNS_CMDSEP "See documentation for the
> > >>> --" FIM_OSW_OUTPUT_DEVICE " command line switch for allowed values of
> > >>> {string}." FIM_CNS_CMDSEP "If 'resize' and no argument, will ask the
> > >>> window manager to size the window like the image." FIM_CNS_CMDSEP "If
> > >>> 'resize' and two arguments, these will be used as width and height of
> > >>> window, to set."
> > >>>
> > >>>  /*  */
> > >>> -#define FIM_CNS_SLIDESHOW_CMD "while(" FIM_VID_FILEINDEX "<"
> > >>> FIM_VID_FILELISTLEN "){sleep " FIM_VID_WANT_SLEEPS "; next;}"
> > >>> +#define FIM_CNS_SLIDESHOW_CMD FIM_FLT_RELOAD "; i:fresh=1; while("
> > >>> FIM_VID_FILEINDEX "<" FIM_VID_FILELISTLEN "){sleep " FIM_VID_WANT_SLEEPS
> > >>> "; next;}"
> > >>>  #define FIM_CNS_QUIET_CMD FIM_VID_DISPLAY_STATUS "=0;"
> > >>> FIM_VID_DISPLAY_BUSY "=0;"
> > >>>
> > >>>  /*
> > >>> Index: trunk/src/testdir/test13.in
> > >>> ===================================================================
> > >>> --- trunk/src/testdir/test13.in (revision 1676)
> > >>> +++ trunk/src/testdir/test13.in (revision 1677)
> > >>> @@ -1,6 +1,6 @@
> > >>>  # file browsing test
> > >>>  # in order for this test to terminate, we need some files ..
> > >>> -if(_filelistlen>1){stdout "at least one file in the list.";quit 1;}
> > >>> +if(_filelistlen>1){stdout "at least one file in the list.";}
> > >>>  if(_filelistlen<1){stdout "probable problems with file browser.";quit
> > >>> 1;}
> > >>>  while(_filelistlen>1){list "pop";}
> > >>>  stdout _filelistlen;
> > >>> Index: trunk/src/fim.cpp
> > >>> ===================================================================
> > >>> --- trunk/src/fim.cpp   (revision 1676)
> > >>> +++ trunk/src/fim.cpp   (revision 1677)
> > >>> @@ -263,7 +263,11 @@
> > >>>      },
> > >>>      {"slideshow",     required_argument, FIM_NULL, 0x7373,
> > >>>         "interruptible slideshow mode", FIM_CNS_EX_NUM_STRING,
> > >>> -       "Interruptible slideshow mode; will wait for " 
> > >>> FIM_CNS_EX_NUM_STRING "
> > >>> of seconds (assigned to the " FIM_VID_WANT_SLEEPS " variable after each
> > >>> loading; implemented by executing " FIM_CNS_SLIDESHOW_CMD " as a first
> > >>> command."
> > >>> +       "Interruptible slideshow mode. "
> > >>> +       "Wait for " FIM_CNS_EX_NUM_STRING " of seconds (assigned to the 
> > >>> "
> > >>> FIM_VID_WANT_SLEEPS " variable) after each image. "
> > >>> +       "Implemented by executing " FIM_CNS_SLIDESHOW_CMD " as a first
> > >>> command.
> > >>> "
> > >>> +       "Can be interrupted by " FIM_KBD_COLON " or " FIM_KBD_ESC ". "
> > >>> +       "The other keys will execute accordingly to their function but 
> > >>> will
> > >>> not
> > >>> interrupt the slideshow."
> > >>>      },
> > >>>      {"sanity-check",      no_argument,       FIM_NULL, 0x70617363,
> > >>>         "only perform a sanity check", FIM_NULL, /* Was -S until r1001 
> > >>> */
> > >>> Index: trunk/src/fim_interpreter.cpp
> > >>> ===================================================================
> > >>> --- trunk/src/fim_interpreter.cpp       (revision 1676)
> > >>> +++ trunk/src/fim_interpreter.cpp       (revision 1677)
> > >>> @@ -67,7 +67,7 @@
> > >>>  #define FIM_EC(CMD,ARGS) /* fim::cc.execute(CMD,ARGS) */ "result"
> > >>> /*Var((fim_int)1)*/ /* FIXME: shall return Arg or Var or Val */
> > >>>  typedef nodeType * NodeType;
> > >>>  #else /* FIM_INDEPENDENT_NAMESPACE */
> > >>> -#define FIM_NO_BREAK fim::cc.catchLoopBreakingCommand(0)==0
> > >>> +#define FIM_NO_BREAK ( abs(fim::cc.show_must_go_on()) == 1 && (
> > >>> fim::cc.catchLoopBreakingCommand(0)==0) )
> > >>>  #define FIM_OPRND(P,N) ((P)->opr.op[(N)])
> > >>>  #define FIM_FACC(O)  (O)->fid.f
> > >>>  #define FIM_SACC(O)  (O)->scon.s
> > >>> Index: trunk/doc/fim.man.in
> > >>> ===================================================================
> > >>> --- trunk/doc/fim.man.in        (revision 1676)
> > >>> +++ trunk/doc/fim.man.in        (revision 1677)
> > >>> @@ -207,7 +207,7 @@
> > >>>  Set scroll steps for internal variable _steps (default is 20%).
> > >>>  .TP
> > >>>  .B  --slideshow {number}
> > >>> -Interruptible slideshow mode; will wait for {number} of seconds
> > >>> (assigned
> > >>> to the _want_sleep_seconds variable after each loading; implemented by
> > >>> executing while(_fileindex<_filelistlen){sleep _want_sleep_seconds;
> > >>> next;}
> > >>> as a first command.
> > >>> +Interruptible slideshow mode. Wait for {number} of seconds (assigned to
> > >>> the _want_sleep_seconds variable) after each image. Implemented by
> > >>> executing reload; i:fresh=1; while(_fileindex<_filelistlen){sleep
> > >>> _want_sleep_seconds; next;} as a first command. Can be interrupted by :
> > >>> or
> > >>> Esc. The other keys will execute accordingly to their function but will
> > >>> not interrupt the slideshow.
> > >>>  .TP
> > >>>  .B  --sanity-check
> > >>>  Perform a quick sanity check, just after the initialization, and
> > >>> terminate.
> > >>> Index: trunk/NEWS
> > >>> ===================================================================
> > >>> --- trunk/NEWS  (revision 1676)
> > >>> +++ trunk/NEWS  (revision 1677)
> > >>> @@ -3,6 +3,8 @@
> > >>>
> > >>>                  Version 0.6-trunk
> > >>>
> > >>> +# (r1677)
> > >>> + * Slideshow function (e.g `fim --slideshow=5 *.jpg`) now more
> > >>> responsive.
> > >>>  # (r1662)
> > >>>   * Arrow keys are now working in aalib (-o aa).
> > >>>  # (r1649)

Attachment: signature.asc
Description: PGP signature


--- End Message ---

Reply via email to