0.1.1 • Published 6 years ago

hyperalfred v0.1.1

Weekly downloads
12
License
MIT
Repository
github
Last release
6 years ago

hyperalfred

⚡🔎🎩 Makes Alfred works with Hyper terminal

Installation

Hyper plugin

Using Hyper, you can simply use hyper:

hyper i hyperalfred

Alfred script

Open Alfred Preferences, go to « Features », « Terminal / Shell ». Select « Custom » as Application, and paste the following (replace USERNAME with your actual username):

on alfred_script(q)
    write_to_file(q, "/Users/USERNAME/.hyper_plugins/hyperalfred.txt", false)
    tell application "Hyper" to activate
end alfred_script

on write_to_file(this_data, target_file, append_data)
    try
        tell application "System Events" to exists file target_file
        if not the result then do shell script "> " & quoted form of target_file
        set the open_target_file to open for access target_file with write permission
        if append_data is false then set eof of the open_target_file to 0
        write this_data to the open_target_file starting at eof
        close access the open_target_file
        return true
    on error e
        try
            display dialog e
            close access target_file
        end try
        return false
    end try
end write_to_file

If you do not know what username you should use, open a Terminal and run whoami or id -un

You're ready to go !

How it works

As you may know, Electron apps are known to be not working with Apple Script. I'm using a buffer file (located in ~/.hyper_plugins/hyperalfred.txt) Once the plugin is loaded on Hyper, it checks that file for a command. If there is one, it just write it using Hyper API and clears the file.

Caveats

hyperalfred will only work if Hyper is not already the focused application. That means you can not expect to launch a command from Alfred if Hyper is the focused application. This is because Alfred does not make Hyper to loose focus.