How to move documents with the keyboard?

Maybe that's not possible, in any case I don't know how to do it.

Many apps have lists of documents. The focus can be changed with the arrow keys (up/down). Quite normal, as everyone knows it.

image

I would like to to move a document up or down with ⌘+arrow keys.

What I have achieved is:

  • Move the mouse to the selected/highlighted document
  • Left click and hold

Now the document can be moved to another position with the mouse. For example, move Doc C above Doc A. But how do I do this with the keyboard?

1 Like

I think there is no good generic way to do this. For specific apps it might be possible to define an action sequence with the "Find Image & Move Mouse" action combined with some mouse move & drag actions, but it would need to be configured per app.

Ok, thank you. This works (in a specific app) to move a document one line up with ⌘+ Arrow up. I assume you meant something like this.

But my problem is the image recognition. At the moment BTT searches and finds the icon on a blue background

image

Unfortunately there are many different icons. I need the generic blue background for reference. But BTT can't find it, even though it is very prominent. Do you know why? Thanks :slightly_smiling_face:

Best include the rounded edges of the blue rectangle in the image to search for, the algorithm might have a hard time finding a single color image. (I will give multiple algorithm options in one of the next versions, they all have different advantages/disadvantages). Currently BTT uses CV_TM_CCOEFF_NORMED OpenCV: Template Matching

You mean like this?

image

yes, that way the algorithm has some "features" to look for

1 Like

Nice, it works quite quickly and reliably. At the moment there are these options to narrow down the search. Wouldn't "only in focused window" also be useful?

image

Maybe like this

While the mouse button is pressed (left-click), the arrow keys do not move the selection (the selected document). Only when the mouse is released the selection jump to the document.

This is a pity. Is there anything you can do about that? :innocent:

I think I might not understand, but if this is the standard behavior of the app it might be impossible to change ;-( maybe they have some reason for disallowing shortcuts while dragging

Deutsch ist einfacher :slightly_smiling_face: Es scheint das Standardverhalten von macos zu sein. Im Finder etwa kann mit den Pfeiltasten ein Dokument nach oben oder unten navigiert werden ... aber nicht wenn die linke Maustaste (Trackpad) gedrückt ist. :man_shrugging:

ahja ich erinnere mich, das hat etwas mit der event loop zu tun die im Prinzip blockiert wird sobald ein Drag startet. Ich glaube da gibt es keinen Weg drum rum ;-(

Verstehe, war ein Versuch wert :slight_smile:

Mm, das Makro unten funktioniert perfekt. Aber nur mit den zwei Pause von 0.01 s ... ähh, das ist ja kaum möglich, das so kurze Pause über funktionieren oder nicht entscheiden. Oder doch?

oft reicht es macOS Zeit für das Event Processing zu geben, dafür reichen 10ms tatsächlich oft aus :wink: (wenn du in BTT 0.01s konfigurierst wird es allerdings aus technischen Gründen eh nicht genau 0.01s sein, sondern meist minimal mehr)

1 Like

Hast du dir die Finder-Erweiterungen angeschaut wie wie Forklift, Path Finder? Path Finder ist ja ein komplett neuer Finder.

Mit der Bilderkennung mache ich leider keine so zuverlässigen Erfahrungen: beim 1. Einrichten klappt es problemlos und wenig später wird dasselbe Bild ohne jegliche Änderung nicht mehr erkannt, leider.

Hi Johannes, ich brauche das für Devonthink. Andere Apps haben Drag&Drop mit der Tastatur zum Glück "von Haus aus" schon eingebaut. Ja, Bilderkennung sollte man wohl nur einsetzten, wenn nichts anderes möglich ist. Wie in diesem Fall. Bis jetzt funktioniert das gut. Mal sehen, wie lange das hält :slight_smile:

Generell ist die Bilderkennung eigentlich dank OpenCV ziemlich stabil, man sollte nur auf 2-3 Dinge achten:

  • möglichst kleine Bereiche mit trotzdem möglichst vielen "Features" (Ecken/Kanten/Ränder/kontraste) verwenden. Wenn an der gewünschten Stelle soetwas nicht existiert kann man es noch mit einer "Move Mouse To Position" Aktion kombinieren die den Mauscursor nochmal etwas verschiebt
  • Das Bild am besten mit dem "Choose Area Of Screen" Button in BTT aufnehmen
  • Falls falsche Bereiche erkannt werden, den Treshold Schieberegler in kleinen Schritten nach oben schieben

Diese Lösung scheint nicht zuerst nach den ersten Bild und dann (falls nicht gefunden) nach dem zweiten zu suchen. Ist hier der Dunkelmodus Voraussetzung?

In meinem Fall ändert das Aussehen, je nachdem ob das Bild (Dokument) angewählt ist oder eben nicht. Wäre toll, gäbe es eine Reihenfolge in der Suche.

Edit: Sollte nicht auch so etwas möglich sein? Aber etwas ist hier falsch. Es funktioniert nämlich nicht :joy:

Hier hast du gleich im ersten Schritt ja gar keine Bedingung konfiguriert, oder übersehe ich etwas?

Du kannst aber diese Option hier aktivieren, in diesem Fall wird die zweite Aktion auch ausgeführt wenn das Bild in der ersten nicht gefunden wurde - so kannst du einfach zwei hintereinander schalten.

1 Like

Ok, danke, Andreas. Mm, ich überlege irgendwie anders. Wahrscheinlich nicht wie ein Programmierer :joy:

Die Option lautet: "Mit der nächsten Aktion fortfahren, auch wenn das Bild nicht gefunden wurde".

... gerade weil das erste Bild nicht gefunden wurde, soll nach dem zweiten gesucht werden. Aber falls das erste Bild gefunden wurde, soll die Suche gestoppt werden.

Das war auch die Idee meines langen Makros. Zuerst wird das blaue Bild gesucht. Wird es gefunden, stoppt alles. Nur wenn es nicht gefunden wird, sucht BTT nach den zweiten, grauen Bild ... offensichtlich nicht :thinking:

Standardmäßig führt die Aktion die folgenden Aktionen nur aus wenn das Bild gefunden wird (da sonst ja z.B. Klicks an falschen Stellen passieren könnten wenn eine Klickaktion nachfolgt), daher die Option dieses Standardverhalten abzuschalten und trotzdem weiterzumachen für solche Situationen wo man es nochmal mit einem anderen Bild probieren will :slight_smile: .

Eine Wenn Bedingung kannst du schon verwenden, aber dazu musst du explizit die "Wenn Bild Auf Bildschirm Sichtbar (Bedingung)" verwenden