rgerganov /
footswitch
Command-line utility for PCsensor and Scythe foot switches
78/100 healthLoading repository data…
binchewer / repository
OSX command line utility that attempts to restore pre-Mavericks power button behavior. Written in C.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
OSX command line utility that attempts to restore pre-Mavericks power button behavior. Written in C.
Original paper could be found at http://binchewer.org/blog/index.php?id=1.
Donations are welcome at 1G1RKjYazp8TjxKTC6YpWADZzejQaiCeEc or LKqD7vAfWkfDTSzta1YUdGqWkBj1RMf654.
In OSX Mavericks short tap on power button instantly puts the system to sleep. It is very annoying if you don't mean to press power key, but mishit delete key or F12 key. In that case downloads stop, VPN, SSH and RPD sessions break, and all world goes to chaos. This disturbing new feature is implemented in CoreService loginwindow.app. power_fixer tries to fix loginwindow.app in memory to bring back old behavior - show shutdown dialog instead of instant sleep.
Basically all you have to do is download the project, build it, and run it from superuser (sudo power_fixer). If the program succeed, the output should look like this (in this case there are 2 active users in the system, each has its own loginwindow):
$ sudo ./power_fixer
power_fixer v0.1, by binchewer
------------------------------
Found loginwindow with PID 59
loginwindow base_address is 0x0000000101d40000
loginwindow text section found at offset 0x4e10, 387004 bytes
Found potential timer setup at 0000000101d8d08f
Found new timer value at 0000000101d955ca: 0.000153
Writing value 00008533 to address 101d8d093.
Found loginwindow with PID 845
loginwindow base_address is 0x00000001091aa000
loginwindow text section found at offset 0x4e10, 387004 bytes
Found potential timer setup at 00000001091f708f
Found new timer value at 00000001091ff5ca: 0.000153
Writing value 00008533 to address 1091f7093.
All done.
First, it tries to locate all loginwindow instances. Then it tries to locate executable Mach-O of each instance, and __text section in this Mach-O. Then it tries to find in this section the initialization of xmm0 register with value of 1.5 (that is the default timeout for showing shutdown dialog). Then it tries to find smaller values (from 0.0001 to 0.005). Finally it fixes the abovementioned intialization of xmm0 register so it reference the newfound smaller value instead of old one.
All that magic effectively cuts shutdown dialog timeout from 1.5 seconds to milliseconds, therefore shutdown dialog appears before you release the power key, and the system does not screw up anymore.
Of course, messing with programs in memory is never easy and failproof, this is a list of known problems:
chmod +s the utility and put in to autolaunch sequence or in cron, but I didn't try it. Ultimate solution would be to hijack loginwindow launch, but I was to lazy to dig that.The program tries its best not to break your system, but if it does, please don't hesitate to report. Also it may be too scrupulous and deny fixing your loginwindow for some reason. Don't hesitate to report that either.
Selected from shared topics, language and repository description—not editorial ratings.
rgerganov /
Command-line utility for PCsensor and Scythe foot switches
78/100 healthcommander-cli /
Test your command line interfaces on windows, linux and osx and nodes viá ssh and docker
73/100 healthmcthomas /
A simple command-line Apple Music controller script which includes a "Now Playing" widget function, a playback function, and a list-out function for your Mac's Music.app library, written in sh.
vareille /
a beep that really beeps - cross-platform command line tool to toot "tooot" - it's also a C C++ library
69/100 healthelliotweiser /
An Ansible role for installing OS X Command Line Tools
68/100 healthlucasbento /
Command-line interface to interact with the Reminders.app
44/100 health