guillaumechereau / goxel

Goxel: Free and Open Source 3D Voxel Editor
GNU General Public License v3.0
2.82k stars 225 forks source link

File Dialogues not Appearing #377

Closed 420noscope-exe closed 3 months ago

420noscope-exe commented 4 months ago

Using release 0.15.0 on Manjaro GNOME 6.6.34-1, I do not have the ability to save, save as, or export. Clicking any of these does not bring up a window to name and save the file. The only options that work under the File menu, are New and Quit. ctrl+s does not work either.

guillaumechereau commented 4 months ago

Hum this is probably a bug in tinyfiledialog (https://sourceforge.net/projects/tinyfiledialogs/)

Do you have a way to test tinyfiledialog on your machine by any chance?

420noscope-exe commented 4 months ago

I just changed directory to the AppImage in terminal and executed it with ./goxel to see what was going on. This is the only way I could think of to test, as I don't develop with that library:


Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
0.000: Register script FillRandom                                   js_goxel_registerScript (src/script.c:617)
0.000: Register script Dilate                                       js_goxel_registerScript (src/script.c:617)
0.000: Loading scripts from /home/pasquale/.config/goxel/scripts
   on_dir (src/script.c:805)
0.003: Cannot open /home/pasquale/.config/goxel/recent-files.txt: No such file or directory goxel_load_recent_files (src/goxel.c:413)
0.006: Read settings file: /home/pasquale/.config/goxel/settings.ini settings_load (src/gui/settings.c:131)

Then I tried using "Save as", and got:

missing software! (we will try basic console input)

 ___________
/           \ 
| tiny file |
|  dialogs  |
\_____  ____/
      \|
tiny file dialogs on UNIX needs:
   applescript or kdialog or yad or Xdialog
or zenity (or matedialog or shellementary or qarma)
or python (2 or 3) + tkinter + python-dbus (optional)
or dialog (opens console if needed) ** Disabled by default **
or xterm + bash (opens console for basic input)
or existing console for basic input.

press enter to continue 

I was able to save a file using the terminal, I am unsure if it actually contains anything or if it is readable as I didn't draw anything this time with the brushes:


Save

Save file in /home/pasquale/Applications
(esc+enter to cancel): 
test

299.421: Save to test                                                 save_to_file (src/formats/gox.c:259)
299.431: Saved test                                                   sys_on_saved (src/system.c:306)

EDIT: It does appear to save correctly this way, and is technically usable, but everything must be saved to the Applications folder.

420noscope-exe commented 4 months ago

I ended up installing kdialog, seems like it didn't break any dependencies on my system, I did have to install a lot of KDE dependencies. Now the "Open" dialog pops up and seems to work, goxel however is always falsely marked as unresponsive by the system. Once I close the dialog, I can click wait and use Goxel normally.

image

guillaumechereau commented 4 months ago

OK, that is not optimal yes. I wonder if I should use a custom file browser instead directly inside the app for saving (at least on linux) so that we dont have to rely on external tools.

420noscope-exe commented 4 months ago

I actually really liked the dialog you had before 0.14.0 on linux. It didn't remember the last folder location for each dialog (open,save as, import, export, etc), however it worked pretty well after fixing #326. I primarily use GNOME, it's been harder to stick with it lately as almost everyone prefers KDE/Plasma or XFCE.

guillaumechereau commented 4 months ago

Agreed. For 0.15.0 I switched to tinyfiledialog but in insight this was a mistake. Not because of tinyfiledialog itself but because it relies on having the right program installed on the machine, and those can have issues (my current version zenity has a bug that prevents from setting the default save directory).

the thing that I didn’t like with previous gtk version is that it made the AppImage unnecessarily big because I had to bundle all of gtk inside.

What I am trying for the next release is to use nativefiledialog-extended that should support gtk or dbus. For the AppImage I will default to sbus that shouldn’t take much space.

Can you try the last AppImage on your machine see if it works well?

On Thu, Jul 18, 2024 at 3:48 AM Pasquale Popolizio @.***> wrote:

I actually really liked the dialog you had before 0.14.0 on linux. It didn't remember the last folder location for each dialog (open,save as, import, export, etc), however it worked pretty well after fixing #326 https://github.com/guillaumechereau/goxel/issues/326. I primarily use GNOME, it's been harder to stick with it lately as almost everyone prefers KDE/Plasma or XFCE.

— Reply to this email directly, view it on GitHub https://github.com/guillaumechereau/goxel/issues/377#issuecomment-2234117107, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAA2JH5KWNYWTCQURS2PNCLZM3C7HAVCNFSM6AAAAABK2RDI5CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMZUGEYTOMJQG4 . You are receiving this because you commented.Message ID: @.***>

420noscope-exe commented 3 months ago

I just tested the AppImage from ci #399. Seems to work well on my machine. Remembers the last folder, but still becomes unresponsive while the new dialog is open.

However, I will be doing more testing as I am currently using Goxel to make models for my portfolio game, and I need another batch of models.

Edit: I was able to make a model, save, and export it. I only had one minor issue where after copying a selection to a new layer, I was unable to edit either layer, so I just saved and restarted Goxel (will try to reproduce for separate issue). I love the new select tool, it is very responsive, although you can no longer resize the box, and I'm not sure what the set, add, and sub buttons do even after pressing them, nothing happens (unrelated). The gltf export is awesome now as my model is not cut into pieces, unless I purposefully put them in separate layers. Works very well as is. I'll make separate issues if I see anything weird.

Screenshot from 2024-07-18 22-35-51 Screenshot from 2024-07-18 22-35-06