Comments (4)
been out of touch for a bit -- yeah, versioning of the OS and deprecated functions has been something I've been mulling over lately... I've been avoiding some functionality because of it, but don't have a good way myself to test what's still hanging around...
For modules to be included as part of this new build process, what OS are we targeting? Lately I've been shooting for 10.7 where possible, but even that's getting hard sometimes, as 10.10 has actually removed some things rather than just deprecating them. As for out of band items, anyone have a good process for a makefile or code to check OS version and throw appropriate exceptions or errors? The only one I've seen so far relies on 10.9+ features, but I'll admit to not looking too hard yet!
from hammerspoon.
My opinion is to target the latest OS release only, but I would be fine with:
- Keep the core compatible with older releases (not hard since it's unlikely to change very much)
- Someone makes a way for modules to express a minimum required OS and refuse to load them on older OS versions
I do think that we need to be careful here - I don't want to hold back lots of awesomeness for the majority on the latest OS, because of a tiny minority who are either forced to use an older release, or are refusing to upgrade.
from hammerspoon.
My feelings: okay to require 10.10 for building, maybe help people with building on older versions by skipping modules, so they can still develop/patch. I haven't heard reasons to make core require 10.10, indeed, so if we can limit requiring 10.10 at runtime to specific modules, I'd love that.
I fully agree that holding back on awesome stuff would be bad, and if we run into that, I'm happy to reconsider my feelings :)
As for
Someone makes a way for modules to express a minimum required OS and refuse to load them on older OS versions
I have a hope that we can just catch the dlopen
failure, but if not, version checks indeed.
from hammerspoon.
So, we've been going at this for a while and we haven't really run into this issue in practice, afaics. I'm going to close this issue out because I don't think we actually need to do anything at the moment. If that changes, or if anyone disagrees, please re-open :)
from hammerspoon.
Related Issues (20)
- passing arguments to hs.osascript.applescriptFromFile
- Unable to make distinction between window types of most apps HOT 1
- `hs.application.get` sometimes returns `hs.window` HOT 1
- hs.wifi.currentNetwork() is not work in macos 14 HOT 6
- hs.window functionality regression HOT 1
- `hs.window.filter:isWindowAllowed` breaks when the filter has a subscription
- Keyboard Shortcuts on Sonoma? HOT 1
- hs.alert.show: how to place this alert on different place on screen (center?) HOT 5
- Feature Request: detect screen recording and watcher
- Filter/group windows by stage manager?
- ClipboardTool logs images despite description stating it only copies text HOT 1
- Modifiers not working on Remote desktop HOT 4
- How can I run shortcuts via the terminal instead of using keys? HOT 1
- Any way to swap caps to ctrl? HOT 7
- Test hs.ipc.cliInstall on macOS Sonoma HOT 3
- suspected memory leak HOT 8
- New revision of Stream Deck XL with a new PID not supported HOT 1
- Various small questions about the hs.wifi module HOT 5
- Hammerspoon hangs spradically when entering hyper mode and displaying a modal window HOT 7
- Subject: Difficulty Keeping Notifications Persistent and Moving Them to Notification Center
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hammerspoon.