Skip to content

Version 687

Latest

Choose a tag to compare

@hydrusnetwork hydrusnetwork released this 09 Sep 21:15
cde148c

misc

  • the popup toaster is now very anti-taking-focus. if you navigating the thumbs via keyboard while popups bounce around doing their thing, particularly subs, they should now be less likely to steal focus from what you were doing. even clicking buttons shouldn't do it. this is mostly an experiment, so let me know how it works out
  • updated mkdocs-material from 6.7.1 to 6.7.7 due to a dependbot alert about an XSS issue with the search box

simpler menubar

  • in an effort to make the main gui's top-level menubar menus thinner and easier to mouse through, a machete has been applied. long labels are reworked or banished, 'manage x...' is now generally just 'x...', and some 'x and y' are now 'x/y', and some big weird things are pushed down to a submenu. Some tooltips are altered to help. I apologise for the jolt to muscle memory here, but I've been meaning to do this for ages and I'm trying to pack a bunch into one bigger frustration than continually reworking it in dribs and drabs
  • one thing I'm not totally happy with is the 'pending' menu. putting the count of pending stuff at the top of the submenu keeps it tucked out of the way, but if you find you are clicking that and not 'commit' two weeks from now, I'll need to re-do it

menubar boring details

  • under the 'file' menu, I clipped the labels a bit
  • the 'undo' menu is fine
  • under the 'pages' menu, I pushed the page count and weight measure to a 'weight' flyout submenu, the 'sidebar and preview panels' submenu is now just 'sidebar', and the 'new x page' labels are clipped
  • under the 'database' menu, all the long backup gubbins is put into a 'backup' submenu, 'move media files' is renamed to 'locations', and 'file viewing statistics' is renamed to 'clear'
  • under the 'network' menu, 'downloader components' are folded into 'downloaders' and the 'logins' legacy label is pushed to the submenu. also, an ancient ancient and hacky tumblr GDPR click-through patch is removed
  • under the 'services' menu, we just have 'review', 'edit', and 'administrate'. this is another "manage" to "edit" change, which is nomenclature borne from a stupid old technical difference that doesn't matter to the end user and which I am slowly changing. also this weird 'import update files' job is pushed to an 'advanced' submenu
  • under the 'tags' menu, everything is cut to the bone and 'manage where siblings and parents apply' is pushed down to an 'advanced' submenu
  • under the 'pending' menu, the count is now pushed to the flyout submenu, making the top menu just your service names. should make it both thinner and less bouncy as things are pending/uploading in the background
  • under the 'help' menu, I clipped a couple things
  • I think I updated all the help docs to point to the new labels, but let me know if you see something I missed

executable manager

  • the executable manager is now real. check it out under the 'external programs' options page. it supports 'open single file' and 'open url' pipelines to start, and like other hydrus things the objects can be exported and shared between users in a bunch of ways
  • the 'default programs' options page uses the new executable manager. your existing launch paths will be converted to the new system. feel free to rename them. if you are feeling brave, poke around and make your own callable
  • when you do 'open externally' on a file or URL, it all works on the new system. this includes stuff like hyperlinks. the call is cleaner, more secure, and has nicer failure reporting
  • added a 'show PATH' button to the exe manager's process call edit panel. it throws up the PATH as hydrus sees it with a bit of blurb

exe manager boring stuff

  • on init or update, an exe manager is created and populated with defaults or a migration of your existing string launch paths
  • the exe manager now tracks dirty/clean status and is plugged into the normal manager save checker
  • the existing 'open url/file' options are converted to the new calls, and the new exe manager is populated with executables for the old launch paths
  • all the 'default programs' UI is converted to the new 'select which exe' system. it provides live choices from the current the 'external programs' page
  • hooked up some extra safety code to make sure the exe manager provides the fallback default OS call when there is nothing else set, and to remove defunct items on dialog ok and such
  • process calls in the executable manager system now clean their parameters on init, deserialisation, or simple dialog editing. newlines are removed, leading or trailing whitespace is stripped, and multiple whitespace is collapsed to single
  • wrote some migration code for the legacy string templates to the new executable callable objects
  • cleaned up the whole 'open url/file' pipeline of all sorts of old cruft, and updated it to work on media results rather than media singles (part of a long-time cleanup job). similarly deleted a bunch of old code
  • wrote more safety code to inject and fall back to the 'open with default OS call' for 'open file/url' calls that have no options set up for whatever reason
  • fixed some edge case harmless errors when hitting 'open file/url' in the media viewer in the moment it is closing
  • all the open file/url calls now catch the new exceptions and report in nice info popup dialogs when things go wrong
  • fixed some tucked away 'open this url' menu entries (stuff like the regex help link) that were using the wrong 'launch url' call in last week's multi-browser-launch-options refactor
  • refactored some 'populate exe manager with defaults' code to share the same call
  • refactored the executable manager action calls out of the manager to their own file and moved some 'open url with default browser' calls in there too
  • refactored the 'open help docs here' to better tapdance around the new 'open url' pipeline
  • wrote up a slender gui-executable-actions wrapper module for all 'open url/file' commands so if there is error, there is always an UI context upon which to throw up an information error message dialog. there is better testing and error reporting when trying to open a non-local file externally