Compare commits

...

50 Commits
1.12 ... master

Author SHA1 Message Date
Matthias Kerbl 921ec64e46
Merge pull request #1173 from AppHouseKitchen/MatthiasKerbl-patch-3
Update bug_report.md
2024-02-20 12:40:44 +01:00
Matthias Kerbl 1559f0c95e
Update bug_report.md 2024-02-20 12:40:33 +01:00
Matthias Kerbl 90ef62e1c9
Merge pull request #1172 from AppHouseKitchen/MatthiasKerbl-patch-2
Update bug_report.md
2024-02-20 11:54:37 +01:00
Matthias Kerbl 2d3089399e
Update bug_report.md 2024-02-20 11:54:26 +01:00
Matthias Kerbl da53f8ba65
Merge pull request #1171 from AppHouseKitchen/MatthiasKerbl-patch-1
Update bug_report.md
2024-02-20 11:52:56 +01:00
Matthias Kerbl 6c9cc14725
Update bug_report.md 2024-02-20 11:52:37 +01:00
Matthias Kerbl 55eea484f0
Merge pull request #1096 from zooxop/master
style: modify bracket position.
2024-02-13 10:57:24 +01:00
Cheolhyun Mun d68b3401a2 style: modify bracket position. 2023-11-10 01:16:10 +09:00
Matthias Kerbl 4eef58ad77
Update README.md 2023-05-30 15:15:02 +02:00
Matthias Kerbl 7b7a828b27
Update README.md 2023-05-30 15:14:37 +02:00
Matthias Kerbl 9536a0750c
Update README.md 2023-05-30 14:57:44 +02:00
Matthias Kerbl ec8e908bb2
Update README.md 2023-05-30 14:56:36 +02:00
Matthias Kerbl 7152cd1c52
Update README.md 2023-05-30 12:45:51 +02:00
Matthias Kerbl 78f40e0204
Update README.md 2023-05-30 12:43:46 +02:00
Matthias Kerbl ae06e7118a
Update README.md 2023-05-30 12:39:30 +02:00
Matthias Kerbl 1ec639d320
Update README.md 2023-05-30 12:37:44 +02:00
Matthias Kerbl 930269e574
Update README.md 2023-05-30 12:35:12 +02:00
Matthias Kerbl cb5a753f66
Update README.md 2023-03-02 12:44:05 +01:00
Matthias Kerbl 056411468c
Update README.md 2023-03-02 12:36:59 +01:00
Matthias Kerbl 9760383703
Update README.md 2022-11-08 19:42:52 +01:00
Matthias Kerbl 28f277eb71
Update README.md 2022-11-05 15:08:29 +01:00
Matthias Kerbl 03c7f92a44
Update README.md 2022-08-30 17:45:29 +02:00
Matthias Kerbl 3e2a7e6193
Update README.md 2022-08-30 17:20:09 +02:00
Matthias Kerbl c2b9d4dc7f
Update README.md 2022-08-30 17:16:44 +02:00
Matthias Kerbl 92eb3b2429
Update README.md 2022-08-30 16:57:27 +02:00
Matthias Kerbl 656aecdeb7
Update README.md 2022-08-30 16:14:06 +02:00
Matthias Kerbl f4157bcb23
Update README.md 2022-08-30 16:13:27 +02:00
Matthias Kerbl e4f5db60a8
Update README.md 2022-08-30 16:12:28 +02:00
Matthias Kerbl 830defeaa0
Update README.md 2022-08-30 16:11:11 +02:00
Matthias Kerbl 8b63ac6bf5
Update README.md 2022-08-30 16:10:12 +02:00
Matthias Kerbl e58c6acd72
Update README.md 2022-08-30 15:59:48 +02:00
Matthias Kerbl 22b9c9f8d2
Update README.md 2022-08-17 16:02:22 +02:00
Matthias Kerbl 715cbe2375
Update README.md 2022-08-17 16:01:31 +02:00
Matthias Kerbl 25ec916520
Update README.md 2022-05-18 09:58:05 +02:00
Matthias Kerbl 3439d8f981
Merge pull request #683 from zeke-iOS/master
Fixed typos in README.md
2022-05-17 10:14:03 +02:00
zeke 5d647f92fd Fixed typos in README.md 2022-05-17 16:42:45 +09:00
Matthias Kerbl 4d610731ea
Update README.md 2022-04-21 10:50:11 +02:00
Matthias Kerbl 42691ec519
Merge pull request #656 from davidwernhart/add-code-of-conduct-1
Create CODE_OF_CONDUCT.md
2022-04-12 20:53:21 +02:00
Matthias Kerbl ee1dfd6e2a
Create CODE_OF_CONDUCT.md 2022-04-12 20:53:11 +02:00
Matthias Kerbl f9b6252a3b
Merge pull request #655 from davidwernhart/add-license-1
Create LICENSE
2022-04-12 20:47:57 +02:00
Matthias Kerbl 7c4c143ae0
Create LICENSE 2022-04-12 20:47:37 +02:00
Matthias Kerbl f368e869c5
Merge pull request #641 from rottifant/master
Fixed typos in README.md
2022-03-27 12:05:25 +02:00
Raphael Rott 6cf931a3fc
Fixed typos in README.md
Fixed a few typos
2022-03-26 17:16:22 +01:00
Matthias Kerbl 73cc219740
Update README.md 2022-03-22 11:47:57 +01:00
Matthias Kerbl 6c9206fa6e
Merge pull request #623 from sebavenditti/patch-1
Update README.md
2022-03-12 09:38:23 +01:00
Sebastian Venditti 30351e60a5
Update README.md
Fixed a typo.
2022-03-11 18:16:51 -03:00
Matthias Kerbl 9b36eff1d1
Update README.md 2022-03-07 10:47:29 +01:00
Matthias Kerbl 6ec0d159d9
Update README.md 2022-01-22 18:20:29 +01:00
Matthias Kerbl 3936bd1fab
Update README.md 2022-01-22 18:20:07 +01:00
Matthias Kerbl eb54a34645 Update issue templates 2021-12-21 16:41:30 +01:00
6 changed files with 353 additions and 152 deletions

