raguay / ModalFileManager

A file manager built using Svelte and Wails. It has hotkeys that are modal just like Vim and NeoVim.
MIT License
114 stars 9 forks source link

Some issues with building/running mfm 1.3.2 on Win and Mac #24

Closed valentin-huber closed 3 months ago

valentin-huber commented 3 months ago

Hello Richard, Thanks for writing the modal file manager and providing it here on Github!

I tried building and running it on a Windows machine and I encountered some small issues. Any help would be highly appreciated. I am completely new to wails.

I cloned the repo with git clone --depth 1 --branch v1.3.2 https://github.com/raguay/ModalFileManager.git.

See below for the wails doctor output, if that's of interest.

wails build failed since it could not find the file build/appicon.pgn. The following adjustment in the main.go fixed that:

image

When running mfm, I encountered some UI issues:

image

The directory listing has a too small height. When double clicking on it, the directory input field appears fine.

I fixed this somewhat by adjusting the DirectoryListing.svelte like this:

image

The horiztonal scroll bars are still a bit confusing. Another thing is that only the left pane shows a vertical scroll bar, but the right-hand pane does not.

When tinkering with the sources I noticed that wails dev seems to not auto-reload the changes but I had to stop and re-run the command, which is inconvenient. Does this work on Mac? Are you aware of some way to also include the UI sources in the hot reloading?

Kind regards, Valentin

wails doctor output:

# Wails
Version | v2.9.1

# System
┌─────────────────────────────────────────────────────────────────────────────────────────┐
| OS           | Windows 10 Pro                                                           |
| Version      | 2009 (Build: 22631)                                                      |
| ID           | 23H2                                                                     |
| Go Version   | go1.22.5                                                                 |
| Platform     | windows                                                                  |
| Architecture | amd64                                                                    |
| CPU          | 11th Gen Intel(R) Core(TM) i5-11300H @ 3.10GHz                           |
| GPU          | Intel(R) Iris(R) Xe Graphics (Intel Corporation) - Driver: 31.0.101.4502 |
| Memory       | 16GB                                                                     |
└─────────────────────────────────────────────────────────────────────────────────────────┘

# Dependencies
┌────────────────────────────────────────────────────────┐
| Dependency | Package Name | Status    | Version        |
| WebView2   | N/A          | Installed | 126.0.2592.113 |
| Nodejs     | N/A          | Installed | 22.5.1         |
| npm        | N/A          | Installed | 10.8.2         |
| *upx       | N/A          | Available |                |
| *nsis      | N/A          | Available |                |
└─────────────── * - Optional Dependency ────────────────┘
raguay commented 3 months ago

Hi,

I've never built it on Windows because I don't have a Windows system. There should be several issues because I have hard coded some directory locations for the Mac. I really need to go through it and make it more generic and usable for Windows type os. It currently works fine on MacOS and Linux systems since their OSes are similar.

The issues with the sources are due to using Svelte for the frontend. It compiles the files to JavaScript and the compiled files is what is used in the browser window. The dev mode sometimes hot reload works and sometimes it doesn't. Not sure why, but I just restart it to make sure it works. When the hot reload does work, it doesn't reload the UI properly. There again, it's an issue using Svelte. I used Svelte for the smaller compiled size and speed.

I have no idea why the UI would be so messed up. It should still work the same in any OS due to being web technologies. It might be glitchy because the theme files aren't loading properly due to the OS differences. If I have time, I'll look into it.

So far, you seem to be the only other person trying to use it. I've had zero feedback on how it works on other systems.

Richard

On Sun, Jul 28, 2024 at 3:47 PM Valentin Huber @.***> wrote:

Hello Richard, Thanks for writing the modal file manager and providing it here on Github!

I tried building and running it on a Windows machine and I encountered some small issues. Any help would be highly appreciated. I am completely new to wails.

I cloned the repo with git clone --depth 1 --branch v1.3.2 https://github.com/raguay/ModalFileManager.git.

See below for the wails doctor output, if that's of interest.

wails build failed since it could not find the file build/appicon.pgn. The following adjustment in the main.go fixed that:

image.png (view on web) https://github.com/user-attachments/assets/6f23c764-5dfc-4765-a471-1da99c0d091f

When running mfm, I encountered some UI issues:

image.png (view on web) https://github.com/user-attachments/assets/24243cdd-e9e7-44e3-875e-479824002e85

The directory listing has a too small height. When double clicking on it, the directory input field appears fine.

I fixed this somewhat by adjusting the DirectoryListing.svelte like this:

image.png (view on web) https://github.com/user-attachments/assets/8796a003-e680-4b32-b1ba-4cbee8a6eef4

The horiztonal scroll bars are still a bit confusing. Another thing is that only the left pane shows a vertical scroll bar, but the right-hand pane does not.

When tinkering with the sources I noticed that wails dev seems to not auto-reload the changes but I had to stop and re-run the command, which is inconvenient. Does this work on Mac? Are you aware of some way to also include the UI sources in the hot reloading?

Kind regards, Valentin

wails doctor output:

Wails

Version | v2.9.1

System

┌─────────────────────────────────────────────────────────────────────────────────────────┐ | OS | Windows 10 Pro | | Version | 2009 (Build: 22631) | | ID | 23H2 | | Go Version | go1.22.5 | | Platform | windows | | Architecture | amd64 | | CPU | 11th Gen Intel(R) Core(TM) i5-11300H @ 3.10GHz | | GPU | Intel(R) Iris(R) Xe Graphics (Intel Corporation) - Driver: 31.0.101.4502 | | Memory | 16GB | └─────────────────────────────────────────────────────────────────────────────────────────┘

Dependencies

┌────────────────────────────────────────────────────────┐ | Dependency | Package Name | Status | Version | | WebView2 | N/A | Installed | 126.0.2592.113 | | Nodejs | N/A | Installed | 22.5.1 | | npm | N/A | Installed | 10.8.2 | | upx | N/A | Available | | | nsis | N/A | Available | | └─────────────── * - Optional Dependency ────────────────┘

— Reply to this email directly, view it on GitHub https://github.com/raguay/ModalFileManager/issues/24, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAS7JRZXJYRS3WNFQULBJU3ZOSVZVAVCNFSM6AAAAABLSTSXY6VHI2DSMVQWIX3LMV43ASLTON2WKOZSGQZTGOBSGM4TMNI . You are receiving this because you are subscribed to this thread.Message ID: @.***>

valentin-huber commented 3 months ago

Hi,

Thanks for checking this. Just for comparison I did the same on a Mac and I encountered the same issues:

I changed the title of this issue as it does not seem to be related to building on Windows, but rather maybe due to using a newer wails version or something.

When building and running on a Mac:

image

image

raguay commented 3 months ago

Hi,

As mentioned in the README.md file, you have to have an external program called https://github.com/andreafrancia/trash-cli installed on your computer to move things to the trashcan. You can set the preferences to using a simple delete (like the command line rm command), but you will not have the trashcan backup. I just updated all the libraries and re-committed the repository. Recompiling for me works fine and the program looks good on my system. I'm not sure why it doesn't on yours. You could check to see if the configuration files are in place, ie: ~/.config/modalfilemanager. That directory should have files like:

 Stacks  keyMaps  themes  cmdhist.json  history.json  regexps.json  theme.json  extensions  scripts  alfred.json  config.json  projectmanager.json  templates.json

This is a copy of my config directory using ls.

Also, I use the maskfile.md script for building the program. In it, you can see the sets I take to build it. That way you don't have to change paths to get to the proper png file.

I'll keep trying to duplicate your issue.

Richard

On Tue, Jul 30, 2024 at 1:51 PM Valentin Huber @.***> wrote:

Hi,

Thanks for checking this. Just for comparison I did the same on a Mac and I encountered the same issues:

  • building only works after adjusting the path to the png
  • after starting same issues with the smallish directory listing
  • the x command for deletion/moving to trash does not work

I changed the title of this issue as it does not seem to be related to building on Windows, but rather maybe due to using a newer wails version or something.

When building and running on a Mac:

image.png (view on web) https://github.com/user-attachments/assets/0a5a528c-db25-4674-9fe1-cb006d1df3f4

image.png (view on web) https://github.com/user-attachments/assets/07894baa-c4c5-4a74-9041-c77b99dc04d7

— Reply to this email directly, view it on GitHub https://github.com/raguay/ModalFileManager/issues/24#issuecomment-2258997891, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAS7JR3OWTOM5JR2HJSSSYTZO7OEBAVCNFSM6AAAAABLSTSXY6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJYHE4TOOBZGE . You are receiving this because you commented.Message ID: @.***>

raguay commented 3 months ago

BTW: My wails doctor output is:

Wails

Version | v2.9.1

System

┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ OS MacOS
Version 14.6
ID 23G80
Go Version go1.22.4
Platform darwin
Architecture arm64
CPU Apple M1
GPU Chipset Model: Apple M1 Type: GPU Bus: Built-In Total
Number of Cores: 8 Vendor: Apple (0x106b) Metal Support: Metal 3
Memory 16GB

└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Dependencies

┌──────────────────────────────────────────────────────────────────────┐ | Dependency | Package Name | Status | Version | | Xcode command line tools | N/A | Installed | 2408 | | Nodejs | N/A | Installed | 22.5.1 | | npm | N/A | Installed | 10.8.2 | | Xcode | N/A | Installed | 15.4 (15F31d) | | upx | N/A | Available | | | nsis | N/A | Installed | v3.10 | └────────────────────── - Optional Dependency ───────────────────────┘

On Wed, Jul 31, 2024 at 11:28 PM Richard Guay @.***> wrote:

Hi,

As mentioned in the README.md file, you have to have an external program called https://github.com/andreafrancia/trash-cli installed on your computer to move things to the trashcan. You can set the preferences to using a simple delete (like the command line rm command), but you will not have the trashcan backup. I just updated all the libraries and re-committed the repository. Recompiling for me works fine and the program looks good on my system. I'm not sure why it doesn't on yours. You could check to see if the configuration files are in place, ie: ~/.config/modalfilemanager. That directory should have files like:

 Stacks  keyMaps  themes  cmdhist.json  history.json  regexps.json  theme.json  extensions  scripts  alfred.json  config.json  projectmanager.json  templates.json

This is a copy of my config directory using ls.

Also, I use the maskfile.md script for building the program. In it, you can see the sets I take to build it. That way you don't have to change paths to get to the proper png file.

I'll keep trying to duplicate your issue.

Richard

On Tue, Jul 30, 2024 at 1:51 PM Valentin Huber @.***> wrote:

Hi,

Thanks for checking this. Just for comparison I did the same on a Mac and I encountered the same issues:

  • building only works after adjusting the path to the png
  • after starting same issues with the smallish directory listing
  • the x command for deletion/moving to trash does not work

I changed the title of this issue as it does not seem to be related to building on Windows, but rather maybe due to using a newer wails version or something.

When building and running on a Mac:

image.png (view on web) < https://github.com/user-attachments/assets/0a5a528c-db25-4674-9fe1-cb006d1df3f4>

image.png (view on web) < https://github.com/user-attachments/assets/07894baa-c4c5-4a74-9041-c77b99dc04d7>

— Reply to this email directly, view it on GitHub < https://github.com/raguay/ModalFileManager/issues/24#issuecomment-2258997891>,

or unsubscribe < https://github.com/notifications/unsubscribe-auth/AAS7JR3OWTOM5JR2HJSSSYTZO7OEBAVCNFSM6AAAAABLSTSXY6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJYHE4TOOBZGE>

. You are receiving this because you commented.Message ID: @.***>

— Reply to this email directly, view it on GitHub https://github.com/raguay/ModalFileManager/issues/24#issuecomment-2261997267, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAS7JR6NQHE3A4HMQ3AGCO3ZPG2PDAVCNFSM6AAAAABLSTSXY6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRRHE4TOMRWG4 . You are receiving this because you are subscribed to this thread.Message ID: @.***>

raguay commented 3 months ago

I've wiped my system of mfm and recompiled and launched it. It sets up the config directory just fine and looks great. I'm assuming your macOS system is Intel based and has something to do with a different browser frontend than the M1 based systems. I'll look into that when I get some time.

raguay commented 3 months ago

Actually, I just pushed a quick change to turn off overflow on those two div elements. You now can't scroll with the mouse, but all the keyboard commands still work to move around. That should theoretically fix your UI issue. Let me know your milage and I'll try to figure out a better approach.

valentin-huber commented 3 months ago

Hi, thanks, the UI issue is gone now. After double clicking on the DirList, the input field seems to have a limited width, but it is usable.

You could consider mentioning https://github.com/jacobdeichert/mask in the installation section.

Regarding the deletion: After changing "useTrash" to false in the config.json, deletion also works on Windows.

  1. You might consider setting this to false for the default config on Windows, since trash won't work on Win. As an alternative or additionally a config option for defining the command to execute for moving to the trash could make sense (seems like win does not support that well, so users need to set something up like described here).
  2. I was a bit surprised that I didn't see an error in the console when trying to "trash" on win. Adding a call to LogError like
    //
    // Run the command line.
    //
    let result = await App.RunCommandLine(cmd, args, penv, dir);
    let err = await App.GetError();
    if (err !== null) {
      window.runtime.LogError(`Error when executing command ${cmd}(${args})`);
    }

in OS.js could make sense.

  1. You could also consider linking the section "Command Line Programs Used" from the installation section.

Thanks for responding so swiftly to my questions! I close this issue.

raguay commented 3 months ago

Hi,

Thanks for the feedback.

I actually thought I had mentioned mask in the installation section as my other projects do. I will add that soon.

I had plans for adding a commandline for a trashcan like program in the preferences, but since I was getting no feedback from people, I figured I was the only one using it and therefore didn't add it yet. I do plan to add that now and add a feature to look for programs like that on the system to populate the option.

Yes, I don't have much in way of reporting error conditions. I've been planning to go back and add stuff like that, but just haven't had the time to work on it.

Yes, you are right I need to "linking the section "Command Line Programs Used" from the installation section". I also need to remove the requirement for git command since I now use a go library to do the same thing.

Thanks so much for pointing out these issues. I'll work on them as I have time, but my time is somewhat limited. I welcome PRs if your interested in helping out. Also, you can add discussions in the "Discussions" section.

raguay commented 3 months ago

Also, if you send me a windows exe for it, I'll add it to the Releases. That might help more people to contribute to this project. I also need a good explanation for the extension system. Another thing in the todo bucket!

raguay commented 3 months ago

I just committed a new fix that allows for mouse scrolling in the panels but doesn't show the scroll bars or bounce the panel on reaching the top or bottom. Could you try it out for me and see if it works on your windows system. Thanks.