I use Keyboard Maestro to create keyboard shortcuts that open windows on certain often-used DEVONthink groups as I switch between projects day in and day out. I use global Smart Groups for a couple of important groups because it is the only way to retain custom column arrangements (because of reasons discussed in a past posting). Unfortunately, it is currently (in version 3.7.2) not possible to use
open window for record ... with force with the UUID of a global Smart Group, for the reason described in another posting. This means I can’t use the following AppleScript code to open a new window on the desired Smart Group:
tell application id "DNtp"
set newWindow to open window for record ¬
(get record with uuid "91D5F058-C18E-4D1A-BB95-B63BF5868598") ¬
Other methods, such as doing an open on the item link of the smart group, only end up switching to an existing open window on the smart group, which is a PITA when you are using multiple spaces in macOS – it causes your entire view to switch to another space, but not open a new window in DEVONthink.
So, has anyone found a way to (1) always open a new window (2) on a smart group (3) in the current macOS desktop (4) regardless of whether there is a window open on that smart group anywhere?
I’m seeing no issue opening an item link for a global smart group in a new window in the current space, provided DEVONthink isn’t assigned to any particular space. I don’t use KM so I’m using a gesture in BTT (which I also don’t really use ).
Can you bind a keyboard shortcut to open a window on a specific global smart group such that it always opens a new window, even if you have another window already viewing that group?
Ahh… I didn’t read you have an instance already open. In that case, the method I’m using also switches to the existing window.’
Why do you keep reopening the same window? Why not close it when you’re done? Just curious as I always close the window after I’m done or I’m working in the same space.
Background: I normally use 6–8 macOS virtual desktops on a desktop iMac with multiple physical monitors, which I leave running day-to-day, with different desktops containing different combinations of application windows related to different projects. I switch between projects multiple times per day (⟹ switching between virtual desktops). I have DEVONthink windows open in pretty much all virtual desktops. It is important to be able to leave most application windows where they were, because that provides (for my brain) context and state information and saves time when I switch projects.
Here is a situation that happens often. One of my DEVONthink groups is an indexed group of 1000’s of academic papers. The attributes I want to see in the group (⟹ the columns in the list view) are different from the ones I use in most other list windows. In several projects, I need a one or more windows open on this group. Now while working, I may suddenly need to look for something else in the group. I don’t want to close or reuse an existing window on the group because those windows have crucial context – it helps me remember what I was doing before. That’s when I want to open a new window in the current desktop.
The reason for using a global smart group rests purely in the fact that the column layouts of global smart groups are independent of those of databases. Two things that could solve my current problem:
- if there was a better way to retain columns, then I could use non-global smart groups
- if global smart groups could be referenced by UUID or some other way so that the
open window AppleScript command would operate on them
I realize other people may work quite differently, but this is what I’ve gravitated towards doing, after years of doing things in various other ways.
Thanks for the clarification and yes, you’re definitely doing something very custom to your situation and way of thinking.