ospfranco / sol Goto Github PK
View Code? Open in Web Editor NEWMacOS launcher & command palette
MacOS launcher & command palette
Hi, just to report that it can't find apps such as "Screen Sharing", goes for a google search instead
Most launcher allow to open a file in finder when pressing cmd+enter
with a file selected from search results. Would be great if this was also possible with Sol.
Hi @ospfranco , it would be possible to set different commands for startup, instead of using the Command + Space shortcut
which also starts Spotlight
.
A way to be able to register a different command if user wants.
Hi @ospfranco , what do you think of a graphic like this?
After invoking the clipboard history pane, typing anything in the search field does not filter the results. I thought maybe pressing Enter was required to trigger the search, but that just pastes the highlighted line.
I assume that since there is a search field, this is either a bug or perhaps a future feature that simply hasn't been implemented yet.
This is on Sol 1.1.40, MacOS 12.5 (21G72), on an M1 Pro chip.
https://www.solapp.io/ has a nice download button. But instead of downloading the latest version it directs users to https://github.com/ospfranco/sol/tree/main/releases showing downloads from old to new in confusing order.
It would be great if a click on download would just download the latest version.
... I think the title is pretty self-explanatory, but when I press ⌘+ Space Spotlight appears on top of Sol.
Really cool project though! However I also noticed that the apps in /Users/<user>/Applications
doesn't appear in Sol. Just in /Applications
. Would you be able to implement this in the future please? I generally install apps locally rather than globally so this project is useless for me without it.
Hi @ospfranco , when I reload I get these strange behaviors:
To return to how I was before I have to close the app (esc key) and reopen it.
Unsure which change introduced this problem but since updating to 1.1.42 I am unable to reliably launch Sol via cmd+space which I selected in the setup wizard.
When I open Sol from spotlight it shows and I can use it. If it then vanishes and I try to invoke it via cmd+space nothing happens.
error 16:04:53.664577+0200 tccd <TCCDProcess: identifier=com.ospfranco.sol, pid=3928, auid=501, euid=501, binary_path=/Applications/sol.app/Contents/MacOS/sol> attempted to call TCCAccessRequest for kTCCServiceAccessibility without the recommended com.apple.private.tcc.manager.check-by-audit-token entitlement
error 16:04:53.891621+0200 sol Connection 1: received failure notification
error 16:04:53.891664+0200 sol Connection 1: failed to connect 1:57, reason -1
error 16:04:53.891686+0200 sol Connection 1: encountered error(1:57)
error 16:04:53.892968+0200 sol Task <X>.<1> HTTP load failed, 0/0 bytes (error code: -1005 [1:57])
error 16:04:53.893520+0200 sol Task <X>.<1> finished with error [-1005] Error Domain=NSURLErrorDomain Code=-1005 UserInfo={_kCFStreamErrorCodeKey=57, NSUnderlyingError=0x6000008a98c0 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 UserInfo={_NSURLErrorNWPathKey=satisfied (Path is satisfied), interface: en0, ipv4, ipv6, dns, _kCFStreamErrorCodeKey=57, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=<private>, _NSURLErrorRelatedURLSessionTaskErrorKey=<private>, NSLocalizedDescription=<private>, NSErrorFailingURLStringKey=<private>, NSErrorFailingURLKey=<private>, _kCFStreamErrorDomainKey=1}
error 16:04:53.904968+0200 tccd <TCCDProcess: identifier=com.ospfranco.sol, pid=3928, auid=501, euid=501, binary_path=/Applications/sol.app/Contents/MacOS/sol> attempted to call TCCAccessRequest for kTCCServiceAccessibility without the recommended com.apple.private.tcc.manager.check-by-audit-token entitlement
error 16:04:57.428127+0200 tccd Prompting policy for hardened runtime; service: kTCCServiceAddressBook requires entitlement com.apple.security.personal-information.addressbook but it is missing for requesting={<TCCDProcess: identifier=com.ospfranco.sol, pid=3928, auid=501, euid=501, binary_path=/Applications/sol.app/Contents/MacOS/sol>},
Hey @ospfranco - thank you SO much for your work on Sol. What an incredible application - finally able to tweak and customize the command palette like I could not do with other apps like Alfred.
I have a question for you - I'm looking to extend Sol a bit by adding authentication (right now using Auth0). Auth requires essentially the ability to send the user out of the Sol application and then back in with an access_token (i.e., similar to most MacOS apps).
For example, when I go into Safari and type in raycast://
it will open the command palette, indicating that it is responsive to any routing INTO the app that is happening.
With Sol, I've done the following:
sol://
in the info tab for the appfunc applicationDidFinishLaunching(_ aNotification: Notification) {
// https://github.com/microsoft/react-native-macos/pull/1145/commits/d1d0a9f55071736a77efb6413943c0f70771d3bb
NSAppleEventManager.shared().setEventHandler(
self,
andSelector: #selector(getURL(_:withReplyEvent:)),
forEventClass: AEEventClass(kInternetEventClass),
andEventID: AEEventID(kAEGetURL))
// Rest of initialization here
}
// https://github.com/microsoft/react-native-macos/issues/1128
@objc func getURL(_ event: NSAppleEventDescriptor?, withReplyEvent reply: NSAppleEventDescriptor?) {
print("getURL function hit")
RCTLinkingManager.getUrlEventHandler(event, withReplyEvent: reply)
}
func application(_ application: NSApplication, open urls: [URL]) {
print("application function hit")
print(urls[0])
// RCTLinkingManager.initialUrl = urls[0]
}
However, I'm not able to hit any of my logging points here when I try hitting sol:// in Safari. The URL is recognized (i.e., it sees that there is an app that has that scheme registered); however, none of my logging points are hit AND Sol does not reopen in the same way that Raycast does. My gut is telling me that it is likely because the application is hidden/in the background that none of these triggers are hit and that I need to do something like Raycast where it launches when called.
Essentially, the end goal is to be able to catch the details of the URL as a "deep link" because it will contain information to log users in via services like Auth0 or others where you have to route the user out to web auth. Do you know what I'm doing wrong here?
Super appreciative in advance.
Hi @ospfranco , I was wondering but what order of apps is based on the most used ones recently?
It would be possible to put something on the right that gives you the possibility to select if the order of the apps should be by the most used ones recently or in alphabetical order.
Hi @ospfranco , I'm not quite understanding how to use Track time
.
I have created several but:
Stop Track time
but it doesn't seem to workHi Oscar,
I'm trying to PR a cask on Homebrew for Sol but the cask could not correctly verify whether it's the latest or not.
Homebrew performs a livecheck when installing a cask according to different methods (described in the documentation).
However, you're currently providing 2 ways to get the last version of Sol:
And there's currently 3 version numbers displayed on GitHub:
releases
folder of the repoSo to set up the livecheck in the PR, I have to ignore the latest tag which does not contain the built application and I have to whether deal with:
appcast.xml
But as you know, these two contain 2 different version numbers.
To fix the global problem we have here, I would suggest few fixes:
releases
folderWhy building for every tags?
Only use the
GithubLatest
strategy when it’s necessary and correct.github.com
rate limits requests and we try to minimize our use of this strategy to avoid hitting the rate limit on CI or when using brewlivecheck --tap
on large taps (e.g. homebrew/core). TheGit
strategy is often sufficient and we only need to useGithubLatest
when the “latest” release is different than the newest version from the tags.
The above quote from the official Homebrew documentation explains that the standard behaviour (retrieving the last update by getting the last tag of the repo) is preferred to the GithubLatest
method I'm using in the current PR.
Nevertheless, it could be nice to keep it consistent by publishing the latest correct version everywhere.
Hi @ospfranco , I created a file called env.json
in the main dir.
I wanted to try to set the values but I'm not really understanding how to do it.
I am doing a similar thing.
WEATHER_API_KEY=MYCODE
But it appears that the code is not being taken in the store.
I also un-commented the config.ts
file.
Hello,
This is an exciting project! I'd like to attempt a contribution if you're open to it.
I cloned the repo, installed dependencies and ran yarn dev
and received an error:
error: No signing certificate "Mac Development" found: No "Mac Development" signing certificate matching team ID "24CMR7378R" with a private key was found. (in target 'macOS' from project 'sol')
Is there a way to resolve this error?
Hi @ospfranco , I'm getting the following warms when I start sol.
LOG Running "sol" with {"rootTag":1,"initialProps":{}}
WARN Sending `onShow` with no listeners registered.
WARN Sending `keyUp` with no listeners registered.
There should be some onboarding screens where the user can pause for a bit and enable things like calendar access and accessibility.
Right now the app starts and closes immediately due to calendar and accessibility permission and then they probably don't know how to get back in...
Hi @ospfranco , Instead of using AsyncStorage
why not use react-native-mmkv?
Hello,
As an Alfred user, I am curious about Sol. 😎
I have just installed it and I have questions about the calendar integration. 📆
I have 1 personal calendar and 2 professional ones and I would like to show the events from my personal calendar, at least:
Do you know why the personal events are not visible? Maybe that only the first three events are shown?
Are there any way to select/deselect calendars or to give them a priority?
Hi @ospfranco , I wanted to try the translator but I can't find it.
Hi @ospfranco , once permission to execute a command has been denied, for example:
If you try to start it later, nothing happens.
Correct use:
I think if the first time you deny the permission, if you later try to start it, it should ask for permission again.
Instead it does nothing.
Hi @ospfranco , I am getting the following error when I open the sol.xcworkspace
file.
When I try to run the yarn mac
command I get the following error.
yarn run v1.22.4
$ react-native run-macos
info Found Xcode workspace "sol.xcworkspace"
info Building (using "xcodebuild -workspace sol.xcworkspace -configuration Debug -scheme sol-macOS")
.....
error Failed to build macOS project. We ran "xcodebuild" command but it exited with error code 74. To debug build logs further, consider building your app with Xcode.app, by opening sol.xcworkspace.
Command line invocation:
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -workspace sol.xcworkspace -configuration Debug -scheme sol-macOS
User defaults from command line:
IDEPackageSupportUseBuiltinSCM = YES
Resolve Package Graph
Package.resolved file is corrupted or malformed; fix or delete the file to continue: unsupported schema version 2
Resolved source packages:
HotKey: https://github.com/soffes/HotKey @ master
xcodebuild: error: Could not resolve package dependencies:
Package.resolved file is corrupted or malformed; fix or delete the file to continue: unsupported schema version 2
info Run CLI with --verbose flag for more details.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Hello, really nice piece of software. I was wondering if we can init sol on boot ?
I use option-space to activate Sol and the latest auto-update (I can't ID version because it's not visible anywhere) broke that key combo. After I press it one time and briefly see Sol's UI, it won't work again until I restart the app.
Additionally, ability to edit keyboard shortcuts is also broken. When I try to select any of the three drop-downs I can only see choices for the clipboard shortcut and selecting either of those choices has NO EFFECT on any shortcut. There is NO WAY to edit shortcuts currently so I can't use Sol unless invoked with a double click in the applications folder, making it totally useless.
Please roll back the latest update.
I was really liking this app but it's lack of "mac-like" features (command-comma to get settings, a basic compliment of menus for example) makes it a gui app without any kind of standard interface and makes it extremely hard to use if the shortcut key is broken as it is now.
Hi @ospfranco , as you can see from the video when it is in light mode it is not clear whether there is focus or not in an input field.
It also happens in the other input fields, for example weather config api.
In the video it can be seen better below because it is zoomed in, but in reality it is not seen.
Hi @ospfranco , as you can see from the image when it is in light mode, the logo is not visible.
I tried a similar thing, but when the theme change happens it doesn't update.
let hydrate = async () => {
const storeState = await AsyncStorage.getItem('@ui.store')
const colorScheme = Appearance.getColorScheme()
console.log(colorScheme)// no update
...
{
iconImage: colorScheme === 'dark' ? Assets.SolWhiteSmall : Assets.SolBlackSmall,
name: 'About',
type: ItemType.CONFIGURATION,
callback: () => {
store.focusWidget(FocusableWidget.ABOUT)
},
preventClose: true,
},
}
Would love to be able to use the features listed on the site and in the readme, but where is the how to use guide?
Hey Oscar,
saw you on HN today, great tool keep it up!
I was using Alfred before and noticed one minor difference. With multiple displays Alfred (and I think default spotlight search too) shows the searchbar on the display on which my mouse is at the moment. With sol it comes up on the display where my focused application is.
Maybe if you have time, that would be a nice little thing to add.
But the README is empty, there are no issues or PRs, no website, no information...
And it does not say at all how to install, so how should I use?
Experienced an issue where I am no longer able to use the scratchpad after deleting all notes.
Hi @ospfranco , why is it that when I run a newly created track time it gives me negative hours and minutes?
Hi @ospfranco , why not show the General Widget only when necessary?
For example like this:
{(store.ui.track?.title !== null || !!store.ui.currentlyTrackedProject || !!store.ui.currentTemp) && (
<GeneralWidget
style={tw`border-t w-full bg-white dark:bg-black bg-opacity-80 dark:bg-opacity-70 border-lightBorder dark:border-darkBorder`}
/>
)}
Same thing for the CalendarWidget too, if there are no events it would be correct not to show it.
{(store.ui.events.length > 0) && (
<CalendarWidget
style={tw`border-t w-full bg-white dark:bg-black bg-opacity-70 dark:bg-opacity-60 border-lightBorder dark:border-darkBorder`}
/>
)}
Hi @ospfranco , as you can see I am testing in all ways sol.
I tried to resize it as seen from the video and I get this result.
The problem is that I can't get back to its original shape or try to shrink everything after enlarging the app.
Many Mac applications use the cmd
+ ,
shortcut to open application preferences. Would you be open to a PR that adds this shortcut to Sol?
Hi @ospfranco , When there are no events, it would be better not to show anything instead of the image,
There would be more space for scrolling elements.
Hi Oscar,
Are you planning to implement a file search in Sol ?
Would be great to have one, with something similar to the Google Dorks to make it more convenient to look for specific files.
It may be an easy feature or it may not but overall I can't work on that myself at the moment.
Best Regards
Guillaume
Hi @ospfranco , i got this error after upgrading to the new version, deleted node_modules and re-installed everything.
This is a fairly common keyboard shortcut (Command+Shift+V) to paste without style. Sol hooking this hotkey is overriding the expected OS behaviour even without sol being open.
sol/macos/sol-macOS/AppDelegate.swift
Line 27 in acbb1ad
As there is currently no way to disable or customise keybindings in sol can this shortcut be changed to something that doesn't conflict with the OS defaults?
Command+Option+V may be a viable alternative - this to me reads intuitively as 'prompt me for options to paste'
Hi @ospfranco , at the first start, as you can see from the image it tells me to Grant Sol access to your Calendar under System Preferences
but if you see above I have already given access otherwise the events would not appear.
Currently
Applications in subfolders are not found e.g. /Applications/ScanSnap/ScanSnap_Manager.app
.
This also applies to applications which reside outside the applications folder like /Users/Username/Applications/JDownloader 2.0/JDownloader2.app
Expected
Would be nice to also open those applications from Sol. Interestingly applications like Activity_Monitor.app
located in the Utilities
folder are found.
Hi @ospfranco , i am getting the following error:
When I try to open it cmd + space
opens sol and then closes right away.
Hi @ospfranco , when i start a track project i get the following two problems:
https://github.com/rxhanson/Rectangle shows nice default keyboard shortcuts which could be used to allow Sol window manager to also support quarter screens.
Hi @ospfranco, I saw Sol in my ProductHunt newsletter and I can't wait to try it out and add all my command shortcuts to it.
I downloaded the latest release 1.0.2 (4h before this is posted), dragged it into my Applications folder, double clicked it and saw this.
Problem is, when I press enter (aka return), cmd+enter, ctrl+enter or anything else, there's no response. I can't get past this page. If I click outside or cmd+tab away, the above window disappears, and when I use cmd+space or double click Sol in /Applications
again the above page shows up again (and I can't do anything about it, other than click away to make it disappear).
Thank you for building something (at least seemingly for now) amazing!
It would be cool to search the system preferences and deep link into the setting
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.