A comment …
Great stuff! The find:"[some_filter[on]]" I have been using today.
It is very useful!
TT
A comment …
Great stuff! The find:"[some_filter[on]]" I have been using today.
It is very useful!
TT
When the bookmarks and search popups are rendered, their content is determined by using [prefix<bookmarks_root>] (where <bookmarks_root> is hard-coded to $:/config/TiddlyTools/Bookmarks). So yes, they are “dynamically read by MiniBrowsers and you can safely move folders in and out”, simply by renaming them.
It even handles the case where you rename a bookmark folder that has children.
For example, on TiddlyTools.com I have the following bookmark tiddlers:
$:/config/TiddlyTools/Bookmarks
$:/config/TiddlyTools/Bookmarks/Music
$:/config/TiddlyTools/Bookmarks/TechTools
$:/config/TiddlyTools/Bookmarks/TiddlyWiki
$:/config/TiddlyTools/Bookmarks/TiddlyWiki/Examples
$:/config/TiddlyTools/Bookmarks/TiddlyWiki/Videos
Note that the “Tiddlywiki” folder contains 3 bookmarks, and has 2 child folders. When I view the bookmarks popup, it reports “TiddlyWiki (5)”. If I then rename $:/config/TiddlyTools/Bookmarks/TiddlyWiki to $:/ignore/TiddlyTools/Bookmarks/TiddlyWiki, the bookmarks popup then correctly shows “TiddlyWiki (2)”, because the child folders are still there. You can even still use the “edit folder” button to rename the missing “TiddlyWiki” folder, and it correctly renames the children without needing to actually have a “TiddlyWiki” parent folder!
-e
Hi @EricShulman
Is there a way that one can zoom in on the content of the iframe using the mouse wheel?
As a general rule, events that occur within the bounds of the rendered iframe are sent directly to the iframe. This includes mouse events like click, dblclick drag, and wheel. This is what allows you to interact with the iframe independent of the containing parent.
There are just a few exceptions:
ctrl-wheel (and keyboard ctrl-plus,ctrl-minus) zooms in/out of the entire parent contentNote: I have experimented with using a separate $range widget to control the iframe’s zoom CSS (which defaults to zoom:0.5) so it IS possible to implement an iframe “zoom in” feature… just not with the mouse wheel.
-e
Thanks for that explanation @EricShulman .
The reason for asking is that I looking at a site whose width is much less than the width of the iframe, hence the text is very small.
I can zoom into the browser window using the mouse wheel in Firefox but that is not ideal.
Anyway thanks for you help.
I’ve just updated TiddlyTools/Panels/Browser to add a $range widget to control the iframe’s zoom CSS. The initial (and minimum) zoom value is 0.5 (as it was before), and the zoom value increments by 0.25, with a maximum value of 5.
Note that, if you are viewing a site that automatically sets the input focus (such as TiddlyWiki.com, which sets the initial input focus to the sidebar search input control), then the minibrower’s zoom control will lose focus each time the zoom value changes (which triggers a redraw of the iframe contents). As a result, changing the zoom setting via keyboard input (i.e., arrow keys, pgup/pgdn, home/end) only works for a single keypress at a time. However, if the viewed site does NOT set the initial input focus, then keyboard input to the minibrowser’s zoom control works just fine.
enjoy,
-e
I’ve just made an Important update to TiddlyTools/Panels/Browser that affects embedded browser-in-browser usage:
Instead of using \import and a macro call with parameters:
\import TiddlyTools/Panels/Browser
<<showPanel width:"..." height:"..." find="..." etc>>
you should now use variables with transclusion, like this:
<$let width="..." height="..." find="..." etc>
{{TiddlyTools/Panels/Browser}}
This new syntax provides much greater flexibility for using computed values and also simplifies the internal <<showPanel>> macro code, which no longer needs to “unpack” macro parameters.
See TiddlyTools/Panels/Browser/Help for more info.
@TiddlyTitch … this will undoubtedly impact your current usage, but is relatively easy to apply… sorry for the inconvenience 
-e
No problem. Didn’t take long to convert.
There is a lot of new really good functionality!
I’ll comment when I have used it a bit more.
TT
@EricShulman, I have a few comments on the great expansion of functions!
A couple on the new docs.
And one problem.
I’ll start with the problem to get it out of the way.
Q10: Does the tool support Local Addressing?
Background: In past I used iframes fine in TW to load Local files. Here is a snip of address starts I’d hoped to use in the miniBrowser …
Unfortunately they don’t seem to work.
Hope this isn’t a big issue!
TT
Just a comment
Definitely makes bespoke stuff easier to construct. For instance, I created a miniBrowser just for editing v. long URL’s …
… using …
<$let width="100%" height="calc(100dvh - 3em)" name="bmk-edit" folders="$:/config/TiddlyTools/Bookmarks" find="" zoom="1">
<span class="tt-br-title"><small>//''Bookmarks Edit''// --- </small>`$:/config/TiddlyTools/Bookmarks` </span>
<span class="tt-bmk-edit">{{TiddlyTools/Panels/Browser}}</span>
</$let>
<style>
/* enable display: empty */
.tt-bmk-edit .tc-droppable {display:none;}
etc ...
TT
It was a one-line change.
This line in setURL():
<$let url={{{ [<url>!prefix[http]addprefix[https://]] ~[<url>] }}}>
is now:
<$let url={{{ [<url>!regexp[^(http|\./|\.\./|file:)]addprefix[https://]] ~[<url>] }}}>
-e
Note that, when using variables to customize the TiddlyTools Browser, you only need to specify the non-default values. Thus, the following would have been sufficient:
<$let height="calc(100dvh - 3em)" name="bmk-edit" zoom="1">
...
-e