karlch / vimiv-qt

An image viewer with vim-like keybindings
https://karlch.github.io/vimiv-qt/
GNU General Public License v3.0
179 stars 14 forks source link

Thumbnail mode keeps displaying deleted image #293

Closed jcjgraf closed 4 years ago

jcjgraf commented 4 years ago

When deleting images using the x key, the image does not do not disappear from the thumbnail view under certain circumstances.

Reproduce:

Expected Behaviour

Actual Behaviour:

EDIT: I have just noticed another case where the thumbnail view keeps displaying deleted imaged:

Reproduce:

Expected Behaviour

Actual Behaviour

karlch commented 4 years ago

Thanks for the clear and detailed bug report! Let me know in case the issue persists even after 6220889363e1c155020a33de06769b4517d3aacc.

jcjgraf commented 4 years ago

While the first problem is fixed, the second one is still persistent.

Additionally, I have noticed that when you are in thumbnail mode and want to remove the current and next image, and for that click x twice rather rapidly, only the current image is removed. I do not know how easily this is fixable.

karlch commented 4 years ago

I must say I cannot reproduce either of the two issues unfortunately.

Concerning pressing x rapidly, do you press x again when the current thumbnail is still displayed? There is a delay in the working directory handler of 300 ms, for playing you can set the WAIT_TIME_MS in api.working_directory to something lower and see if this solves the issue for you. This manual delay was a bit of a hack to avoid issues with programs that write images to disk partially, not all at once. For example when editing the current image in gimp and then overwriting it, I get error messages like

[21:50:53] ERROR    <vimiv>              '~/Images/Test/Test_003.jpg' cannot be read as image
Corrupt JPEG data: premature end of data segment

when removing the delay.

There is almost certainly a better solution, I just haven't found one yet :laughing:

jcjgraf commented 4 years ago

You are right, this change fixed the problem also for the second scenario. But there is a follow-up bug. I have repeated the steps as described in reproduce of the initial comment. As expected, no images are displayed after deletion. But when I randomly pressing h,j,k,l keys (while still beeing in the now empty thumbnail view), vimiv will crash. I was able to reproduce this multiple times. See errror log below.

Also, I have noticed another case where deleted images are still displayed:

Reproduce:

Expected Behaviour

Actual Behaviour

It all makes sense concerning the deletion and the delay. It is not really an issue, but rather something I have noticed while trying to debug this problem.

