Introducing Virtual Directories
Virtual Directories are a comfortable way to sort specific files from directories manually into a specific directory without having to move them from their original location. This way, you can now easily—for instance—keep all files you are currently working on in one place without having to search for them. Virtual Directories are not present on disk (they are saved in the respective directory as a so-called dot-file), thereby minimising the clutter while easing your work.
You can create virtual directories by right-clicking a directory, then choose the respective option. Give your virtual directory a name (the same rules for names apply as do for normal directories) and you can begin dragging files onto it. You can remove files from the directory by right-clicking them in their virtual directory (not in the real location!) and choosing the respective option. You can rename and delete virtual directories just as you would normal directories. In your preview list, files in virtual directories will be displayed with a slight purple colour to indicate that they are not actually present in them, but reside in a different location.
Limitations of virtual directories
Virtual directories have some limitations you should take notice of:
- They are bound to the directory in which you create them, meaning you won't be able to drag them around like other directories.
- You can only put files from the containing directory into them (i.e. if you have a directory A, and create a virtual directory in directory A, you will only be able to drag files onto the virtual directory that reside somewhere inside directory A)
- You can remove files normally from virtual directories and rename them, which will remove/change them from both their real directory and all virtual directories they are in.
Other changes include a bunch of bugfixes, better translations and some fixes in the UI design of the app. See, as always, the full changelog below:
GUI and functionality
- Introducing Virtual Directories. Now it is possible to add "ghost" directories to your directories that act as a subset of these directories. They are not actually present on disk (but are persistent with a so-called dot-file named
.ztr-virtual-directory) and therefore can be used to create collections of files by manually adding files to them. You can only add files to these virtual directories that are present in the containing directory. Also, you cannot move them because they are bound to their parent directories.
- Fixed a bug that threw an error every time you tried to delete a directory with no file open currently.
- Fixes to the inline commands. Now, when you press
Cmd/Ctrl+Ba second time after you finished writing your strong/emphasised text, Zettlr will actually "exit" the bold/italic markings and not try to insert them a second time. (Note that it will still insert the end-markings if the characters directly after the current cursor position are not the end-markings).
- Fixed a bug that threw errors if you were to rename a non-opened file.
- Fixed a bug that threw errors if you were to rename a directory, while none was selected.
- Prevent arbitrary selection in the app to make it feel even more native.
- Huge performance boost on selecting directories and files.
- Translated remotely triggered file- and directory-events.
- Finally fixed the bug that the end-search button disappeared and the input field went in disarray when the window size was too small.
- Re-introduced feature that Zettlr asks the user to replace the current editor content, if the current file has been changed remotely.
- Now, if the current file is removed remotely, Zettlr automatically closes the file in the editor as well.
- On updates, the download URL to GitHub now opens on the system's browser.
Under the hood
- Removed an excess
indentlistplugin directly in Zettlr core.
- Continued work on virtual directories.
- Small changes to
- Small changes to the markdown shortcut plugin.
- Fixed a small error in
- Removed a huge bottleneck in the directory selection logic (now the Zettlr main process will not send the complete
ZettlrDir-object to the renderer, but just the hash, because the renderer has a full copy of the objects in memory).
- Removed the same, big bottleneck in the file selection logic.
- Updated all dependencies to their latest version. Thereby we've switched to Electron 2.0.3.