Solution for changing Lister display for specifc folders

I have seen requested a few times a request to enable/disable features for specific folders.
I.E. Panels only for one (or more) folder.

This post is about discussing a potential solution.

I thought a generic way to do this would be using styles. We need to be able to enable and disable the desired settings as we change folders. I used a file called folder.xml in the target folder containing the name of the style to assign. For disabling I configured a default style in the config.

When you navigate to a folder if the script it finds the style in the folder.xml it sets that style. If you navigate away it sets the style to the configured default.

Using style is not without issues. If the style has folders associated, setting that style will open tabs and those folders could trigger the script to run. This would not be ideal and could crash Dopus.

StyleSetter.js.txt (3.1 KB)

Testing

  1. I created a style that enables just the the viewer called ShowViewer. Then I created a file called folder.xml in a folder with this content.
<?xml version="1.0" encoding="UTF-8"?>
<dopus>
  <style>ShowViewer</style>
</dopus>
  1. Updated the Default to not show the viewer.

With the script enabled, if I navigate in and out of the folder the viewer is shown and hidden.

Keen to hear feedback. I don't think its the ideal solution yet. Would at least need a button to disable it, don't want to always be limited to the default style. Perhaps we should only change the style if we can confirm the default is the current one?

Updated version here