Vimiv debug log for the problem mentioned above
Run vimiv-qt with config
.venv/bin/vimiv --log-level debug --debug plugins tagger --config ~/.config/vimiv/vimiv.conf
[22:02:30] DEBUG                Start: vimiv --log-level debug --debug plugins tagger --config /home/jeanclaude/.config/vimiv/vimiv.conf
[22:02:30] DEBUG      Updating 'monitor_filesystem' with 'True'
[22:02:30] DEBUG      Updating 'shuffle' with 'False'
[22:02:30] DEBUG      Updating 'startup_library' with 'True'
[22:02:30] DEBUG      Updating 'style' with 'default'
[22:02:30] DEBUG      Updating 'command.history_limit' with '100'
[22:02:30] DEBUG      Updating 'completion.fuzzy' with 'False'
[22:02:30] DEBUG      Updating 'search.ignore_case' with 'True'
[22:02:30] DEBUG      Updating 'search.incremental' with 'True'
[22:02:30] DEBUG      Updating 'image.autoplay' with 'True'
[22:02:30] DEBUG      Updating 'image.autowrite' with 'ask'
[22:02:30] DEBUG      Updating 'image.overzoom' with '1.0'
[22:02:30] DEBUG      Updating 'library.width' with '0.3'
[22:02:30] DEBUG      Updating 'library.show_hidden' with 'False'
[22:02:30] DEBUG      Updating 'thumbnail.size' with '128'
[22:02:30] DEBUG      Updating 'slideshow.delay' with '2.0'
[22:02:30] DEBUG      Updating 'slideshow.indicator' with 'slideshow:'
[22:02:30] DEBUG      Updating 'statusbar.collapse_home' with 'True'
[22:02:30] DEBUG      Updating 'statusbar.show' with 'True'
[22:02:30] DEBUG      Updating 'statusbar.message_timeout' with '60000'
[22:02:30] DEBUG      Updating 'statusbar.mark_indicator' with '*'
[22:02:30] DEBUG      Updating 'statusbar.left' with '{pwd}'
[22:02:30] DEBUG      Updating 'statusbar.left_image' with '{index}/{total} {basename} [{zoomlevel}]'
[22:02:30] DEBUG      Updating 'statusbar.left_thumbnail' with '{thumbnail-index}/{thumbnail-total} {thumbnail-name}'
[22:02:30] DEBUG      Updating 'statusbar.left_manipulate' with '{basename}   {image-size}   Modified: {modified}   {processing}'
[22:02:30] DEBUG      Updating 'statusbar.center_thumbnail' with '{thumbnail-size}'
[22:02:30] DEBUG      Updating 'statusbar.center' with '{slideshow-indicator} {slideshow-delay} {transformation-info}'
[22:02:30] DEBUG      Updating 'statusbar.right' with '{keys}  {mark-count}  {mode}'
[22:02:30] DEBUG      Updating 'statusbar.right_image' with '{keys}  {mark-indicator} {mark-count}  {mode}'
[22:02:30] DEBUG      Updating 'keyhint.delay' with '500'
[22:02:30] DEBUG      Updating 'keyhint.timeout' with '5000'
[22:02:30] DEBUG      Updating 'title.fallback' with 'vimiv'
[22:02:30] DEBUG      Updating 'title.image' with 'vimiv - {basename}'
[22:02:30] DEBUG      No option 'current_keyset' in section: 'METADATA' in configfile
[22:02:30] DEBUG      Adding statusbar formatter 'left_image' with '{index}/{total} {basename} [{zoomlevel}]'
[22:02:30] DEBUG      Adding statusbar formatter 'left_thumbnail' with '{thumbnail-index}/{thumbnail-total} {thumbnail-name}'
[22:02:30] DEBUG      Adding statusbar formatter 'left_manipulate' with '{basename}   {image-size}   Modified: {modified}   {processing}'
[22:02:30] DEBUG      Adding statusbar formatter 'center_thumbnail' with '{thumbnail-size}'
[22:02:30] DEBUG      Adding statusbar formatter 'right_image' with '{keys}  {mark-indicator} {mark-count}  {mode}'
[22:02:30] DEBUG      Plugins in config: 'rawprev', 'importer', 'tagger'
[22:02:30] DEBUG      Keyset 1: 'Make' found
[22:02:30] DEBUG      Keyset 2: 'Model' found
[22:02:30] DEBUG      Keyset 3: 'DateTime' found
[22:02:30] DEBUG           Setting 'metadata.current_keyset' to 'Make'
[22:02:30] DEBUG      Read configuration from '/home/jeanclaude/.config/vimiv/vimiv.conf'
[22:02:30] DEBUG         Reading keybindings from '/home/jeanclaude/.config/vimiv/keys.conf'
[22:02:30] DEBUG         Reading keybindings from section 'GLOBAL'
[22:02:30] DEBUG         Read keybinding '': 'command' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'o': 'command --text='open '' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'yy': 'copy-name' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'ya': 'copy-name --abspath' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'yA': 'copy-name --abspath --primary' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'yY': 'copy-name --primary' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'x': 'delete %' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'gi': 'enter image' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'gl': 'enter library' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'gm': 'enter manipulate' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'gt': 'enter thumbnail' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'f': 'fullscreen' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'G': 'goto -1' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'gg': 'goto 1' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'm': 'mark %' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'q': 'quit' for mode 'global'
[22:02:30] DEBUG         Read keybinding '.': 'repeat-command' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'j': 'scroll down' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'h': 'scroll left' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'l': 'scroll right' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'k': 'scroll up' for mode 'global'
[22:02:30] DEBUG         Read keybinding '/': 'search' for mode 'global'
[22:02:30] DEBUG         Read keybinding '?': 'search --reverse' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'N': 'search-next' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'P': 'search-prev' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'b': 'set statusbar.show!' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'tl': 'toggle library' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'tm': 'toggle manipulate' for mode 'global'
[22:02:30] DEBUG         Read keybinding 'tt': 'toggle thumbnail' for mode 'global'
[22:02:30] DEBUG         Reading keybindings from section 'IMAGE'
[22:02:30] DEBUG         Read keybinding 'M': 'center' for mode 'image'
[22:02:30] DEBUG         Read keybinding '|': 'flip' for mode 'image'
[22:02:30] DEBUG         Read keybinding '_': 'flip --vertical' for mode 'image'
[22:02:30] DEBUG         Read keybinding '': 'goto -1' for mode 'image'
[22:02:30] DEBUG         Read keybinding '': 'goto 1' for mode 'image'
[22:02:30] DEBUG         Read keybinding '': 'next' for mode 'image'
[22:02:30] DEBUG         Read keybinding 'n': 'next' for mode 'image'
[22:02:30] DEBUG         Read keybinding '': 'play-or-pause' for mode 'image'
[22:02:30] DEBUG         Read keybinding '': 'prev' for mode 'image'
[22:02:30] DEBUG         Read keybinding 'p': 'prev' for mode 'image'
[22:02:30] DEBUG         Read keybinding '>': 'rotate' for mode 'image'
[22:02:30] DEBUG         Read keybinding '<': 'rotate --counter-clockwise' for mode 'image'
[22:02:30] DEBUG         Read keybinding 'W': 'scale --level=1' for mode 'image'
[22:02:30] DEBUG         Read keybinding 'w': 'scale --level=fit' for mode 'image'
[22:02:30] DEBUG         Read keybinding 'E': 'scale --level=fit-height' for mode 'image'
[22:02:30] DEBUG         Read keybinding 'e': 'scale --level=fit-width' for mode 'image'
[22:02:30] DEBUG         Read keybinding 'J': 'scroll-edge down' for mode 'image'
[22:02:30] DEBUG         Read keybinding 'H': 'scroll-edge left' for mode 'image'
[22:02:30] DEBUG         Read keybinding 'L': 'scroll-edge right' for mode 'image'
[22:02:30] DEBUG         Read keybinding 'K': 'scroll-edge up' for mode 'image'
[22:02:30] DEBUG         Read keybinding 'sl': 'set slideshow.delay +0.5' for mode 'image'
[22:02:30] DEBUG         Read keybinding 'sh': 'set slideshow.delay -0.5' for mode 'image'
[22:02:30] DEBUG         Read keybinding 'ss': 'slideshow' for mode 'image'
[22:02:30] DEBUG         Read keybinding '+': 'zoom in' for mode 'image'
[22:02:30] DEBUG         Read keybinding '-': 'zoom out' for mode 'image'
[22:02:30] DEBUG         Reading keybindings from section 'LIBRARY'
[22:02:30] DEBUG         Read keybinding 'go': 'goto 1 --open-selected' for mode 'library'
[22:02:30] DEBUG         Read keybinding 'n': 'scroll down --open-selected' for mode 'library'
[22:02:30] DEBUG         Read keybinding 'p': 'scroll up --open-selected' for mode 'library'
[22:02:30] DEBUG         Read keybinding 'L': 'set library.width +0.05' for mode 'library'
[22:02:30] DEBUG         Read keybinding 'H': 'set library.width -0.05' for mode 'library'
[22:02:30] DEBUG         Reading keybindings from section 'THUMBNAIL'
[22:02:30] DEBUG         Read keybinding '+': 'zoom in' for mode 'thumbnail'
[22:02:30] DEBUG         Read keybinding '-': 'zoom out' for mode 'thumbnail'
[22:02:30] DEBUG         Reading keybindings from section 'COMMAND'
[22:02:30] DEBUG         Read keybinding '': 'complete' for mode 'command'
[22:02:30] DEBUG         Read keybinding '': 'complete --inverse' for mode 'command'
[22:02:30] DEBUG         Read keybinding 'p': 'history next' for mode 'command'
[22:02:30] DEBUG         Read keybinding 'n': 'history prev' for mode 'command'
[22:02:30] DEBUG         Read keybinding '': 'history-substr-search next' for mode 'command'
[22:02:30] DEBUG         Read keybinding '': 'history-substr-search prev' for mode 'command'
[22:02:30] DEBUG         Read keybinding '': 'leave-commandline' for mode 'command'
[22:02:30] DEBUG         Reading keybindings from section 'MANIPULATE'
[22:02:30] DEBUG         Read keybinding '': 'command' for mode 'manipulate'
[22:02:30] DEBUG         Read keybinding 'f': 'fullscreen' for mode 'manipulate'
[22:02:30] DEBUG         Read keybinding 'b': 'set statusbar.show!' for mode 'manipulate'
[22:02:30] DEBUG         Read keybindings from '/home/jeanclaude/.config/vimiv/keys.conf'
[22:02:30] DEBUG          Parsing style 'default'
[22:02:30] DEBUG          Creating default style
[22:02:30] DEBUG          Initializing style with colors:
#ffffff
#e0e0e0
#d6d6d6
#8e908c
#969896
#4d4d4c
#282a2e
#1d1f21
#c82829
#f5871f
#eab700
#718c00
#3e999f
#81a2be
#8959a8
#a3685a
font: 10pt Monospace
[22:02:30] DEBUG             Registering 'vimiv.app.Application'
[22:02:30] DEBUG     Setting up wakeup filedescriptor for unix-like systems
[22:02:30] DEBUG                    Trying to retrieve icon from theme
[22:02:30] DEBUG     Initialized crash handler
[22:02:30] DEBUG                    Trying to retrieve icon from project directory
[22:02:30] DEBUG             Registering 'vimiv.imutils.filelist.SignalHandler'
[22:02:30] DEBUG             Registering 'vimiv.imutils._file_handler.ImageFileHandler'
[22:02:30] DEBUG             Registering 'vimiv.imutils.imtransform.Transform'
[22:02:30] DEBUG                Initializing UI
[22:02:30] DEBUG             Registering 'vimiv.gui.mainwindow.MainWindow'
[22:02:30] DEBUG              Set 'vimiv.gui.image.ScrollableImage' as widget of 'Mode.IMAGE'
[22:02:30] DEBUG             Registering 'vimiv.gui.image.ScrollableImage'
[22:02:30] DEBUG              Set 'vimiv.gui.thumbnail.ThumbnailView' as widget of 'Mode.THUMBNAIL'
[22:02:30] DEBUG             Registering 'vimiv.gui.thumbnail.ThumbnailView'
[22:02:30] DEBUG              Set 'vimiv.gui.library.Library' as widget of 'Mode.LIBRARY'
[22:02:30] DEBUG             Registering 'vimiv.gui.library.Library'
[22:02:30] DEBUG             Registering 'vimiv.gui.commandwidget.CommandWidget'
[22:02:30] DEBUG              Set 'vimiv.gui.commandline.CommandLine' as widget of 'Mode.COMMAND'
[22:02:30] DEBUG             Registering 'vimiv.gui.commandline.CommandLine'
[22:02:30] DEBUG             Registering 'vimiv.gui.completionwidget.CompletionView'
[22:02:30] DEBUG             Registering 'vimiv.gui.metadatawidget.MetadataWidget'
[22:02:30] DEBUG                Loading plugins...
[22:02:30] DEBUG                Available app plugins: 'demo', 'imageformats', 'print'
[22:02:30] DEBUG                Available user plugins: 'importer', 'rawprev', 'tagger'
[22:02:30] DEBUG                Loading plugin 'print' from '/home/jeanclaude/Documents/Programming/vimiv-qt/vimiv/plugins'
[22:02:30] DEBUG             Registering 'print.PrintHandler'
[22:02:30] DEBUG                Initialized 'print'
[22:02:30] DEBUG                Loaded 'print' successfully
[22:02:30] DEBUG                Loading plugin 'rawprev' from '/home/jeanclaude/.local/share/vimiv/plugins'
[22:02:30] DEBUG                Initialized RawPrev
[22:02:30] DEBUG                Initialized 'rawprev'
[22:02:30] DEBUG                Loaded 'rawprev' successfully
[22:02:30] DEBUG                Loading plugin 'importer' from '/home/jeanclaude/.local/share/vimiv/plugins'
[22:02:30] DEBUG             Registering 'importer.ImportHandler'
[22:02:30] DEBUG               Initialized ImportHandler
[22:02:30] DEBUG               Destination path already exists or created successfully
[22:02:30] DEBUG                Initialized 'importer'
[22:02:30] DEBUG                Loaded 'importer' successfully
[22:02:30] DEBUG                Loading plugin 'tagger' from '/home/jeanclaude/.local/share/vimiv/plugins'
[22:02:30] DEBUG             Registering 'tagger.Tagger'
delete
keep
[22:02:30] DEBUG                 Initialized Tagger
[22:02:30] DEBUG                Initialized 'tagger'
[22:02:30] DEBUG                Loaded 'tagger' successfully
[22:02:30] DEBUG                Plugin loading completed
[22:02:30] DEBUG                Opening paths
[22:02:30] DEBUG                init_paths: No valid paths retrieved
[22:02:30] DEBUG     Changing directory to '/home/jeanclaude/Documents/Programming/vimiv-qt'
[22:02:30] DEBUG            Updating library for new/reloaded directory
[22:02:30] DEBUG            No stored position, falling back to 0
[22:02:30] DEBUG            Selecting library row 0
[22:02:30] DEBUG     Monitoring /home/jeanclaude/Documents/Programming/vimiv-qt
[22:02:30] DEBUG     Directory change completed
[22:02:30] DEBUG              Leaving mode image
[22:02:30] DEBUG              Could not focus Mode.LIBRARY widget
[22:02:30] DEBUG              Entered mode Mode.LIBRARY
[22:02:30] DEBUG             Updating status: startup paths initialized
[22:02:30] DEBUG             Retrieving instance from objreg for 'ScrollableImage.transformation_info'
[22:02:30] DEBUG             Retrieving instance from objreg for 'Mark.mark_count'
[22:02:30] DEBUG                Startup completed, starting Qt main loop
[22:02:31] DEBUG             Clearing status messages: KeyPressEvent
[22:02:31] DEBUG       EventHandlerMixin: handling h for mode library
[22:02:31] DEBUG       EventHandlerMixin: found command for event
[22:02:31] DEBUG       Running 'scroll left'
[22:02:31] DEBUG       Split text into parts '['scroll left']'
[22:02:31] DEBUG       Handling part 0 'scroll left'
[22:02:31] DEBUG             Retrieving instance from objreg for 'Library.scroll'
[22:02:31] DEBUG            Scrolling in direction 'Direction.Left'
[22:02:31] DEBUG     Changing directory to '/home/jeanclaude/Documents/Programming'
[22:02:31] DEBUG            Updating library for new/reloaded directory
[22:02:31] DEBUG            Retrieved stored position from path: 17
[22:02:31] DEBUG            Selecting library row 17
[22:02:31] DEBUG     Monitoring /home/jeanclaude/Documents/Programming
[22:02:31] DEBUG     Directory change completed
[22:02:31] DEBUG             Updating status: ran command
[22:02:31] DEBUG       Ran 'scroll left' succesfully
[22:02:31] DEBUG             Clearing status messages: KeyPressEvent
[22:02:31] DEBUG       EventHandlerMixin: handling h for mode library
[22:02:31] DEBUG       EventHandlerMixin: found command for event
[22:02:31] DEBUG       Running 'scroll left'
[22:02:31] DEBUG       Split text into parts '['scroll left']'
[22:02:31] DEBUG       Handling part 0 'scroll left'
[22:02:31] DEBUG            Scrolling in direction 'Direction.Left'
[22:02:31] DEBUG     Changing directory to '/home/jeanclaude/Documents'
[22:02:31] DEBUG            Updating library for new/reloaded directory
[22:02:31] DEBUG            Retrieved stored position from path: 12
[22:02:31] DEBUG            Selecting library row 12
[22:02:31] DEBUG     Monitoring /home/jeanclaude/Documents
[22:02:31] DEBUG     Directory change completed
[22:02:31] DEBUG             Updating status: ran command
[22:02:31] DEBUG       Ran 'scroll left' succesfully
[22:02:32] DEBUG             Clearing status messages: KeyPressEvent
[22:02:32] DEBUG       EventHandlerMixin: handling k for mode library
[22:02:32] DEBUG       EventHandlerMixin: found command for event
[22:02:32] DEBUG       Running 'scroll up'
[22:02:32] DEBUG       Split text into parts '['scroll up']'
[22:02:32] DEBUG       Handling part 0 'scroll up'
[22:02:32] DEBUG            Scrolling in direction 'Direction.Up'
[22:02:32] DEBUG            Selecting library row 11
[22:02:32] DEBUG             Updating status: ran command
[22:02:32] DEBUG       Ran 'scroll up' succesfully
[22:02:32] DEBUG             Clearing status messages: KeyPressEvent
[22:02:32] DEBUG       EventHandlerMixin: handling k for mode library
[22:02:32] DEBUG       EventHandlerMixin: found command for event
[22:02:32] DEBUG       Running 'scroll up'
[22:02:32] DEBUG       Split text into parts '['scroll up']'
[22:02:32] DEBUG       Handling part 0 'scroll up'
[22:02:32] DEBUG            Scrolling in direction 'Direction.Up'
[22:02:32] DEBUG            Selecting library row 10
[22:02:32] DEBUG             Updating status: ran command
[22:02:32] DEBUG       Ran 'scroll up' succesfully
[22:02:32] DEBUG             Clearing status messages: KeyPressEvent
[22:02:32] DEBUG       EventHandlerMixin: handling l for mode library
[22:02:32] DEBUG       EventHandlerMixin: found command for event
[22:02:32] DEBUG       Running 'scroll right'
[22:02:32] DEBUG       Split text into parts '['scroll right']'
[22:02:32] DEBUG       Handling part 0 'scroll right'
[22:02:32] DEBUG            Scrolling in direction 'Direction.Right'
[22:02:32] DEBUG     Changing directory to '/home/jeanclaude/Documents/Photography'
[22:02:32] DEBUG            Updating library for new/reloaded directory
[22:02:32] DEBUG            No stored position, falling back to 0
[22:02:32] DEBUG            Selecting library row 0
[22:02:32] DEBUG     Monitoring /home/jeanclaude/Documents/Photography
[22:02:32] DEBUG     Directory change completed
[22:02:32] DEBUG             Updating status: ran command
[22:02:32] DEBUG       Ran 'scroll right' succesfully
[22:02:33] DEBUG             Clearing status messages: KeyPressEvent
[22:02:33] DEBUG       EventHandlerMixin: handling j for mode library
[22:02:33] DEBUG       EventHandlerMixin: found command for event
[22:02:33] DEBUG       Running 'scroll down'
[22:02:33] DEBUG       Split text into parts '['scroll down']'
[22:02:33] DEBUG       Handling part 0 'scroll down'
[22:02:33] DEBUG            Scrolling in direction 'Direction.Down'
[22:02:33] DEBUG            Selecting library row 1
[22:02:33] DEBUG             Updating status: ran command
[22:02:33] DEBUG       Ran 'scroll down' succesfully
[22:02:33] DEBUG             Clearing status messages: KeyPressEvent
[22:02:33] DEBUG       EventHandlerMixin: handling j for mode library
[22:02:33] DEBUG       EventHandlerMixin: found command for event
[22:02:33] DEBUG       Running 'scroll down'
[22:02:33] DEBUG       Split text into parts '['scroll down']'
[22:02:33] DEBUG       Handling part 0 'scroll down'
[22:02:33] DEBUG            Scrolling in direction 'Direction.Down'
[22:02:33] DEBUG            Selecting library row 2
[22:02:33] DEBUG             Updating status: ran command
[22:02:33] DEBUG       Ran 'scroll down' succesfully
[22:02:33] DEBUG             Clearing status messages: KeyPressEvent
[22:02:33] DEBUG       EventHandlerMixin: handling j for mode library
[22:02:33] DEBUG       EventHandlerMixin: found command for event
[22:02:33] DEBUG       Running 'scroll down'
[22:02:33] DEBUG       Split text into parts '['scroll down']'
[22:02:33] DEBUG       Handling part 0 'scroll down'
[22:02:33] DEBUG            Scrolling in direction 'Direction.Down'
[22:02:33] DEBUG            Selecting library row 3
[22:02:33] DEBUG             Updating status: ran command
[22:02:33] DEBUG       Ran 'scroll down' succesfully
[22:02:34] DEBUG             Clearing status messages: KeyPressEvent
[22:02:34] DEBUG       EventHandlerMixin: handling j for mode library
[22:02:34] DEBUG       EventHandlerMixin: found command for event
[22:02:34] DEBUG       Running 'scroll down'
[22:02:34] DEBUG       Split text into parts '['scroll down']'
[22:02:34] DEBUG       Handling part 0 'scroll down'
[22:02:34] DEBUG            Scrolling in direction 'Direction.Down'
[22:02:34] DEBUG            Selecting library row 4
[22:02:34] DEBUG             Updating status: ran command
[22:02:34] DEBUG       Ran 'scroll down' succesfully
[22:02:34] DEBUG             Clearing status messages: KeyPressEvent
[22:02:34] DEBUG       EventHandlerMixin: handling l for mode library
[22:02:34] DEBUG       EventHandlerMixin: found command for event
[22:02:34] DEBUG       Running 'scroll right'
[22:02:34] DEBUG       Split text into parts '['scroll right']'
[22:02:34] DEBUG       Handling part 0 'scroll right'
[22:02:34] DEBUG            Scrolling in direction 'Direction.Right'
[22:02:34] DEBUG     Changing directory to '/home/jeanclaude/Documents/Photography/testII'
[22:02:34] DEBUG            Updating library for new/reloaded directory
[22:02:34] DEBUG            No stored position, falling back to 0
[22:02:34] DEBUG            Selecting library row 0
[22:02:34] DEBUG     Monitoring /home/jeanclaude/Documents/Photography/testII
[22:02:34] DEBUG     Directory change completed
[22:02:34] DEBUG             Updating status: ran command
[22:02:34] DEBUG       Ran 'scroll right' succesfully
[22:02:36] DEBUG             Clearing status messages: KeyPressEvent
[22:02:36] DEBUG       EventHandlerMixin: handling m for mode library
[22:02:36] DEBUG       EventHandlerMixin: found command for event
[22:02:36] DEBUG       Running 'mark %'
[22:02:36] DEBUG       Split text into parts '['mark /home/jeanclaude/Documents/Photography/testII/1DX_6085.CR2']'
[22:02:36] DEBUG       Handling part 0 'mark /home/jeanclaude/Documents/Photography/testII/1DX_6085.CR2'
[22:02:36] DEBUG             Retrieving instance from objreg for 'Mark.mark'
[22:02:36] DEBUG              Marking 1 paths
[22:02:36] DEBUG              Toggling '/home/jeanclaude/Documents/Photography/testII/1DX_6085.CR2'
[22:02:36] DEBUG          Ignoring mark as thumbnails have not been created
[22:02:36] DEBUG              Creating watcher to monitor marked paths
[22:02:36] DEBUG              Marked '/home/jeanclaude/Documents/Photography/testII/1DX_6085.CR2'
[22:02:36] DEBUG             Updating status: ran command
[22:02:36] DEBUG       Ran 'mark /home/jeanclaude/Documents/Photography/testII/1DX_6085.CR2' succesfully
[22:02:36] DEBUG             Clearing status messages: KeyPressEvent
[22:02:36] DEBUG       EventHandlerMixin: handling j for mode library
[22:02:36] DEBUG       EventHandlerMixin: found command for event
[22:02:36] DEBUG       Running 'scroll down'
[22:02:36] DEBUG       Split text into parts '['scroll down']'
[22:02:36] DEBUG       Handling part 0 'scroll down'
[22:02:36] DEBUG            Scrolling in direction 'Direction.Down'
[22:02:36] DEBUG            Selecting library row 1
[22:02:36] DEBUG             Updating status: ran command
[22:02:36] DEBUG       Ran 'scroll down' succesfully
[22:02:36] DEBUG             Clearing status messages: KeyPressEvent
[22:02:36] DEBUG       EventHandlerMixin: handling m for mode library
[22:02:36] DEBUG       EventHandlerMixin: found command for event
[22:02:36] DEBUG       Running 'mark %'
[22:02:36] DEBUG       Split text into parts '['mark /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.extract.jpg']'
[22:02:36] DEBUG       Handling part 0 'mark /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.extract.jpg'
[22:02:36] DEBUG              Marking 1 paths
[22:02:36] DEBUG              Toggling '/home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.extract.jpg'
[22:02:36] DEBUG          Ignoring mark as thumbnails have not been created
[22:02:36] DEBUG              Marked '/home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.extract.jpg'
[22:02:36] DEBUG             Updating status: ran command
[22:02:36] DEBUG       Ran 'mark /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.extract.jpg' succesfully
[22:02:36] DEBUG             Clearing status messages: KeyPressEvent
[22:02:36] DEBUG       EventHandlerMixin: handling j for mode library
[22:02:36] DEBUG       EventHandlerMixin: found command for event
[22:02:36] DEBUG       Running 'scroll down'
[22:02:36] DEBUG       Split text into parts '['scroll down']'
[22:02:36] DEBUG       Handling part 0 'scroll down'
[22:02:36] DEBUG            Scrolling in direction 'Direction.Down'
[22:02:36] DEBUG            Selecting library row 2
[22:02:36] DEBUG             Updating status: ran command
[22:02:36] DEBUG       Ran 'scroll down' succesfully
[22:02:36] DEBUG             Clearing status messages: KeyPressEvent
[22:02:36] DEBUG       EventHandlerMixin: handling m for mode library
[22:02:36] DEBUG       EventHandlerMixin: found command for event
[22:02:36] DEBUG       Running 'mark %'
[22:02:36] DEBUG       Split text into parts '['mark /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.jpg']'
[22:02:36] DEBUG       Handling part 0 'mark /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.jpg'
[22:02:36] DEBUG              Marking 1 paths
[22:02:36] DEBUG              Toggling '/home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.jpg'
[22:02:36] DEBUG          Ignoring mark as thumbnails have not been created
[22:02:36] DEBUG              Marked '/home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.jpg'
[22:02:36] DEBUG             Updating status: ran command
[22:02:36] DEBUG       Ran 'mark /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.jpg' succesfully
[22:02:36] DEBUG             Clearing status messages: KeyPressEvent
[22:02:36] DEBUG       EventHandlerMixin: handling j for mode library
[22:02:36] DEBUG       EventHandlerMixin: found command for event
[22:02:36] DEBUG       Running 'scroll down'
[22:02:36] DEBUG       Split text into parts '['scroll down']'
[22:02:36] DEBUG       Handling part 0 'scroll down'
[22:02:36] DEBUG            Scrolling in direction 'Direction.Down'
[22:02:36] DEBUG            Selecting library row 3
[22:02:36] DEBUG             Updating status: ran command
[22:02:37] DEBUG       Ran 'scroll down' succesfully
[22:02:37] DEBUG             Clearing status messages: KeyPressEvent
[22:02:37] DEBUG       EventHandlerMixin: handling m for mode library
[22:02:37] DEBUG       EventHandlerMixin: found command for event
[22:02:37] DEBUG       Running 'mark %'
[22:02:37] DEBUG       Split text into parts '['mark /home/jeanclaude/Documents/Photography/testII/a.jpg']'
[22:02:37] DEBUG       Handling part 0 'mark /home/jeanclaude/Documents/Photography/testII/a.jpg'
[22:02:37] DEBUG              Marking 1 paths
[22:02:37] DEBUG              Toggling '/home/jeanclaude/Documents/Photography/testII/a.jpg'
[22:02:37] DEBUG          Ignoring mark as thumbnails have not been created
[22:02:37] DEBUG              Marked '/home/jeanclaude/Documents/Photography/testII/a.jpg'
[22:02:37] DEBUG             Updating status: ran command
[22:02:37] DEBUG       Ran 'mark /home/jeanclaude/Documents/Photography/testII/a.jpg' succesfully
[22:02:37] DEBUG             Clearing status messages: KeyPressEvent
[22:02:37] DEBUG       EventHandlerMixin: handling j for mode library
[22:02:37] DEBUG       EventHandlerMixin: found command for event
[22:02:37] DEBUG       Running 'scroll down'
[22:02:37] DEBUG       Split text into parts '['scroll down']'
[22:02:37] DEBUG       Handling part 0 'scroll down'
[22:02:37] DEBUG            Scrolling in direction 'Direction.Down'
[22:02:37] DEBUG            Selecting library row 4
[22:02:37] DEBUG             Updating status: ran command
[22:02:37] DEBUG       Ran 'scroll down' succesfully
[22:02:37] DEBUG             Clearing status messages: KeyPressEvent
[22:02:37] DEBUG       EventHandlerMixin: handling m for mode library
[22:02:37] DEBUG       EventHandlerMixin: found command for event
[22:02:37] DEBUG       Running 'mark %'
[22:02:37] DEBUG       Split text into parts '['mark /home/jeanclaude/Documents/Photography/testII/a1.jpg']'
[22:02:37] DEBUG       Handling part 0 'mark /home/jeanclaude/Documents/Photography/testII/a1.jpg'
[22:02:37] DEBUG              Marking 1 paths
[22:02:37] DEBUG              Toggling '/home/jeanclaude/Documents/Photography/testII/a1.jpg'
[22:02:37] DEBUG          Ignoring mark as thumbnails have not been created
[22:02:37] DEBUG              Marked '/home/jeanclaude/Documents/Photography/testII/a1.jpg'
[22:02:37] DEBUG             Updating status: ran command
[22:02:37] DEBUG       Ran 'mark /home/jeanclaude/Documents/Photography/testII/a1.jpg' succesfully
[22:02:37] DEBUG             Clearing status messages: KeyPressEvent
[22:02:37] DEBUG       EventHandlerMixin: handling j for mode library
[22:02:37] DEBUG       EventHandlerMixin: found command for event
[22:02:37] DEBUG       Running 'scroll down'
[22:02:37] DEBUG       Split text into parts '['scroll down']'
[22:02:37] DEBUG       Handling part 0 'scroll down'
[22:02:37] DEBUG            Scrolling in direction 'Direction.Down'
[22:02:37] DEBUG            Selecting library row 5
[22:02:37] DEBUG             Updating status: ran command
[22:02:37] DEBUG       Ran 'scroll down' succesfully
[22:02:37] DEBUG             Clearing status messages: KeyPressEvent
[22:02:37] DEBUG       EventHandlerMixin: handling m for mode library
[22:02:37] DEBUG       EventHandlerMixin: found command for event
[22:02:37] DEBUG       Running 'mark %'
[22:02:37] DEBUG       Split text into parts '['mark /home/jeanclaude/Documents/Photography/testII/a2.jpg']'
[22:02:37] DEBUG       Handling part 0 'mark /home/jeanclaude/Documents/Photography/testII/a2.jpg'
[22:02:37] DEBUG              Marking 1 paths
[22:02:37] DEBUG              Toggling '/home/jeanclaude/Documents/Photography/testII/a2.jpg'
[22:02:37] DEBUG          Ignoring mark as thumbnails have not been created
[22:02:37] DEBUG              Marked '/home/jeanclaude/Documents/Photography/testII/a2.jpg'
[22:02:37] DEBUG             Updating status: ran command
[22:02:37] DEBUG       Ran 'mark /home/jeanclaude/Documents/Photography/testII/a2.jpg' succesfully
[22:02:38] DEBUG             Clearing status messages: KeyPressEvent
[22:02:38] DEBUG       EventHandlerMixin: handling j for mode library
[22:02:38] DEBUG       EventHandlerMixin: found command for event
[22:02:38] DEBUG       Running 'scroll down'
[22:02:38] DEBUG       Split text into parts '['scroll down']'
[22:02:38] DEBUG       Handling part 0 'scroll down'
[22:02:38] DEBUG            Scrolling in direction 'Direction.Down'
[22:02:38] DEBUG            Selecting library row 6
[22:02:38] DEBUG             Updating status: ran command
[22:02:38] DEBUG       Ran 'scroll down' succesfully
[22:02:38] DEBUG             Clearing status messages: KeyPressEvent
[22:02:38] DEBUG       EventHandlerMixin: handling k for mode library
[22:02:38] DEBUG       EventHandlerMixin: found command for event
[22:02:38] DEBUG       Running 'scroll up'
[22:02:38] DEBUG       Split text into parts '['scroll up']'
[22:02:38] DEBUG       Handling part 0 'scroll up'
[22:02:38] DEBUG            Scrolling in direction 'Direction.Up'
[22:02:38] DEBUG            Selecting library row 5
[22:02:38] DEBUG             Updating status: ran command
[22:02:38] DEBUG       Ran 'scroll up' succesfully
[22:02:39] DEBUG             Clearing status messages: KeyPressEvent
[22:02:39] DEBUG       KeyPressEvent: only modifier pressed
[22:02:39] DEBUG             Clearing status messages: KeyPressEvent
[22:02:39] DEBUG       EventHandlerMixin: handling  for mode library
[22:02:39] DEBUG       EventHandlerMixin: found command for event
[22:02:39] DEBUG       Running 'command'
[22:02:39] DEBUG       Split text into parts '['command']'
[22:02:39] DEBUG       Handling part 0 'command'
[22:02:39] DEBUG             Retrieving instance from objreg for 'CommandWidget.command'
[22:02:39] DEBUG              Leaving mode library
[22:02:39] DEBUG       Loaded history from '/home/jeanclaude/.local/share/vimiv/history.json'
[22:02:39] DEBUG              Mode.COMMAND widget focused
[22:02:39] DEBUG              Entered mode Mode.COMMAND
[22:02:39] DEBUG         Model 'CommandModel' for text ':'
[22:02:39] DEBUG             Updating status: ran command
[22:02:39] DEBUG       Ran 'command' succesfully
[22:02:40] DEBUG             Clearing status messages: KeyPressEvent
[22:02:40] DEBUG       EventHandlerMixin: handling o for mode command
[22:02:40] DEBUG       EventHandlerMixin: no matches for event
[22:02:40] DEBUG         Model 'CommandModel' for text ':o'
[22:02:40] DEBUG             Updating status: regular Qt event
[22:02:40] DEBUG             Clearing status messages: KeyPressEvent
[22:02:40] DEBUG       EventHandlerMixin: handling p for mode command
[22:02:40] DEBUG       EventHandlerMixin: no matches for event
[22:02:40] DEBUG         Model 'CommandModel' for text ':op'
[22:02:40] DEBUG             Updating status: regular Qt event
[22:02:40] DEBUG             Clearing status messages: KeyPressEvent
[22:02:40] DEBUG       EventHandlerMixin: handling e for mode command
[22:02:40] DEBUG       EventHandlerMixin: no matches for event
[22:02:40] DEBUG         Model 'CommandModel' for text ':ope'
[22:02:40] DEBUG             Updating status: regular Qt event
[22:02:40] DEBUG             Clearing status messages: KeyPressEvent
[22:02:40] DEBUG       EventHandlerMixin: handling n for mode command
[22:02:40] DEBUG       EventHandlerMixin: no matches for event
[22:02:40] DEBUG         Model 'CommandModel' for text ':open'
[22:02:40] DEBUG             Updating status: regular Qt event
[22:02:40] DEBUG             Clearing status messages: KeyPressEvent
[22:02:40] DEBUG       EventHandlerMixin: handling  for mode command
[22:02:40] DEBUG       EventHandlerMixin: no matches for event
[22:02:40] DEBUG         Model 'PathModel' for text ':open '
[22:02:40] DEBUG             Updating status: regular Qt event
[22:02:41] DEBUG             Clearing status messages: KeyPressEvent
[22:02:41] DEBUG       KeyPressEvent: only modifier pressed
[22:02:41] DEBUG             Clearing status messages: KeyPressEvent
[22:02:41] DEBUG       EventHandlerMixin: handling % for mode command
[22:02:41] DEBUG       EventHandlerMixin: no matches for event
[22:02:41] DEBUG         Model 'PathModel' for text ':open %'
[22:02:41] DEBUG             Updating status: regular Qt event
[22:02:41] DEBUG             Clearing status messages: KeyPressEvent
[22:02:41] DEBUG       EventHandlerMixin: handling m for mode command
[22:02:41] DEBUG       EventHandlerMixin: no matches for event
[22:02:41] DEBUG         Model 'PathModel' for text ':open %m'
[22:02:41] DEBUG             Updating status: regular Qt event
[22:02:42] DEBUG             Clearing status messages: KeyPressEvent
[22:02:42] DEBUG       EventHandlerMixin: handling  for mode command
[22:02:42] DEBUG       EventHandlerMixin: no matches for event
[22:02:42] DEBUG              Leaving mode command
[22:02:42] DEBUG              Mode.LIBRARY widget focused
[22:02:42] DEBUG              Entered mode Mode.LIBRARY
[22:02:42] DEBUG             Updating status: regular Qt event
[22:02:42] DEBUG       Running 'open %m'
[22:02:42] DEBUG       Split text into parts '['open /home/jeanclaude/Documents/Photography/testII/1DX_6085.CR2 /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.extract.jpg /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.jpg /home/jeanclaude/Documents/Photography/testII/a.jpg /home/jeanclaude/Documents/Photography/testII/a1.jpg /home/jeanclaude/Documents/Photography/testII/a2.jpg']'
[22:02:42] DEBUG       Handling part 0 'open /home/jeanclaude/Documents/Photography/testII/1DX_6085.CR2 /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.extract.jpg /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.jpg /home/jeanclaude/Documents/Photography/testII/a.jpg /home/jeanclaude/Documents/Photography/testII/a1.jpg /home/jeanclaude/Documents/Photography/testII/a2.jpg'
[22:02:42] DEBUG       Image filelist: loading 6 paths
[22:02:42] DEBUG          Updating thumbnails...
[22:02:42] DEBUG          Adding new thumbnail '/home/jeanclaude/Documents/Photography/testII/1DX_6085.CR2'
[22:02:42] DEBUG          Adding new thumbnail '/home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.extract.jpg'
[22:02:42] DEBUG          Adding new thumbnail '/home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.jpg'
[22:02:42] DEBUG          Adding new thumbnail '/home/jeanclaude/Documents/Photography/testII/a.jpg'
[22:02:42] DEBUG          Adding new thumbnail '/home/jeanclaude/Documents/Photography/testII/a1.jpg'
[22:02:42] DEBUG          Adding new thumbnail '/home/jeanclaude/Documents/Photography/testII/a2.jpg'
[22:02:42] DEBUG          ... update completed
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: known incorrect sRGB profile
libpng warning: profile matches sRGB but writing iCCP instead
libpng warning: known incorrect sRGB profile
libpng warning: profile matches sRGB but writing iCCP instead
libpng warning: known incorrect sRGB profile
libpng warning: profile matches sRGB but writing iCCP instead
[22:02:43] DEBUG          Selecting thumbnail number 0
[22:02:43] DEBUG            Selecting library path '/home/jeanclaude/Documents/Photography/testII/1DX_6085.CR2' via slot
[22:02:43] DEBUG            Selecting library row 0
[22:02:43] DEBUG              Leaving mode library
[22:02:43] DEBUG              Mode.IMAGE widget focused
[22:02:43] DEBUG              Entered mode Mode.IMAGE
[22:02:43] DEBUG             Updating status: ran command
[22:02:43] DEBUG             Retrieving instance from objreg for 'ScrollableImage._get_zoom_level'
[22:02:43] DEBUG             Retrieving instance from objreg for 'Mark.mark_indicator'
[22:02:43] DEBUG       Ran 'open /home/jeanclaude/Documents/Photography/testII/1DX_6085.CR2 /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.extract.jpg /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.jpg /home/jeanclaude/Documents/Photography/testII/a.jpg /home/jeanclaude/Documents/Photography/testII/a1.jpg /home/jeanclaude/Documents/Photography/testII/a2.jpg' succesfully
[22:02:44] DEBUG             Clearing status messages: KeyPressEvent
[22:02:44] DEBUG       EventHandlerMixin: handling g for mode image
[22:02:44] DEBUG       EventHandlerMixin: event matches bindings partially
[22:02:44] DEBUG             Updating status: added keys to temporary key storage
[22:02:44] DEBUG             Clearing status messages: KeyPressEvent
[22:02:44] DEBUG       EventHandlerMixin: handling t for mode image
[22:02:44] DEBUG       EventHandlerMixin: found command for event
[22:02:44] DEBUG       Running 'enter thumbnail'
[22:02:44] DEBUG       Split text into parts '['enter thumbnail']'
[22:02:44] DEBUG       Handling part 0 'enter thumbnail'
[22:02:44] DEBUG              Leaving mode image
[22:02:44] DEBUG              Mode.THUMBNAIL widget focused
[22:02:44] DEBUG              Entered mode Mode.THUMBNAIL
[22:02:44] DEBUG             Updating status: ran command
[22:02:44] DEBUG             Retrieving instance from objreg for 'ThumbnailView.current_index'
[22:02:44] DEBUG             Retrieving instance from objreg for 'ThumbnailView.total'
[22:02:44] DEBUG             Retrieving instance from objreg for 'ThumbnailView._thumbnail_name'
[22:02:44] DEBUG             Retrieving instance from objreg for 'ThumbnailView.size'
[22:02:44] DEBUG       Ran 'enter thumbnail' succesfully
[22:02:47] DEBUG             Clearing status messages: KeyPressEvent
[22:02:47] DEBUG       KeyPressEvent: only modifier pressed
[22:02:47] DEBUG             Clearing status messages: KeyPressEvent
[22:02:47] DEBUG       EventHandlerMixin: handling  for mode thumbnail
[22:02:47] DEBUG       EventHandlerMixin: found command for event
[22:02:47] DEBUG       Running 'command'
[22:02:47] DEBUG       Split text into parts '['command']'
[22:02:47] DEBUG       Handling part 0 'command'
[22:02:47] DEBUG              Leaving mode thumbnail
[22:02:47] DEBUG              Mode.COMMAND widget focused
[22:02:47] DEBUG              Entered mode Mode.COMMAND
[22:02:47] DEBUG         Model 'CommandModel' for text ':'
[22:02:47] DEBUG             Updating status: ran command
[22:02:47] DEBUG       Ran 'command' succesfully
[22:02:48] DEBUG             Clearing status messages: KeyPressEvent
[22:02:48] DEBUG       EventHandlerMixin: handling  for mode command
[22:02:48] DEBUG       EventHandlerMixin: found command for event
[22:02:48] DEBUG       Running 'leave-commandline'
[22:02:48] DEBUG       Split text into parts '['leave-commandline']'
[22:02:48] DEBUG       Handling part 0 'leave-commandline'
[22:02:48] DEBUG             Retrieving instance from objreg for 'CommandWidget.leave_commandline'
[22:02:48] DEBUG              Leaving mode command
[22:02:48] DEBUG              Mode.THUMBNAIL widget focused
[22:02:48] DEBUG              Entered mode Mode.THUMBNAIL
[22:02:48] DEBUG             Updating status: ran command
[22:02:48] DEBUG       Ran 'leave-commandline' succesfully
[22:02:50] DEBUG             Clearing status messages: KeyPressEvent
[22:02:50] DEBUG       EventHandlerMixin: handling g for mode thumbnail
[22:02:50] DEBUG       EventHandlerMixin: event matches bindings partially
[22:02:50] DEBUG             Updating status: added keys to temporary key storage
[22:02:50] DEBUG             Clearing status messages: KeyPressEvent
[22:02:50] DEBUG       EventHandlerMixin: handling l for mode thumbnail
[22:02:50] DEBUG       EventHandlerMixin: found command for event
[22:02:50] DEBUG       Running 'enter library'
[22:02:50] DEBUG       Split text into parts '['enter library']'
[22:02:50] DEBUG       Handling part 0 'enter library'
[22:02:50] DEBUG              Leaving mode thumbnail
[22:02:50] DEBUG              Mode.LIBRARY widget focused
[22:02:50] DEBUG              Entered mode Mode.LIBRARY
[22:02:50] DEBUG             Updating status: ran command
[22:02:50] DEBUG       Ran 'enter library' succesfully
[22:02:50] DEBUG             Clearing status messages: KeyPressEvent
[22:02:50] DEBUG       EventHandlerMixin: handling h for mode library
[22:02:50] DEBUG       EventHandlerMixin: found command for event
[22:02:50] DEBUG       Running 'scroll left'
[22:02:50] DEBUG       Split text into parts '['scroll left']'
[22:02:50] DEBUG       Handling part 0 'scroll left'
[22:02:50] DEBUG            Scrolling in direction 'Direction.Left'
[22:02:50] DEBUG     Changing directory to '/home/jeanclaude/Documents/Photography'
[22:02:50] DEBUG            Updating library for new/reloaded directory
[22:02:50] DEBUG            Retrieved stored position from path: 4
[22:02:50] DEBUG            Selecting library row 4
[22:02:50] DEBUG     Monitoring /home/jeanclaude/Documents/Photography
[22:02:50] DEBUG     Directory change completed
[22:02:50] DEBUG             Updating status: ran command
[22:02:50] DEBUG       Ran 'scroll left' succesfully
[22:02:51] DEBUG             Clearing status messages: KeyPressEvent
[22:02:51] DEBUG       KeyPressEvent: only modifier pressed
[22:02:51] DEBUG             Clearing status messages: KeyPressEvent
[22:02:51] DEBUG       EventHandlerMixin: handling  for mode library
[22:02:51] DEBUG       EventHandlerMixin: found command for event
[22:02:51] DEBUG       Running 'command'
[22:02:51] DEBUG       Split text into parts '['command']'
[22:02:51] DEBUG       Handling part 0 'command'
[22:02:51] DEBUG              Leaving mode library
[22:02:51] DEBUG              Mode.COMMAND widget focused
[22:02:51] DEBUG              Entered mode Mode.COMMAND
[22:02:51] DEBUG         Model 'CommandModel' for text ':'
[22:02:51] DEBUG             Updating status: ran command
[22:02:51] DEBUG       Ran 'command' succesfully
[22:02:52] DEBUG             Clearing status messages: KeyPressEvent
[22:02:52] DEBUG       EventHandlerMixin: handling o for mode command
[22:02:52] DEBUG       EventHandlerMixin: no matches for event
[22:02:52] DEBUG         Model 'CommandModel' for text ':o'
[22:02:52] DEBUG             Updating status: regular Qt event
[22:02:52] DEBUG             Clearing status messages: KeyPressEvent
[22:02:52] DEBUG       EventHandlerMixin: handling e for mode command
[22:02:52] DEBUG       EventHandlerMixin: no matches for event
[22:02:52] DEBUG         Model 'CommandModel' for text ':oe'
[22:02:52] DEBUG             Updating status: regular Qt event
[22:02:52] DEBUG             Clearing status messages: KeyPressEvent
[22:02:52] DEBUG       EventHandlerMixin: handling p for mode command
[22:02:52] DEBUG       EventHandlerMixin: no matches for event
[22:02:52] DEBUG         Model 'CommandModel' for text ':oep'
[22:02:52] DEBUG             Updating status: regular Qt event
[22:02:52] DEBUG             Clearing status messages: KeyPressEvent
[22:02:52] DEBUG       EventHandlerMixin: handling  for mode command
[22:02:52] DEBUG       EventHandlerMixin: no matches for event
[22:02:52] DEBUG         Model 'CommandModel' for text ':oep '
[22:02:52] DEBUG             Updating status: regular Qt event
[22:02:53] DEBUG             Clearing status messages: KeyPressEvent
[22:02:53] DEBUG       EventHandlerMixin: handling  for mode command
[22:02:53] DEBUG       EventHandlerMixin: no matches for event
[22:02:53] DEBUG         Model 'CommandModel' for text ':oep'
[22:02:53] DEBUG             Updating status: regular Qt event
[22:02:53] DEBUG             Clearing status messages: KeyPressEvent
[22:02:53] DEBUG       EventHandlerMixin: handling  for mode command
[22:02:53] DEBUG       EventHandlerMixin: no matches for event
[22:02:53] DEBUG         Model 'CommandModel' for text ':oe'
[22:02:53] DEBUG             Updating status: regular Qt event
[22:02:53] DEBUG             Clearing status messages: KeyPressEvent
[22:02:53] DEBUG       EventHandlerMixin: handling  for mode command
[22:02:53] DEBUG       EventHandlerMixin: no matches for event
[22:02:53] DEBUG         Model 'CommandModel' for text ':o'
[22:02:53] DEBUG             Updating status: regular Qt event
[22:02:54] DEBUG             Clearing status messages: KeyPressEvent
[22:02:54] DEBUG       EventHandlerMixin: handling p for mode command
[22:02:54] DEBUG       EventHandlerMixin: no matches for event
[22:02:54] DEBUG         Model 'CommandModel' for text ':op'
[22:02:54] DEBUG             Updating status: regular Qt event
[22:02:54] DEBUG             Clearing status messages: KeyPressEvent
[22:02:54] DEBUG       EventHandlerMixin: handling e for mode command
[22:02:54] DEBUG       EventHandlerMixin: no matches for event
[22:02:54] DEBUG         Model 'CommandModel' for text ':ope'
[22:02:54] DEBUG             Updating status: regular Qt event
[22:02:54] DEBUG             Clearing status messages: KeyPressEvent
[22:02:54] DEBUG       EventHandlerMixin: handling n for mode command
[22:02:54] DEBUG       EventHandlerMixin: no matches for event
[22:02:54] DEBUG         Model 'CommandModel' for text ':open'
[22:02:54] DEBUG             Updating status: regular Qt event
[22:02:54] DEBUG             Clearing status messages: KeyPressEvent
[22:02:54] DEBUG       EventHandlerMixin: handling  for mode command
[22:02:54] DEBUG       EventHandlerMixin: no matches for event
[22:02:54] DEBUG         Model 'PathModel' for text ':open '
[22:02:54] DEBUG             Updating status: regular Qt event
[22:02:54] DEBUG             Clearing status messages: KeyPressEvent
[22:02:54] DEBUG       KeyPressEvent: only modifier pressed
[22:02:54] DEBUG             Clearing status messages: KeyPressEvent
[22:02:54] DEBUG       EventHandlerMixin: handling % for mode command
[22:02:54] DEBUG       EventHandlerMixin: no matches for event
[22:02:54] DEBUG         Model 'PathModel' for text ':open %'
[22:02:54] DEBUG             Updating status: regular Qt event
[22:02:55] DEBUG             Clearing status messages: KeyPressEvent
[22:02:55] DEBUG       EventHandlerMixin: handling m for mode command
[22:02:55] DEBUG       EventHandlerMixin: no matches for event
[22:02:55] DEBUG         Model 'PathModel' for text ':open %m'
[22:02:55] DEBUG             Updating status: regular Qt event
[22:02:55] DEBUG             Clearing status messages: KeyPressEvent
[22:02:55] DEBUG       EventHandlerMixin: handling  for mode command
[22:02:55] DEBUG       EventHandlerMixin: no matches for event
[22:02:55] DEBUG              Leaving mode command
[22:02:55] DEBUG              Mode.LIBRARY widget focused
[22:02:55] DEBUG              Entered mode Mode.LIBRARY
[22:02:55] DEBUG             Updating status: regular Qt event
[22:02:55] DEBUG       Running 'open %m'
[22:02:55] DEBUG       Split text into parts '['open /home/jeanclaude/Documents/Photography/testII/1DX_6085.CR2 /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.extract.jpg /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.jpg /home/jeanclaude/Documents/Photography/testII/a.jpg /home/jeanclaude/Documents/Photography/testII/a1.jpg /home/jeanclaude/Documents/Photography/testII/a2.jpg']'
[22:02:55] DEBUG       Handling part 0 'open /home/jeanclaude/Documents/Photography/testII/1DX_6085.CR2 /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.extract.jpg /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.jpg /home/jeanclaude/Documents/Photography/testII/a.jpg /home/jeanclaude/Documents/Photography/testII/a1.jpg /home/jeanclaude/Documents/Photography/testII/a2.jpg'
[22:02:55] DEBUG     Changing directory to '/home/jeanclaude/Documents/Photography/testII'
[22:02:55] DEBUG            Updating library for new/reloaded directory
[22:02:55] DEBUG            Retrieved stored position from path: 0
[22:02:55] DEBUG            Selecting library row 0
[22:02:55] DEBUG          Selecting thumbnail number 0
[22:02:55] DEBUG     Monitoring /home/jeanclaude/Documents/Photography/testII
[22:02:55] DEBUG     Directory change completed
[22:02:55] DEBUG       Image filelist: loading 6 paths
[22:02:55] DEBUG          No new images to load
[22:02:55] DEBUG              Leaving mode library
[22:02:55] DEBUG              Mode.IMAGE widget focused
[22:02:55] DEBUG              Entered mode Mode.IMAGE
[22:02:55] DEBUG             Updating status: ran command
[22:02:55] DEBUG       Ran 'open /home/jeanclaude/Documents/Photography/testII/1DX_6085.CR2 /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.extract.jpg /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.jpg /home/jeanclaude/Documents/Photography/testII/a.jpg /home/jeanclaude/Documents/Photography/testII/a1.jpg /home/jeanclaude/Documents/Photography/testII/a2.jpg' succesfully
[22:03:12] DEBUG             Clearing status messages: KeyPressEvent
[22:03:12] DEBUG       EventHandlerMixin: handling g for mode image
[22:03:12] DEBUG       EventHandlerMixin: event matches bindings partially
[22:03:12] DEBUG             Updating status: added keys to temporary key storage
[22:03:12] DEBUG             Clearing status messages: KeyPressEvent
[22:03:12] DEBUG       EventHandlerMixin: handling t for mode image
[22:03:12] DEBUG       EventHandlerMixin: found command for event
[22:03:12] DEBUG       Running 'enter thumbnail'
[22:03:12] DEBUG       Split text into parts '['enter thumbnail']'
[22:03:12] DEBUG       Handling part 0 'enter thumbnail'
[22:03:12] DEBUG              Leaving mode image
[22:03:12] DEBUG              Mode.THUMBNAIL widget focused
[22:03:12] DEBUG              Entered mode Mode.THUMBNAIL
[22:03:12] DEBUG             Updating status: ran command
[22:03:12] DEBUG       Ran 'enter thumbnail' succesfully
[22:03:14] DEBUG             Clearing status messages: KeyPressEvent
[22:03:14] DEBUG       KeyPressEvent: only modifier pressed
[22:03:14] DEBUG             Clearing status messages: KeyPressEvent
[22:03:14] DEBUG       EventHandlerMixin: handling  for mode thumbnail
[22:03:14] DEBUG       EventHandlerMixin: found command for event
[22:03:14] DEBUG       Running 'command'
[22:03:14] DEBUG       Split text into parts '['command']'
[22:03:14] DEBUG       Handling part 0 'command'
[22:03:14] DEBUG              Leaving mode thumbnail
[22:03:14] DEBUG              Mode.COMMAND widget focused
[22:03:14] DEBUG              Entered mode Mode.COMMAND
[22:03:14] DEBUG         Model 'CommandModel' for text ':'
[22:03:14] DEBUG             Updating status: ran command
[22:03:14] DEBUG       Ran 'command' succesfully
[22:03:14] DEBUG             Clearing status messages: KeyPressEvent
[22:03:14] DEBUG       EventHandlerMixin: handling d for mode command
[22:03:14] DEBUG       EventHandlerMixin: no matches for event
[22:03:14] DEBUG         Model 'CommandModel' for text ':d'
[22:03:14] DEBUG             Updating status: regular Qt event
[22:03:14] DEBUG             Clearing status messages: KeyPressEvent
[22:03:14] DEBUG       EventHandlerMixin: handling e for mode command
[22:03:14] DEBUG       EventHandlerMixin: no matches for event
[22:03:14] DEBUG         Model 'CommandModel' for text ':de'
[22:03:14] DEBUG             Updating status: regular Qt event
[22:03:14] DEBUG             Clearing status messages: KeyPressEvent
[22:03:14] DEBUG       EventHandlerMixin: handling l for mode command
[22:03:14] DEBUG       EventHandlerMixin: no matches for event
[22:03:14] DEBUG         Model 'CommandModel' for text ':del'
[22:03:14] DEBUG             Updating status: regular Qt event
[22:03:14] DEBUG             Clearing status messages: KeyPressEvent
[22:03:14] DEBUG       EventHandlerMixin: handling e for mode command
[22:03:14] DEBUG       EventHandlerMixin: no matches for event
[22:03:14] DEBUG         Model 'CommandModel' for text ':dele'
[22:03:14] DEBUG             Updating status: regular Qt event
[22:03:15] DEBUG             Clearing status messages: KeyPressEvent
[22:03:15] DEBUG       EventHandlerMixin: handling t for mode command
[22:03:15] DEBUG       EventHandlerMixin: no matches for event
[22:03:15] DEBUG         Model 'CommandModel' for text ':delet'
[22:03:15] DEBUG             Updating status: regular Qt event
[22:03:15] DEBUG             Clearing status messages: KeyPressEvent
[22:03:15] DEBUG       EventHandlerMixin: handling e for mode command
[22:03:15] DEBUG       EventHandlerMixin: no matches for event
[22:03:15] DEBUG         Model 'CommandModel' for text ':delete'
[22:03:15] DEBUG             Updating status: regular Qt event
[22:03:15] DEBUG             Clearing status messages: KeyPressEvent
[22:03:15] DEBUG       EventHandlerMixin: handling  for mode command
[22:03:15] DEBUG       EventHandlerMixin: no matches for event
[22:03:15] DEBUG         Model 'PathModel' for text ':delete '
[22:03:15] DEBUG             Updating status: regular Qt event
[22:03:16] DEBUG             Clearing status messages: KeyPressEvent
[22:03:16] DEBUG       KeyPressEvent: only modifier pressed
[22:03:18] DEBUG             Clearing status messages: KeyPressEvent
[22:03:18] DEBUG       EventHandlerMixin: handling % for mode command
[22:03:18] DEBUG       EventHandlerMixin: no matches for event
[22:03:18] DEBUG         Model 'PathModel' for text ':delete %'
[22:03:18] DEBUG             Updating status: regular Qt event
[22:03:18] DEBUG             Clearing status messages: KeyPressEvent
[22:03:18] DEBUG       EventHandlerMixin: handling m for mode command
[22:03:18] DEBUG       EventHandlerMixin: no matches for event
[22:03:18] DEBUG         Model 'PathModel' for text ':delete %m'
[22:03:18] DEBUG             Updating status: regular Qt event
[22:03:19] DEBUG             Clearing status messages: KeyPressEvent
[22:03:19] DEBUG       EventHandlerMixin: handling  for mode command
[22:03:19] DEBUG       EventHandlerMixin: no matches for event
[22:03:19] DEBUG              Leaving mode command
[22:03:19] DEBUG              Mode.THUMBNAIL widget focused
[22:03:19] DEBUG              Entered mode Mode.THUMBNAIL
[22:03:19] DEBUG             Updating status: regular Qt event
[22:03:19] DEBUG       Running 'delete %m'
[22:03:19] DEBUG       Split text into parts '['delete /home/jeanclaude/Documents/Photography/testII/1DX_6085.CR2 /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.extract.jpg /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.jpg /home/jeanclaude/Documents/Photography/testII/a.jpg /home/jeanclaude/Documents/Photography/testII/a1.jpg /home/jeanclaude/Documents/Photography/testII/a2.jpg']'
[22:03:19] DEBUG       Handling part 0 'delete /home/jeanclaude/Documents/Photography/testII/1DX_6085.CR2 /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.extract.jpg /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.jpg /home/jeanclaude/Documents/Photography/testII/a.jpg /home/jeanclaude/Documents/Photography/testII/a1.jpg /home/jeanclaude/Documents/Photography/testII/a2.jpg'
[22:03:19] INFO                   Deleted 6 images
[22:03:19] DEBUG             Updating status: ran command
[22:03:19] DEBUG       Ran 'delete /home/jeanclaude/Documents/Photography/testII/1DX_6085.CR2 /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.extract.jpg /home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.jpg /home/jeanclaude/Documents/Photography/testII/a.jpg /home/jeanclaude/Documents/Photography/testII/a1.jpg /home/jeanclaude/Documents/Photography/testII/a2.jpg' succesfully
[22:03:19] DEBUG              Unmarked '/home/jeanclaude/Documents/Photography/testII/a.jpg'
[22:03:19] DEBUG              Unmarked '/home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.jpg'
[22:03:19] DEBUG              Unmarked '/home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.extract.jpg'
[22:03:19] DEBUG              Unmarked '/home/jeanclaude/Documents/Photography/testII/1DX_6085.CR2'
[22:03:19] DEBUG              Unmarked '/home/jeanclaude/Documents/Photography/testII/a2.jpg'
[22:03:19] DEBUG              Unmarked '/home/jeanclaude/Documents/Photography/testII/a1.jpg'
[22:03:20] DEBUG     Reloading working directory
[22:03:20] DEBUG     Added images: []
[22:03:20] DEBUG     Removed images: ['/home/jeanclaude/Documents/Photography/testII/1DX_6085.CR2', '/home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.extract.jpg', '/home/jeanclaude/Documents/Photography/testII/1DX_6085.thumb.jpg', '/home/jeanclaude/Documents/Photography/testII/a.jpg', '/home/jeanclaude/Documents/Photography/testII/a1.jpg', '/home/jeanclaude/Documents/Photography/testII/a2.jpg']
[22:03:20] DEBUG             Updating status: Image filelist cleared
[22:03:20] DEBUG            Updating library for new/reloaded directory
[22:03:20] DEBUG            Stored position longer exists, using fallback 0
[22:03:20] DEBUG            Selecting library row 0
[22:03:32] DEBUG             Clearing status messages: KeyPressEvent
[22:03:32] DEBUG       EventHandlerMixin: handling m for mode thumbnail
[22:03:32] DEBUG       EventHandlerMixin: found command for event
[22:03:32] DEBUG       Running 'mark %'
[22:03:32] DEBUG       Split text into parts '['mark /home/jeanclaude/Documents/Photography/testII/a2.jpg']'
[22:03:32] DEBUG       Handling part 0 'mark /home/jeanclaude/Documents/Photography/testII/a2.jpg'
[22:03:32] ERROR                  mark: No paths matching '/home/jeanclaude/Documents/Photography/testII/a2.jpg'
[22:03:32] DEBUG       Stopping at 0 as 'mark /home/jeanclaude/Documents/Photography/testII/a2.jpg' failed
[22:03:32] DEBUG             Clearing status messages: KeyPressEvent
[22:03:32] DEBUG       EventHandlerMixin: handling j for mode thumbnail
[22:03:32] DEBUG       EventHandlerMixin: found command for event
[22:03:32] DEBUG       Running 'scroll down'
[22:03:32] DEBUG       Split text into parts '['scroll down']'
[22:03:32] DEBUG       Handling part 0 'scroll down'
[22:03:32] DEBUG             Retrieving instance from objreg for 'ThumbnailView.scroll'
[22:03:32] DEBUG          Scrolling in direction 'Direction.Down'
[22:03:32] DEBUG          Selecting thumbnail number -1
[22:03:32] DEBUG            Selecting library path '/home/jeanclaude/Documents/Photography/testII/a2.jpg' via slot
[22:03:32] DEBUG             Updating status: ran command
[22:03:32] DEBUG       Ran 'scroll down' succesfully
[22:03:33] DEBUG             Clearing status messages: KeyPressEvent
[22:03:33] DEBUG       EventHandlerMixin: handling m for mode thumbnail
[22:03:33] DEBUG       EventHandlerMixin: found command for event
[22:03:33] DEBUG       Running 'mark %'
[22:03:33] DEBUG       Split text into parts '['mark /home/jeanclaude/Documents/Photography/testII/a2.jpg']'
[22:03:33] DEBUG       Handling part 0 'mark /home/jeanclaude/Documents/Photography/testII/a2.jpg'
[22:03:33] ERROR                  mark: No paths matching '/home/jeanclaude/Documents/Photography/testII/a2.jpg'
[22:03:33] DEBUG       Stopping at 0 as 'mark /home/jeanclaude/Documents/Photography/testII/a2.jpg' failed
[22:03:35] DEBUG             Clearing status messages: KeyPressEvent
[22:03:35] DEBUG       EventHandlerMixin: handling j for mode thumbnail
[22:03:35] DEBUG       EventHandlerMixin: found command for event
[22:03:35] DEBUG       Running 'scroll down'
[22:03:35] DEBUG       Split text into parts '['scroll down']'
[22:03:35] DEBUG       Handling part 0 'scroll down'
[22:03:35] DEBUG          Scrolling in direction 'Direction.Down'
[22:03:35] DEBUG          Selecting thumbnail number -1
[22:03:35] DEBUG            Selecting library path '/home/jeanclaude/Documents/Photography/testII/a2.jpg' via slot
[22:03:35] DEBUG             Updating status: ran command
[22:03:35] DEBUG       Ran 'scroll down' succesfully
[22:03:37] DEBUG             Clearing status messages: KeyPressEvent
[22:03:37] DEBUG       EventHandlerMixin: handling j for mode thumbnail
[22:03:37] DEBUG       EventHandlerMixin: found command for event
[22:03:37] DEBUG       Running 'scroll down'
[22:03:37] DEBUG       Split text into parts '['scroll down']'
[22:03:37] DEBUG       Handling part 0 'scroll down'
[22:03:37] DEBUG          Scrolling in direction 'Direction.Down'
[22:03:37] DEBUG          Selecting thumbnail number -1
[22:03:37] DEBUG            Selecting library path '/home/jeanclaude/Documents/Photography/testII/a2.jpg' via slot
[22:03:37] DEBUG             Updating status: ran command
[22:03:37] DEBUG       Ran 'scroll down' succesfully
[22:03:37] DEBUG             Clearing status messages: KeyPressEvent
[22:03:37] DEBUG       EventHandlerMixin: handling j for mode thumbnail
[22:03:37] DEBUG       EventHandlerMixin: found command for event
[22:03:37] DEBUG       Running 'scroll down'
[22:03:37] DEBUG       Split text into parts '['scroll down']'
[22:03:37] DEBUG       Handling part 0 'scroll down'
[22:03:37] DEBUG          Scrolling in direction 'Direction.Down'
[22:03:37] DEBUG          Selecting thumbnail number -1
[22:03:37] DEBUG            Selecting library path '/home/jeanclaude/Documents/Photography/testII/a2.jpg' via slot
[22:03:37] DEBUG             Updating status: ran command
[22:03:37] DEBUG       Ran 'scroll down' succesfully
[22:03:38] DEBUG             Clearing status messages: KeyPressEvent
[22:03:38] DEBUG       EventHandlerMixin: handling j for mode thumbnail
[22:03:38] DEBUG       EventHandlerMixin: found command for event
[22:03:38] DEBUG       Running 'scroll down'
[22:03:38] DEBUG       Split text into parts '['scroll down']'
[22:03:38] DEBUG       Handling part 0 'scroll down'
[22:03:38] DEBUG          Scrolling in direction 'Direction.Down'
[22:03:38] DEBUG          Selecting thumbnail number -1
[22:03:38] DEBUG            Selecting library path '/home/jeanclaude/Documents/Photography/testII/a2.jpg' via slot
[22:03:38] DEBUG             Updating status: ran command
[22:03:38] DEBUG       Ran 'scroll down' succesfully
[22:03:41] DEBUG             Clearing status messages: KeyPressEvent
[22:03:41] DEBUG       EventHandlerMixin: handling k for mode thumbnail
[22:03:41] DEBUG       EventHandlerMixin: found command for event
[22:03:41] DEBUG       Running 'scroll up'
[22:03:41] DEBUG       Split text into parts '['scroll up']'
[22:03:41] DEBUG       Handling part 0 'scroll up'
[22:03:41] DEBUG          Scrolling in direction 'Direction.Up'
[22:03:41] DEBUG          Selecting thumbnail number 8
[22:03:41] ERROR                  Uncaught exception! Exiting gracefully and printing stack...
Traceback (most recent call last):
  File "/home/jeanclaude/Documents/Programming/vimiv-qt/vimiv/gui/eventhandler.py", line 142, in keyPressEvent
    elif not self._process_event(keysequence, mode=mode):
  File "/home/jeanclaude/Documents/Programming/vimiv-qt/vimiv/gui/eventhandler.py", line 187, in _process_event
    runners.run(command, count=count, mode=mode)
  File "/home/jeanclaude/Documents/Programming/vimiv-qt/vimiv/commands/runners.py", line 49, in inner
    return func(text, *args, **kwargs)
  File "/home/jeanclaude/Documents/Programming/vimiv-qt/vimiv/commands/runners.py", line 80, in run
    _run_single(cmdpart, mode, count)
  File "/home/jeanclaude/Documents/Programming/vimiv-qt/vimiv/commands/runners.py", line 49, in inner
    return func(text, *args, **kwargs)
  File "/home/jeanclaude/Documents/Programming/vimiv-qt/vimiv/commands/runners.py", line 99, in _run_single
    command(count + text, mode)
  File "/home/jeanclaude/Documents/Programming/vimiv-qt/vimiv/commands/runners.py", line 119, in command
    _run_command(count, cmdname, args, mode)
  File "/home/jeanclaude/Documents/Programming/vimiv-qt/vimiv/commands/runners.py", line 154, in _run_command
    cmd(args, count=count)
  File "/home/jeanclaude/Documents/Programming/vimiv-qt/vimiv/api/commands.py", line 318, in __call__
    objreg._call_with_instance(self.func, **kwargs)
  File "/home/jeanclaude/Documents/Programming/vimiv-qt/vimiv/api/objreg.py", line 72, in _call_with_instance
    return func(cls.instance, *args, **kwargs)
  File "/home/jeanclaude/Documents/Programming/vimiv-qt/vimiv/gui/thumbnail.py", line 238, in scroll
    self._select_index(current)
  File "/home/jeanclaude/Documents/Programming/vimiv-qt/vimiv/gui/thumbnail.py", line 306, in _select_index
    synchronize.signals.new_thumbnail_path_selected.emit(self._paths[index])
