Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Anwendung lösst sich unter MacOS Sonoma (14.0) nicht mehr bedienen #78

Closed
SavouryMonkey opened this issue Sep 21, 2023 · 10 comments
Closed

Comments

@SavouryMonkey
Copy link

Hallo zusammen, leider musst ich nach dem Update feststellen, dass sich die Anwenung nicht mehr wie gewohnt bedienen lässt.
Ausklappmenüs gehen nicht mehr, buttonklicks brauchen 3-4 schnelle klicks bis sie gehen, etc.

Grüße und weiter so!

@Steffenhir
Copy link
Owner

Hallo, meinst du mit dem Update den Umstieg auf eine macos Beta oder eine neue GraXpert Version? Bei Problemen mit der neuen macos Beta können wir leider erstmal nichts machen.

@SavouryMonkey
Copy link
Author

SavouryMonkey commented Sep 21, 2023

@Steffenhir Seit dem umstieg auf eine neue MacOS Version, 14.0 - Sonoma 14.0 (23A344). Korrekt. Es handelt sich jedoch nicht mehr um die Beta sondern die GM welche am 26.09. für alle Anwender zur Verfügung steht. Folglich hielt ich es für Klug den Fehler im Vorfeld mal zu melden. Ich konnte es nur auf M1 als auch M2 testen, auf beiden meiner Systeme bestehen die angesprochenen Probleme.

Grüße.

@Steffenhir
Copy link
Owner

Danke für den Hinweis! Ich befürchte, dass wir da erstmal nicht viel dagegen tun können, wenn das Problem auf Seiten von Tkinter oder macOS liegt. Es wäre schön wenn du beim finalen Release von macOS 14 nochmal ein Update geben könntest, ob es sich verbessert hat.

@michael-ring
Copy link
Contributor

Erst mal vielen Dank für das Tool, es ist einfach genial....

Leider bestehrt auch in der Release Version das Problem, die App ist nicht mehr bedienbar.

Ich habe ein anderes Issue aufgemacht denn dank AI könnte im Moment helfen das man die App von Commandline aus bedienen kann um die Zeit zu überleben bis das Tkinter angepasst ist...

Michael

@michael-ring
Copy link
Contributor

Ich muss mich verbessern, irgendwann fangen die Buttons an zu funktionieren, es fühlt sich so an als ob das ganze mit dem Focus Handling zu tun hat.

Wenn ich auf den Zahlenwert bei Saturation clicke und dann ggf. auf die Werte bei Points per Row oder Grid tolerance dann sehe ich irgendwann das ich einen Input Focus habe...

Danach kann ich dann mit der Tastatur Aktionen auswählen, ist aber nicht einfach da man auf den Buttons nicht sieht wo der Input Focus gerade ist.

Was einigermassen gut funktioniert ist das file über commandline zu laden, AI einzustellen und dann das Bild zu berechnen. Man muss halt mitzählen wie oft man TAB oder Shift-TAB drücken muss um auf dem richtigen Button zu sein.

@michael-ring
Copy link
Contributor

Hier ein absoluter Minimal Fix für den AI Branch, mit Keyboard Shortcuts kann man arbeiten, zusätzlich noch etwas code um graxpert als Modul nutzen zu können.

Command-L lädt ein File
Command-C berechnet den Background
Command-S speichert das Ergebnis.

Ich habe 0,0% Ahnung von tkinter und mir ist daher unklar wieso ich noch ein dummy Argument für calculate und safe_image einführen musste, ohne die gab es diesen Fehler:

Exception in Tkinter callback
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/tkinter/__init__.py", line 1921, in __call__
    return self.func(*args)
TypeError: Application.calculate() takes 1 positional argument but 2 were given
Exception in Tkinter callback 
diff --git a/graxpert/gui.py b/graxpert/gui.py
index c011376..2863561 100644
--- a/graxpert/gui.py
+++ b/graxpert/gui.py
@@ -2,6 +2,10 @@ import multiprocessing

 multiprocessing.freeze_support()

+import sys
+from os.path import dirname
+sys.path.append(dirname(dirname(__file__)))
+
 from graxpert.mp_logging import configure_logging, initialize_logging, shutdown_logging

 configure_logging()
@@ -157,7 +161,9 @@ class Application(tk.Frame):
         self.master.bind("<Control-y>", self.redo)                     # redo
         self.master.bind("<Command-z>", self.undo)                     # undo on macs
         self.master.bind("<Command-y>", self.redo)                     # redo on macs
-
+        self.master.bind("<Command-l>", self.menu_open_clicked)        # load
+        self.master.bind("<Command-c>", self.calculate)                # calculate
+        self.master.bind("<Command-s>", self.save_image)               # save

         #Side menu
         heading_font = "Verdana 11 bold"
@@ -503,7 +509,7 @@ class Application(tk.Frame):
         self.redraw_image()


-    def save_image(self):
+    def save_image(self,dummy):


        if(self.saveas_type.get() == "16 bit Tiff" or self.saveas_type.get() == "32 bit Tiff"):
@@ -625,7 +631,7 @@ class Application(tk.Frame):
             self.cmd.execute()
             self.redraw_image()

-    def calculate(self):
+    def calculate(self, dummy):

         if self.images["Original"] is None:
             messagebox.showerror("Error", _("Please load your picture first."))

@Steffenhir
Copy link
Owner

Vielen Dank! Wir werden die Shortcuts mit aufnehmen in die nächste Version

@michael-ring
Copy link
Contributor

Danke!

@Steffenhir
Copy link
Owner

Steffenhir commented Oct 6, 2023

@michael-ring @SavouryMonkey Könntet ihr mal testen, ob die arm64 Version bei Release v1.0.6cAI funktioniert. Ich habe tcl-tk auf 8.6.13 geupdatet, das sollte das Problem beheben. Siehe z.B. python/cpython#110218

@SavouryMonkey
Copy link
Author

@Steffenhir Jawoll, jetzt geht's wieder! Danke!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants