kofigumbs / multi Goto Github PK
View Code? Open in Web Editor NEWCreate custom, lightweight macOS apps from websites
License: GNU General Public License v3.0
Create custom, lightweight macOS apps from websites
License: GNU General Public License v3.0
I would like a tab bar at the top. I actually like showing the tabs and clicking on them. Is this possible?
It would be nice to have a way of seeing where a link is pointing when hovering over it.
The way Safari does it when you use View > Show Status Bar is nice. The URL appears at the bottom of the window while hovering over the link.
I'm running into a similar issue to #2 when trying to initially run Multi.app (2.0.3). I'm on OS 10.13.6 and currently do not have the full Xcode installed. Installing it now and trying out that fix to see if it resolves things - it seems desirable to have this great tool work out of the box though, if possible!
Termination Reason: DYLD, [0x1] Library missing
Application Specific Information:
dyld: launch, loading dependent libraries
Dyld Error Message:
Library not loaded: @rpath/libswiftCore.dylib
Referenced from: /Applications/Multi.app/Preferences
Reason: image not found
I've created an multi application for basecamp, but I'm unable to download files within the the application. Is that something that can be supported?
My slack multi has this config, dead standard:
$ cat /Applications/Multi/Slack\ Safari.app/Contents/Resources/config.json
{
"tabs": [
{
"title": "Slack Safari",
"url": "https://app.slack.com/client"
}
]
}
It works fine for the one team that I am signed in with, and I like it so I want to sign in to another team.
Unfortunately, it pops open system Safari when I click Add workspaces -> sign in to another team
, and when I add a team, it doesn't redirect back to the Multi app. Demo: https://www.youtube.com/watch?v=9jFgToEW4Lc&feature=youtu.be
(nothing happens after I click "allow")
Any ideas for how to log into a second team?
Hi, first off I wanted to say I LOVE this app, I think I know have a problem as every website I use regularly has been turned into a multi-app. The problem with this, however, is any extensions I had no longer work inside multi. My example use case would be I am using a website I don't want to sign in on and I can use this website without signing in just fine, there's just always a part of the webpage taken up telling me to sign-in. In Chrome I made a simple extension to just run some CSS on that specific domain to hide that banner, but in Multi I am not seeing a way this is possible. I think that would be an amazing feature too and would be something you could edit in the JSON configuration.
On a similar note, I think the ability to add your own javascript into the Multi app would be fantastic (another feature an extension could accomplish). This way I could have JS implemented to do things like translate text and such. Maybe I am overly optimistic about this project, but I am envisioning a sort of plugin store for multi where you could package and install extensions to run.
Lastly, I didn't see anywhere to donate to this (I would try to contribute to this project with code but I know nothing about Swift apps and such, so a monetary donation is the next best thing). Do you have a Paypal link or OpenCollective fund you would consider adding to the readme?
Thanks!
Suggestion from Twitter.
Would be really useful if you have a particular workflow where you regularly work with two or three specific websites at once. Make sure to consider #7 when designing.
I noticed that Slack notifications work okay, but if I get a message in a certain channel and click on it, it doesn’t open the channel, just the Slack window.
Another thing I can’t get to work are notifications in the app icons. I never know how many unread messages there are in Slack, Google Mail, etc.
Is this something that could be added to the app icons?
If you get this error:
$ ./create-mac-app someapp 1.png
# error: terminated(72): xcrun --sdk macosx --find xctest output:
# xcrun: error: unable to find utility "xctest", not a developer tool or in PATH
Try:
$ sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
$ ./create-mac-app someapp 1.png
# [7/7] Linking Multi
😆
Multi apps don’t seem to allow downloads, which might be due to the Better blocker as pop-ups are also blocked. Is it possible to allow the download of files/images somehow? I can’t download files from Slack and other apps. There’s an option to download them, but nothing happens.
Hi-ho -
I have an instance of Slak running in Multi and realized today that it's not auto-updating when new messages come; I need to explcitly reload the screen to see new messages.
Not sure what kind of troubleshooting or logs would help you. Let me know if I can help narrow this down!
Hi there!
I am using multi for some web-apps I have written myself. My very basic web app is protected by basic authentication on Nginx. In Chrome or Safari when opening my webpage for the first time, I get a popup asking me for a username and password to access this site. If the login credentials are incorrect it returns an Unauthorized error via Nginx, but if correct I can access my content.
When launching a multi app protected by basic authentication, there is no prompt for log-in details and it instead immediately shows an unauthorized error. My current solution to the problem was to open the web app in Safari and login and save the login to my keychain which then allowed me to access the site in multi.
Suggestion from Twitter.
I was hoping to use Multi to wrap our backend software, and it's almost perfect for us. But the inability to use Command + F to find text within the page is necessary for us to do our work quickly. It would be great if this was added at some point if you have time.
Most Mac applications allow you to close the application window, but keep the application running. By default, this can be done either by cmdW or the red cross in the top-left corner. Clicking on the application icon on the dock would open a new window after the fact.
With the recent handy addition of the minimize command, this would complete the set of basic OS-level shortcuts you would usually find in a native application.
Currently, the feature set is partially covered:
It might be worth considering hiding the window instead of closing it, allowing the application to continue receiving notifications without having a user-facing window open.
Most applications allow you to enable a spelling and grammar feature, which can highlight errors in the textarea inputs for a given web application.
Another small thing missing from the browser: being able to refresh. Lower priority for us, but just wanted to record it in case you continue working on this for a while.
Thanks again for making it!
@kofigumbs Could you share a full example of an app with the customJs feature?
I can't get any code to run.
Also, if your example you have console.log
. How do I launch the console/dev tools in the app?
Some web pages use small fonts and in some other cases I would like to present something on a beamer, where it would be handy to be able to zoom in (cmd
++
), out (cmd
+-
) and back to default (cmd
+0
). Currently, it is not possible.
Trying to add an attachment to an Asana ticket from Google Drive doesn't work. On the normal site, when attaching something from Google Drive, it will display a popup window for you to select the appropriate Google account. When using Asana in multi, the pop-up never shows. The other external services appear to work (Box, OneDrive, and Dropbox), so this might be how Google's OAuth flow works.
I noticed that paste works, but none of the standard MacOS "paste without formatting" shortcuts work. It'd be great to have support for that added in.
Hello! This project is exciting. I'm trying to run it on OS 10.11 (perhaps the best version of OSX?), which has Swift 3.0.2. I'm running into these problems:
$ ./create-mac-app name icon.png
Package.swift:12:5: error: argument 'targets' must precede argument 'dependencies'
targets: [
^
Can't parse Package.swift manifest file because it contains invalid format. Fix Package.swift file format and try again.
This was easy to fix by re-ordering targets
and dependencies
in Package.swift like this:
targets: [
.target(name: "Multi"),
],
dependencies: [
]
But now I'm getting this error:
Package.swift:5:22: error: incorrect argument label in call (have 'name:products:targets:dependencies:', expected 'name:pkgConfig:targets:dependencies:')
let package = Package(
^
Can't parse Package.swift manifest file because it contains invalid format. Fix Package.swift file format and try again.
I'm not sure what to do about this one. I'm not a Swift export, unfortunately.
Some of the web apps like Slack, Discord, Meet don't have access to mic and screen sharing permissions. Would be awesome to also have this feature enabled.
Thanks
A nice additional configuration setting would be to open links in the background, so they open in a new browser tab, but the browser window isn't brought to the foreground.
Big "[App] quit unexpectedly" when launching any app created with Multi 2.0.4 on Mac OS 10.13.6. This comes directly after resolving my swift runtime issue (#28), though not sure if they're related.
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Application Specific Information:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSMenu setItemArray:]: unrecognized selector sent to instance 0x604000269b00'
terminating with uncaught exception of type NSException
abort() called
I seem to be getting a related issue with Gmail and Google Calendar, where clicking any link to another site in Gmail causes it to open an alert with:
"Grrr! A popup blocker may be preventing the application from opening the page. If you have a popup blocker, try disabling it to open the window."
and the browser opens but the link does not get passed into it. If I use the openNewWindowsWith
set to Safari.
With Chrome as my default browser and no openNewWindowsWith
config, I also get a MacOS popup that says "The application can’t be opened. -50". This looks to be something with how Gmail/Calendar handle links?
Originally posted by @clinejj in #25 (comment)
Is it possible to create a keyboard shortcut that will grab the current URL? I sometimes need to share a link with colleagues in Basecamp or other Multi apps, but I can’t always get the current link from the apps unless it’s an item I can right-click on.
Not a big issue as I can manually set an .icns file on a created app using the Finder. But it seems a bit weird that you can't select one at creation, especially as Multi is generating one, but from a single image, so it will lack any small size optimisation/hinting.
Currently, there's no feedback for misspelled configuration fields. In #46, it took a couple of messages back-and-forth to discover that customJS
should have been customJs
. The configuration app should be smarter.
Tried out Slack today, but my notifications don't seem to be working with a minimal config. Might be cool to document the successful configs somewhere.
I am not receiving banner notifications on slack.
... I am on MacOS Catalina 10.15.6
Originally posted by @makeavish in #26 (comment)
App version: 2.0.1
macOS version: 10.15.6
I gave Multi Full Disk Access in Security & Privacy settings.
Expected behavior:
I can create a Multi app with a custom icon via the GUI interface.
Current behavior:
I get an error when creating a Multi app right after pressing "Save & Launch":
However, an app is created, but it doesn't work. The following window opens:
Hello! Thanks for awesome project!
How about adding custom js support?
Command-h to hide does not work.
I've got an issue where clicking on a link in Gmail causes an error message to appear about popups being blocked. Is there a workaround or setting to whitelist or enable links like this to work?
Love the app, and love the fact that I managed to compile it for Apple Silicon with zero issues. It's crazy fast!
Getting this error on trying to load a newly downloaded icon
➜ multi git:(master) ./create-mac-app hotlist /Users/umanjain/Downloads/icons8-internet-folder-100.png
dyld: Library not loaded: @rpath/llbuild.framework/Versions/A/llbuild
Referenced from: /Library/Developer/CommandLineTools/usr/bin/swift-build
Reason: image not found
./create-mac-app: line 26: 74897 Abort trap: 6 swift build
The README says that multi is GPLv3, but it also says you should "purchase a license". This is ambiguous, as the GPL is a license. It also says on your website:
Multi is licensed, not sold. You can only use Multi if you agree with these usage terms. A Multi license can be used in one of two ways:
This suggests that the software is not GPLv3.
Could you please put a LICENSE file in the repository that clarifies that the software is GPL licensed, if indeed it is?
"Cannot be opened because of a problem." ..
I tried v2.0.0 to Multi.2.0.7, same problem!
Title says it all. I created an app with 4 websites. I go to the fisrt one with Command-1. I select some text and hit Command-C. Then Command-2, and put my cursor in a box and hit Command-V and it pastes in the wrong thing. It pastes in whatever was on my clipboard before I tried all of this. So the Command-C didn't work.
I would like to use Multi for Substack Reader, but to authenticate, Substack sends me an email with a link that use to login. I can't seem to open this URL within the Multi app that I created.
If I could drag and drop the URL that I received in my email, I could authenticate successfully.
I think this would make Ctrl-Tab
work for cycling between sites. These are also hideable by default.
https://developer.apple.com/documentation/appkit/nswindow#3020937
It'd be really cool to be able to register URLs that the app is capable of handling, that way things like "Open in Slack App" work properly.
Hello! I'd love for you to consider this:
if I add the same website socialnetwork.com twice, if I login in ⌘1 and then I login in ⌘2, logging in ⌘2 overwrites the session in ⌘1.
It would be great to separate the two!
I realize this is going to a be a touchy subject. I'm sorry for that.
I really think you should reconsider the trial period. I can't tell you how much mac software I've uninstalled from engineers' laptops and replaced with other alternatives because this unsustainable pattern. You've done great work here, and you shouldn't detract from it by forcing people to pay. Sure, you'll make money, but you'll also join the stack of niche macos software that never gets anywhere beyond it's loyal following and is eventually unmaintained.
I think you'd have much much much more success keeping this FOSS, waiting for interest to build, and then license support to companies and/or have paid bounties for development. I can only say that at my company (fortune 100) we started chatting about using Multi, and that discussion was completely thrown out the window today.
It's a bummer that I'm uninstalling Multi today.
Whenever I open my Multi app, the window opens to the full screen. It should open at the size and position it was at last time.
Support javascript injection onload for additional customization.
The use case I have is to add content security policy to gmail in order to prevent it from loading new emails throughout the day, and only retrieve them at certain hours (to prevent gmail addiction).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.