IndexError: list index out of range
[22:03:41] DEBUG                    Waiting for any running threads...
[22:03:41] DEBUG                    Exiting with returncode 1
[22:03:41] DEBUG                Cleaning up plugins
[22:03:41] DEBUG                Plugin 'print' does not define cleanup()
[22:03:41] DEBUG                Plugin 'rawprev' does not define cleanup()
[22:03:41] DEBUG               Cleaning up importer plugin
[22:03:41] DEBUG                Cleaned up 'importer'
[22:03:41] DEBUG                Plugin 'tagger' does not define cleanup()
[22:03:41] DEBUG                Exiting with status 1
make: *** [Makefile:7: runc] Error 1
karlch commented 4 years ago

The first issue should be solved with 51b665a31c02d8a1076b33593e21a1cbf369dc13.

The second bug is a nasty one, this will require some thinking. Delete currently works in the following way:

Therefore any images that are not in the "current working directory", i.e. the directory of the first opened image, are not tracked and thus there is also no notification when they are deleted.

We would certainly want to keep the working directory handler in charge of finding the changes and emitting signals as there are more ways to remove paths than just using vimiv directly via :delete. So I guess we would need to track all currently opened files as well as the current working directory. Maybe there is a more elegant option though, this is just brainstorming.

jcjgraf commented 4 years ago

I can confirm the first issue is resolved.

I must admit that the working of the list view is sometimes also a bit unexpected. When I open certain images manually with :open ....(e.g. all marked ones) I would intuitively expect the list view to represent the opened images. But instead it displays one of the folder which contains a opened image.

I do not fully understand to working of vimiv for this part due to its complexity. But maybe we could open manually opened images in some kind of virtual working directory. This virtual directly would have a directory handler attached and hence, can react to signals as any other working directory.

This approach would also solve the slightly confusing behaviour described above since the list view could simply display the content of virtual directory.

As I have said, I do not know if it is reasonable to implement something like that or if it even makes sense. But it is just something which came to my mind :relaxed:

karlch commented 4 years ago

This is certainly getting much more complex than the initial issue and I don't think this part has to be solved for v0.8.0. These type of inconsistencies have been there more or less ever since and we should take some time to think about a solid solution for v1.0 IMHO. I will close this issue and open a new one related to the handling of multiple directories to keep things organized.