KeepingYouAwake icon indicating copy to clipboard operation
KeepingYouAwake copied to clipboard

[Suggestion] Keyboard Shortcut

Open ibehnam opened this issue 2 years ago • 4 comments

Many users use apps that hide menu bar items. It'd be great if we could set a keyboard shortcut to toggle KeepingYouAwake without having to click on its icon.

ibehnam avatar Jul 30 '22 00:07 ibehnam

That's definitely a good idea to provide a customizable keyboard shortcut 👍. Thanks for the suggestion!

newmarcel avatar Sep 11 '22 10:09 newmarcel

Sure thing! I think if KYA gets integrated with Raycast, then it would solve the problem because one can set shortcuts in Raycast. For example, this does what KYA does within Raycast, but unfortunately it doesn't show the status in the menu bar like KYA.

ibehnam avatar Sep 13 '22 03:09 ibehnam

You can add custom Raycast scripts to achieve this functionality. Commands you'll need are

  • open keepingyouawake:///activate
  • open keepingyouawake:///deactivate
  • open keepingyouawake:///toggle

for example, you can use the following code (keepingyouawake.py)

#!/usr/bin/env python3
#
# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title keepingyouawake
# @raycast.mode silent
# @raycast.packageName Raycast Scripts
#
# Optional parameters:
# @raycast.argument1 { "type": "text", "placeholder": "on/off/Toggle", "optional": true}

import sys
import subprocess
if sys.argv[1].lower() == 'on':
  subprocess.call("open keepingyouawake:///activate", shell=True)
elif sys.argv[1].lower() == 'off':
  subprocess.call("open keepingyouawake:///deactivate", shell=True)
else:
  # no argument will toggle on/off
  subprocess.call("open keepingyouawake:///toggle", shell=True)

tjdoc avatar Feb 04 '23 10:02 tjdoc

You can add custom Raycast scripts to achieve this functionality. Commands you'll need are

  • open keepingyouawake:///activate
  • open keepingyouawake:///deactivate
  • open keepingyouawake:///toggle

for example, you can use the following code (keepingyouawake.py)

#!/usr/bin/env python3
#
# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title keepingyouawake
# @raycast.mode silent
# @raycast.packageName Raycast Scripts
#
# Optional parameters:
# @raycast.argument1 { "type": "text", "placeholder": "on/off/Toggle", "optional": true}

import sys
import subprocess
if sys.argv[1].lower() == 'on':
  subprocess.call("open keepingyouawake:///activate", shell=True)
elif sys.argv[1].lower() == 'off':
  subprocess.call("open keepingyouawake:///deactivate", shell=True)
else:
  # no argument will toggle on/off
  subprocess.call("open keepingyouawake:///toggle", shell=True)

Thanks, this is the way. I aliased it with ka in Raycast and solved the problem!

ibehnam avatar Feb 12 '23 05:02 ibehnam