View File

@ -1,11 +1,22 @@
---
name: Bug report
name: Bug Report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
**MacBook (please complete the following information):**
- MacBook Model (https://support.apple.com/en-us/HT201608):
- macOS Version (https://support.apple.com/en-us/HT201260):
- Charger Model (Apple, Third Party, Wattage,...):
- Charging Cable (MagSafe 2, MagSafe 3, USB-C, Apple, Third Party,...):
- AlDente Pro or AlDente Free:
- AlDente Version:
- List or add screenshots of all enabled/disabled settings in AlDente:
- Please share a debug file the next time this happens so that we can assess this issue better. You can find a guide on How to generate and share a debug file on our blog(https://apphousekitchen.com/how-to-generate-and-share-a-debug-file/).
- External Monitor connected?
- MacBook used in Clamshell Mode (with the lid closed)?
**Describe the bug**
A clear and concise description of what the bug is.
@ -17,18 +28,11 @@ Steps to reproduce the behavior:
3. Scroll down to '....'
4. See error
**Expected behavior**
**Expected Behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots or screen recordings to help explain your problem.
**MacBook (please complete the following information):**
- MacBook model (https://support.apple.com/en-us/HT201608)
- macOS version (https://support.apple.com/en-us/HT201260)
- AlDente Pro or AlDente Free?
- AlDente Version?
- List of all enabled/disabled settings in AlDente:
**Screenshots and Screen Recordings**
If applicable, add screenshots or screen recordings of the issue to help explain your problem.
**Additional context**
Add any other context about the problem here.

View File

@ -0,0 +1,10 @@
---
name: Question about AlDente
about: Use Discussions section for questions
title: ''
labels: ''
assignees: ''
---
Hi, if you have a question about AlDente, please use the Discussions section of Github: https://github.com/davidwernhart/AlDente/discussions

View File

@ -248,7 +248,8 @@ final class Helper {
print("helperVersion:", helperVersion, " version from helper:", version)
if !helperVersion.elementsEqual(version) {
reply(false)
return() }
return()
}
else{
self.isInitialized = true
reply(true)

128
CODE_OF_CONDUCT.md Normal file
View File

@ -0,0 +1,128 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.

180
LICENSE Normal file
View File

@ -0,0 +1,180 @@
1. Preamble
The AppHouseKitchenOG, owner: David Wernhart and Matthias Kerbl, located in Obersdorfer Straße 31/5/11, 2120 Wolkerdorf, Austria (hereinafter referred to as "COMPANY") offers the “All-In-One charge limiter app for MacBooks” “AlDente”.
The licence agreement regulates the use of the software "AlDente" (hereinafter referred to as "SOFTWARE") for free if the evaluation license has been selected.
This licence agreement is addressed to persons who wish to use the services for professional purposes, i.e. entrepreneurs in the sense of section 1 Abs 1 Z 1 KSchG („Austrian Customer Protection Act“) but also private customers (consumers in the sense of section 1 Abs Z 2 KSchG) (both together hereinafter referred to as "USER").
For the purpose of better readability, no gender-specific differentiation is made. This is done without any intention of discrimination. All genders are equally addressed.
2. Scope of application
This Evaluation Licence Agreement defines and regulates the procurement, use and commercial exploitation of the SOFTWARE as well as the related business and administrative activities if the USER uses the SOFTWARE free of charge for the purpose of evaluating the SOFTWARE. However, if the USER concludes a legal transaction against payment, a separate licence agreement shall apply.
3. Conditions of use
The USER is obliged to provide truthful, comprehensive and correct information within the framework of the business relationship and to keep the specific information up to date at all times. The USER shall treat all data confidentially (this applies in particular to log-in data and passwords). If the USER suspects misuse by third parties, he must inform the COMPANY of this immediately.
The USER shall refrain from all actions which may endanger or impair the technical functionality of the SOFTWARE (including cyber attacks). Such behaviour will be prosecuted.
The USER shall take reasonable precautions to protect the SOFTWARE from unauthorised access by third parties. The USER shall inform its employees or persons similar to employees that the creation of copies beyond the scope of this evaluation licence agreement is not permitted.
The USER is responsible for setting up the necessary infrastructure to ensure the intended operation of the SOFTWARE. The COMPANY is not obliged to provide any further information or advice in this respect.
It is the USER's responsibility to check the compatibility (i.e. the ability to interact with the USER's existing software and hardware infrastructure) and the functional scope of the SOFTWARE before using it against payment.
4. Copyright
The COMPANY shall provide the USER with the SOFTWARE on a non-exclusive basis and for a unlimited period of time, content and territory, however, only for the evaluation purposes (within the meaning of section 24 (1) sentence 1 of the Austrian Copyright Act "Werknutzungsbewilligung"). The objective purpose of the business relationship is the evaluation of the SOFTWARE for the purpose of trial. Unless expressly agreed otherwise, the SOFTWARE may also be used for commercial purposes. The exclusive right to use and exploit the SOFTWARE (within the meaning of section 24 (1) sentence 2 UrhG "Werknutzungsrecht") shall in any case remain with the COMPANY.
The USER is permitted to use the SOFTWARE exclusively for the evaluation purposes intended by the COMPANY.
Please note that the evaluation license does not grant the USER the right to use the SOFTWARE in its entirety.
Sub-licensing or further licensing is only permitted with the express consent of the COMPANY.
The right to decompile the SOFTWARE is excluded.
Markings of the SOFTWARE, in particular copyright notices, trademarks, serial numbers or similar may not be removed, changed or made unrecognisable.
The surrender of the source code of the SOFTWARE is not owed. Neither is a user manual owed, nor the performance of training courses.
5. Use of open source components
The SOFTWARE developed and provided by the COMPANY contains components that are licensed as Open Source Software. The OSS components may only be used under the respective OSS licence conditions. The OSS components are listed in Annex I. The source code of the OSS components (see „Readme“ in Annex I), the respective licence texts, any copyright notices and their disclaimers shall be made available to the CUSTOMER via link in Annex I.
Upon request by the CUSTOMER, the open source code can also be transmitted on a permanent data carrier (e.g. USB stick).
Attention: With regard to the OSS components used, the contractual partner of the CUSTOMER is not the COMPANY, but the respective open source licensor.
Attention: The COMPANY draws attention to the fact that risks are associated with the use of OSS components. As - demonstrative - examples are to be mentioned: Because the source code of the OSS components is public, it is susceptible to security incidents; furthermore, permanent maintenance and use of the OSS components is not ensured; warranty and damage claims are largely excluded.
6. Restriction of the duty to make available
Since no paid version is owed, the COMPANY is in no way obliged to make the SOFTWARE available. The COMPANY reserves the right to discontinue the SOFTWARE without notice.
7. Limitation of liability and warranty
Since no paid version is owed, all warranty and liability claims against the COMPANY are excluded in their entirety. This shall not apply in the event of intentional damage.
8. Right to amend the evaluation licence
The COMPANY shall be entitled to amend this Evaluation Licence Agreement at any time. The COMPANY shall inform the USER of such amendments by sending the amended Evaluation Licence Agreement to the contact details last provided by the USER. The USER shall have the right to object to the amendments. If the USER does not object within 14 days after notification of the amendments, it shall be assumed that the USER has tacitly agreed to the amended evaluation licence agreement.
9. Data protection and protection of business and trade secrets
The disclosure of data and information to the respective required business partners is permitted to the extent necessary for the fulfilment of the contractual relationship (Art 6 para 1 lit b GDPR). Otherwise, the COMPANY and the USER shall be mutually obliged to maintain secrecy with regard to the circumstances and data relating to the other of which they become aware as a result of the present business relationship and, in particular, to observe data secrecy. These obligations regarding data and business secrecy shall also apply beyond the contractual relationship. The COMPANY and the USER further undertake to instruct and instruct their employees and vicarious agents in this sense.
The contracting parties further undertake to protect mutually disclosed business and trade secrets appropriately within the meaning of section 26b (1) no. 3 of the Austrian UWG.
A violation of the confidentiality obligations may (among other things) result in consequences under criminal law and damages law.
It is pointed out that the source code programmed by the COMPANY constitutes a trade and business secret within the meaning of section 26b UWG.
The COMPANY informs that data of the USER may be processed for advertising purposes on the basis of legitimate interests (Art 6 para 1 lit f DSGVO). The USER is entitled to object to the processing of his/her data for advertising purposes (Art 21 (2) GDPR).
10. Reference-Clause
The COMPANY shall be entitled to indicate the fact of the business relationship with the USER by means of a reference on its homepage or business papers. The COMPANY shall be entitled to use the USER's logo in this context. This right to name references also extends beyond the contractual relationship.
11. Participation in evaluations
For the purpose of evaluating the SOFTWARE, the USER undertakes to provide the COMPANY with information on the user-friendliness and performance of the SOFTWARE to a reasonable extent free of charge upon request by the COMPANY and, if necessary, to communicate any suggestions for improvement.
12. Blocking access to the SOFTWARE
If the COMPANY has reasonable grounds to believe that the USER or one of its end users is using the SOFTWARE in an unlawful manner, the COMPANY shall be entitled to block access to the SOFTWARE immediately and without prior notice. This shall not affect the possibility of further legal remedies.
13. Jurisdiction and applicable law
This contractual relationship shall be governed by and construed in accordance with Austrian law. The application of the United Nations Convention on Contracts for the International Sale of Goods (CISG) and of conflict-of-law rules is excluded.
The exclusive place of jurisdiction is the competent court in Korneuburg, Austria.
14. Further issues
If any part of this Evaluation Licence Agreement should be invalid, the validity of the remaining conditions shall not be affected thereby. The invalid provision shall be replaced by a valid provision which comes as close as possible to the economic intent of both contracting parties as discernible from the agreement.
The COMPANY recommends the USER to save this licence agreement permanently.
ANNEX I Open Source:
sindresorhus/Defaults:
Function Library to persist user settings
Licence MIT-License: https://github.com/sindresorhus/Defaults/blob/main/license
Readme https://github.com/sindresorhus/Defaults
Disclaimer THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Copyrights Sindre Sorhus
sindresorhus/LaunchAtLogin:
Function Provides launch at login functionality
Licence MIT-License: https://github.com/sindresorhus/LaunchAtLogin/blob/main/license
Readme https://github.com/sindresorhus/LaunchAtLogin
Disclaimer THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Copyrights Sindre Sorhus
sindresorhus/Preferences:
Function Preference window library
Licence MIT-License: https://github.com/sindresorhus/Preferences/blob/main/license
Readme https://github.com/sindresorhus/Preferences
Disclaimer THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Copyrights Sindre Sorhus
sparkle-project/Sparkle
Function Framework for automatic app updates
Licence https://github.com/sparkle-project/Sparkle/blob/2.x/LICENSE
Readme https://github.com/sparkle-project/Sparkle
Disclaimer THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
Copyrights Copyright (c) 2006-2013 Andy Matuschak.
Copyright (c) 2009-2013 Elgato Systems GmbH.
Copyright (c) 2011-2014 Kornel Lesiński.
Copyright (c) 2015-2017 Mayur Pawashe.
Copyright (c) 2014 C.W. Betts.
Copyright (c) 2014 Petroules Corporation.
Copyright (c) 2014 Big Nerd Ranch.
=================
EXTERNAL LICENSES
=================
bspatch.c and bsdiff.c, from bsdiff 4.3
Copyright (c) 2003-2005 Colin Percival.
sais.c and sais.c, from sais-lite (2010/08/07)
Copyright (c) 2008-2010 Yuta Mori.
SUSignatureVerifier.m:
Copyright (c) 2011 Mark Hamlin.
Beltex/SMCKit
Function Interface to access the System Management Controller
Licence MIT-License: https://github.com/beltex/SMCKit/blob/master/LICENSE
Readme https://github.com/beltex/SMCKit
Disclaimer THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Copyrights beltex

158
README.md
View File

@ -1,162 +1,40 @@
# AlDente 🍝
# AlDente - Charge Limiter🍝
_MacOS menu bar tool to limit maximum charging percentage_
#### Don't overcook your battery! Keep it fresh and chewy with AlDente.
## Why do I need this?
Li-Ion batteries (like the one in your MacBook) last the longest when operating between 20 and 80 percent. Keeping your battery at 100% at all times can shorten the lifespan of your MacBook significantly.
More information can be found here:
<https://batteryuniversity.com/article/bu-415-how-to-charge-and-when-to-charge>
More information can be found at [Battery University](https://batteryuniversity.com/article/bu-415-how-to-charge-and-when-to-charge).
## Whats AlDente Pro?
AlDente Pro is our paid version of AlDente. It has many more features such as Heat Protection, Sailing Mode, Top Up, Calibration Mode,... It offers a better design and has live status icons. If you are interested in getting the most out of your battery, check out our website: https://apphousekitchen.com/
AlDente Pro is our paid version of AlDente. It has many more features such as Heat Protection, Sailing Mode, Top Up, Calibration Mode,... It offers a better design and has live status icons. If you are interested in getting the most out of your battery, check out our [website](https://apphousekitchen.com/).
AlDente Pro is now available on [Setapp](https://apphousekitchen.com/pricing/) too.
## Features of AlDente Free
* Charge Limiter allows you to set your maximum charging percentage between 20 and 100 percent. You can either set it by using the slide bar or by typing in the desired percentage in the field above and pressing enter afterwards. Read more about the Charge Limiter feature here: https://apphousekitchen.com/feature-explanation-charge-limiter/
* Discharge - This feature allows your MacBook to run completely on Battery even if it is plugged in. Therefore, you can actively discharge your MacBook to a more healthy percentage. Unfortunately, while Discharge is activated, clamshell mode is not supported due to technical limitations. Read more about the Discharge feature here: https://apphousekitchen.com/feature-explanation-discharge/
* Charge Limiter allows you to set your maximum charging percentage between 20 and 100 percent. You can either set it by using the slide bar or by typing in the desired percentage in the field above and pressing enter afterwards. Read more about the Charge Limiter feature in this article ["Feature Explanation: Charge Limiter"](https://apphousekitchen.com/feature-explanation-charge-limiter/).
* Discharge - This feature allows your MacBook to run completely on Battery even if it is plugged in. Therefore, you can actively discharge your MacBook to a more healthy percentage. Unfortunately, while Discharge is activated, clamshell mode is not supported due to technical limitations. Read more about the Discharge feature in this article ["Feature Explanation: Discharge"](https://apphousekitchen.com/feature-explanation-discharge/).
## Supported Devices (macOS 11 Big Sur or higher required)
## Supported MacBook Models (macOS 11 Big Sur or later required)
#### MacBook Pro
Full Support
* MacBook Pro (16-inch, M1 Pro/Max, 2021)
* MacBook Pro (14-inch, M1 Pro/Max, 2021)
* MacBook Pro (13-inch, M1, 2020)
* MacBook Pro (13-inch, 2020, Two Thunderbolt 3 ports)
* MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)
* MacBook Pro (16-inch, 2019)
* MacBook Pro (13-inch, 2019, Two Thunderbolt 3 ports)
* MacBook Pro (15-inch, 2019)
* MacBook Pro (13-inch, 2019, Four Thunderbolt 3 ports)
* MacBook Pro (15-inch, 2018)
* MacBook Pro (13-inch, 2018, Four Thunderbolt 3 ports)
* MacBook Pro (15-inch, 2017)
* MacBook Pro (13-inch, 2017, Four Thunderbolt 3 ports)
* MacBook Pro (13-inch, 2017, Two Thunderbolt 3 ports)
* MacBook Pro (15-inch, 2016)
* MacBook Pro (13-inch, 2016, Four Thunderbolt 3 ports)
* MacBook Pro (13-inch, 2016, Two Thunderbolt 3 ports)
Check out if your MacBook is supported on our [FAQ page](https://apphousekitchen.com/faq/).
Limited Support(Only Charge Limiter through Intel Mode)
* MacBook Pro (Retina, 15-inch, Mid 2015)
* MacBook Pro (Retina, 13-inch, Early 2015)
* MacBook Pro (Retina, 15-inch, Mid 2014)
* MacBook Pro (Retina, 13-inch, Mid 2014)
* MacBook Pro (Retina, 15-inch, Late 2013)
* MacBook Pro (Retina, 13-inch, Late 2013)
#### MacBook Air
Full Support
* MacBook Air (M1, 2020)
* MacBook Air (Retina, 13-inch, 2020)
* MacBook Air (Retina, 13-inch, 2019)
* MacBook Air (Retina, 13-inch, 2018)
Limited Support(Only Charge Limiter through Intel Mode)
* MacBook Air (13-inch, 2017)
* MacBook Air (13-inch, Early 2015)
* MacBook Air (11-inch, Early 2015)
* MacBook Air (13-inch, Early 2014)
* MacBook Air (11-inch, Early 2014)
* MacBook Air (13-inch, Mid 2013)
* MacBook Air (11-inch, Mid 2013)
#### MacBook 12"
Limited Support(Only Charge Limiter through Intel Mode)
* MacBook (Retina, 12-inch, 2017)
* MacBook (Retina, 12-inch, Early 2016)
* MacBook (Retina, 12-inch, Early 2015)
## Download:
## Download
You can download the app from GitHub: <https://github.com/davidwernhart/AlDente/releases>
## Installation Guide
An installation guide can be found on our website: https://apphousekitchen.com/installation-guide/
An installation guide can be found on our website:[Installation Guide](https://apphousekitchen.com/installation-guide/)
## How to use:
## How to use
When the installation is finished, enter your desired max. charging percentage by clicking on the 🍝 icon on your menu bar. Usually, the operating system will take a minute or two registering the changes, so be patient. You can check if it's working by setting the max. percentage to e.g.: 80%. After a while, clicking on your battery icon will report "Battery is not charging" if you have more than ≈73% left, even though your charger is connected. Notice that in this state, your MacBook is still powered by the charger, but the battery is not charging anymore.
For some reason, macOS will always try to squeeze in a few more percent than specified. For example, if you set yours to 80% it will stop charging at around 83%, so be patient.
IMPORTANT: Keeping your battery at a lower percentage, such as under 80%, over weeks without doing full cycles (100%-0%) can result in a disturbed battery calibration. When this happens, your Macbook might turn off with 40-50% left or your battery capacity will drop significantly. However, this is only due to a disturbed battery calibration and not because of a faulty or degraded battery. To avoid this issue, we recommend doing at least one full cycle (0%-100%) every two weeks. Even if your battery calibration gets disturbed, doing 4+ full cycles will recalibrate your battery and the capacity will go up again.
IMPORTANT: Keeping your battery at a lower percentage, such as 20-80%, over weeks without doing full cycles (100%-0%) can result in a disturbed battery calibration. When this happens, your Macbook might turn off with 40-50% left or your battery capacity will drop significantly. However, this is only due to a disturbed battery calibration and not because of a faulty or degraded battery. To avoid this issue, we recommend doing at least one full cycle (0%-100%) every two weeks. Even if your battery calibration gets disturbed, doing 4+ full cycles will recalibrate your battery and the capacity will go up again.
## FAQ
<details>
<summary>IT DOES NOT WORK???</summary>
Firstly, AlDente does only prevent your Mac from charging more than you specify, it does NOT automatically drain your battery to the specified percentage. Secondly, make sure you have Apple's "Optimized battery charging" disabled, keeping it on will result in slow charging beyond the charge limit. Lastly, check the next questing regarding the behavior of AlDente while your MacBook is in sleep or powered off.
</details>
<details>
<summary>CHARGE LIMITER DOES NOT WORK! :(</summary>
AlDente Free can not control the charging behavior of your MacBook while it is in sleep, or shut down. Therefore, it will continue to charge to 100% when you close the lid or shut it down. AlDente Pro has features called "Stop charging when sleeping" and "Stop charging when powered off" to counteract this behavior. You can read more about these features in our blog:
https://apphousekitchen.com/feature-explanation-stop-charging-when-sleeping/
https://apphousekitchen.com/feature-explanation-stop-charging-when-powered-off-app-closed/
</details>
<details>
<summary>WHY DOES MY MACBOOK KEEP CHARGING WHEN IT IS POWERED OFF?</summary>
AlDente Free can not control the charging behavior of your MacBook while it is in sleep, or shut down. Therefore, it will continue to charge to 100% when you close the lid or shut it down. AlDente Pro has features called "Stop charging when sleeping" and "Stop charging when powered off" to counteract this behavior. You can read more about these features in our blog:
https://apphousekitchen.com/feature-explanation-stop-charging-when-sleeping/
https://apphousekitchen.com/feature-explanation-stop-charging-when-powered-off-app-closed/
</details>
<details>
<summary>WHY DOES MY MACBOOK KEEP CHARGING WHEN IT IS IN SLEEP?</summary>
AlDente Free can not control the charging behavior of your MacBook while it is in sleep, or shut down. Therefore, it will continue to charge to 100% when you close the lid or shut it down. AlDente Pro has features called "Stop charging when sleeping" and "Stop charging when powered off" to counteract this behavior. You can read more about these features in our blog:
* https://apphousekitchen.com/feature-explanation-stop-charging-when-sleeping/
* https://apphousekitchen.com/feature-explanation-stop-charging-when-powered-off-app-closed/
</details>
<details>
<summary>HOW TO UNINSTALL?</summary>
Take a look at our blog post here: https://apphousekitchen.com/how-to-uninstall-aldente-pro/
</details>
<details>
<summary>DO I HAVE TO DISABLE APPLE'S "OPTIMIZED BATTERY CHARGING"?</summary>
Yes! Leaving it on results in slow charging, even when AlDente is trying to inhibit it.
</details>
<details>
<summary>WHY DOES DISCHARGE NOT WORK IN CLAMSHELL MODE?</summary>
Discharge in Clamshell mode is only supported in AlDente Pro.
</details>
<details>
<summary>HELP, SAILING MODE DOES NOT WORK!?</summary>
The Sailing Mode is not intended to actively discharge your battery. Therefore, your MacBook will barely lose any energy even in Sailing Mode, since the power brick is the main source of energy. So do not worry when the battery percentage does not change even if the Sailing Mode is activated. Sailing Mode is still doing its thing.
</details>
<details>
<summary>WHY DOES THE SAILING MODE NOT CHARGE AND DISCHARGE THE MACBOOK BETWEEN A CERTAIN RANGE?</summary>
Unlike the common belief, it is actually way more unhealthy for a battery to always get cycled between a reasonable range (for example between 30% and 70%) than to just stay at a healthy percentage (for example 80%). This is due to even reasonable charge cycling adding a lot of charge cycles which results in more and faster battery degradation over time than just using the MacBook plugged in at a healthy percentage. However, this does not mean that you should not use your MacBook remotely. MacBooks are portable devices but if you use your MacBook in your office pugged in, it is better to just limit charging to a healthy percentage than to cycle between a certain range.
</details>
<details>
<summary>HELP MY BATTERY CAPACITY DROPPED AND MY MACBOOK TURNS OFF WITH 50% LEFT</summary>
Keeping your battery at a lower percentage, such as 20-70%, over weeks without doing full cycles (100%-0%-100%) can result in a disturbed battery calibration. When this happens, your Macbook might turn off with 40-50% left or your battery capacity will drop significantly. However, this is only due to a disturbed battery calibration and not because of a faulty or degraded battery. To avoid this issue, we recommend doing at least one full cycle (0%-100%) every two weeks. Even if your battery calibration gets disturbed, doing 4-5 full cycles will recalibrate your battery and the capacity will go up again. AlDente Pro has a feature called Calibration Mode(https://apphousekitchen.com/feature-explanation-calibration-mode-2/), which will automatically do a full cycle when startet. You can read more about the calibration of "smart" batteries here: https://batteryuniversity.com/article/bu-603-how-to-calibrate-a-smart-battery
</details>
<details>
<summary>WHAT IS ALDENTE CLASSIC?</summary>
AlDente Classic is our original version of AlDente. First introduced in 2020 and further developed until March 2021. With a complete rewrite of the code of AlDente and the introduction of AlDente Pro, we decided to rename the original AlDente in AlDente Classic and use the name AlDente (Free) or AlDente Pro with synchronous versioning between these two from now on.
</details>
<details>
<summary>WHY IS ALDENTE NOT SUPPORTED BY OLDER VERSIONS OF MACOS AND ARE YOU PLANNING TO SUPPORT OLDER MACOS VERSIONS IN THE FUTURE?</summary>
Due to SwiftUI not being compatible with older versions of macOS, AlDente is only compatible with macOS 11 Big Sur on newer. Even though it might be possible to get AlDente to work on older MacBooks and macOS versions too, we are currently not working on it.
</details>
<details>
<summary>IS ALDENTE OPEN SOURCE?</summary>
The first couple of versions of AlDente Classic until AlDente Classic 2.0 are open source. Later versions of AlDente Classic or AlDente Free/Pro are not open source anymore.
</details>
<details>
<summary>UPDATED TO MACOS 12 MONTEREY AND ALDENTE DOES NOT WORK ANYMORE!</summary>
No worries, big macOS updates might require a reinstall for AlDente. Just reinstall AlDente and everything should work as expected again.
</details>
## Support
* Most questions are already answered on our [FAQ page](https://apphousekitchen.com/faq/) or on our [blog](https://apphousekitchen.com/blog/). Check them out!
* E-mail support is only available for AlDente Pro customers. Check out our [support page](https://apphousekitchen.com/support/) if you want to contact us.
* Due to limited recourses, we are not able providing support to AlDente Free users or here in Github.
## Other tools used in this project:
* <https://github.com/beltex/SMCKit>
@ -164,7 +42,7 @@ IMPORTANT: Keeping your battery at a lower percentage, such as 20-80%, over week
* <https://github.com/andreyvit/create-dmg>
## Disclaimer:
I do not take any responsibility for any sort of damage in result of using this tool! Alltough this had no negative side effects for me and thousands of others, AlDente still taps in some very low level system functions that are not ment to be tampered with. Use it at your own risk!
I do not take any responsibility for any sort of damage in result of using this tool! Although this had no negative side effects for me and thousands of others, AlDente still taps in some very low level system functions that are not meant to be tampered with. Use it at your own risk!
Copyright(c) 2021 AppHouseKitchen