diff --git a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.02B3D711-234D-45C7-99C1-98C8D4604DCC/icon.png b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.02B3D711-234D-45C7-99C1-98C8D4604DCC/icon.png
new file mode 100644
index 0000000..4996cb9
Binary files /dev/null and b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.02B3D711-234D-45C7-99C1-98C8D4604DCC/icon.png differ
diff --git a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.02B3D711-234D-45C7-99C1-98C8D4604DCC/info.plist b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.02B3D711-234D-45C7-99C1-98C8D4604DCC/info.plist
index a914e12..148b4a5 100644
--- a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.02B3D711-234D-45C7-99C1-98C8D4604DCC/info.plist
+++ b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.02B3D711-234D-45C7-99C1-98C8D4604DCC/info.plist
@@ -3,7 +3,9 @@
bundleid
-
+ com.arbitrarydefinitions.quickcursor
+ category
+ Tools
connections
64D4866F-5048-4D9D-B4E4-E718528E7C30
@@ -21,42 +23,15 @@
createdby
-
+ Alpha Chen
description
disabled
name
- QuickCursor
+ Edit in MacVim
objects
-
- config
-
- action
- 0
- argument
- 1
- hotkey
- 9
- hotmod
- 1835008
- hotstring
- V
- leftcursor
-
- modsmode
- 0
- relatedAppsMode
- 0
-
- type
- alfred.workflow.trigger.hotkey
- uid
- 64D4866F-5048-4D9D-B4E4-E718528E7C30
- version
- 1
-
config
@@ -108,6 +83,33 @@ end
version
0
+
+ config
+
+ action
+ 0
+ argument
+ 1
+ hotkey
+ 9
+ hotmod
+ 1835008
+ hotstring
+ V
+ leftcursor
+
+ modsmode
+ 0
+ relatedAppsMode
+ 0
+
+ type
+ alfred.workflow.trigger.hotkey
+ uid
+ 64D4866F-5048-4D9D-B4E4-E718528E7C30
+ version
+ 1
+
readme
@@ -125,6 +127,6 @@ end
webaddress
-
+ https://github.com/kejadlen
diff --git a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_gem.png b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_gem.png
new file mode 100644
index 0000000..c1cefe4
Binary files /dev/null and b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_gem.png differ
diff --git a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_rails.png b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_rails.png
new file mode 100644
index 0000000..e3e01b9
Binary files /dev/null and b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_rails.png differ
diff --git a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_rubygems.png b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_rubygems.png
new file mode 100644
index 0000000..c1cefe4
Binary files /dev/null and b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/dash_keyword_rubygems.png differ
diff --git a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/info.plist b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/info.plist
index 6b4c357..745953d 100644
--- a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/info.plist
+++ b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.35F259A3-BBD9-4A1B-B237-5E149EE1E723/info.plist
@@ -244,6 +244,33 @@
+ dash_keyword_rails
+
+
+ destinationuid
+ dash_action_normal
+ modifiers
+ 0
+ modifiersubtext
+
+
+
+ destinationuid
+ dash_action_cmd
+ modifiers
+ 1048576
+ modifiersubtext
+
+
+
+ destinationuid
+ dash_action_alt
+ modifiers
+ 524288
+ modifiersubtext
+
+
+
dash_keyword_rb
@@ -271,6 +298,33 @@
+ dash_keyword_rubygems
+
+
+ destinationuid
+ dash_action_normal
+ modifiers
+ 0
+ modifiersubtext
+
+
+
+ destinationuid
+ dash_action_cmd
+ modifiers
+ 1048576
+ modifiersubtext
+
+
+
+ destinationuid
+ dash_action_alt
+ modifiers
+ 524288
+ modifiersubtext
+
+
+
dash_keyword_sqlalchemy
@@ -476,6 +530,254 @@
Do not try to change the keywords from within Alfred, as Dash will overwrite your changes. If you want to change a keyword, change it from within Dash (in Preferences > Docsets).
+That said, you can edit anything else within this workflow (including adding new triggers/actions/hotkeys).
+ subtext
+ Please read what's in the "Script:" section below
+ title
+ PLEASE README
+ type
+ 0
+ withspace
+
+
+ type
+ alfred.workflow.input.scriptfilter
+ uid
+ dash_note_readme
+ version
+ 0
+
+
+ config
+
+ argumenttype
+ 0
+ escaping
+ 0
+ runningsubtext
+ Please read what's in the "Script:" section below
+ script
+ Dash dynamically updates this workflow with docset and search profile keywords.
+
+Do not try to change the keywords from within Alfred, as Dash will overwrite your changes. If you want to change a keyword, change it from within Dash (in Preferences > Docsets).
+
+That said, you can edit anything else within this workflow (including adding new triggers/actions/hotkeys).
+ subtext
+ Please read what's in the "Script:" section below
+ title
+ PLEASE README
+ type
+ 0
+ withspace
+
+
+ type
+ alfred.workflow.input.scriptfilter
+ uid
+ dash_note_readme
+ version
+ 0
+
+
+ config
+
+ argumenttype
+ 0
+ escaping
+ 0
+ runningsubtext
+ Please read what's in the "Script:" section below
+ script
+ Dash dynamically updates this workflow with docset and search profile keywords.
+
+Do not try to change the keywords from within Alfred, as Dash will overwrite your changes. If you want to change a keyword, change it from within Dash (in Preferences > Docsets).
+
+That said, you can edit anything else within this workflow (including adding new triggers/actions/hotkeys).
+ subtext
+ Please read what's in the "Script:" section below
+ title
+ PLEASE README
+ type
+ 0
+ withspace
+
+
+ type
+ alfred.workflow.input.scriptfilter
+ uid
+ dash_note_readme
+ version
+ 0
+
+
+ config
+
+ argumenttype
+ 0
+ escaping
+ 0
+ runningsubtext
+ Please read what's in the "Script:" section below
+ script
+ Dash dynamically updates this workflow with docset and search profile keywords.
+
+Do not try to change the keywords from within Alfred, as Dash will overwrite your changes. If you want to change a keyword, change it from within Dash (in Preferences > Docsets).
+
+That said, you can edit anything else within this workflow (including adding new triggers/actions/hotkeys).
+ subtext
+ Please read what's in the "Script:" section below
+ title
+ PLEASE README
+ type
+ 0
+ withspace
+
+
+ type
+ alfred.workflow.input.scriptfilter
+ uid
+ dash_note_readme
+ version
+ 0
+
+
+ config
+
+ argumenttype
+ 0
+ escaping
+ 0
+ runningsubtext
+ Please read what's in the "Script:" section below
+ script
+ Dash dynamically updates this workflow with docset and search profile keywords.
+
+Do not try to change the keywords from within Alfred, as Dash will overwrite your changes. If you want to change a keyword, change it from within Dash (in Preferences > Docsets).
+
+That said, you can edit anything else within this workflow (including adding new triggers/actions/hotkeys).
+ subtext
+ Please read what's in the "Script:" section below
+ title
+ PLEASE README
+ type
+ 0
+ withspace
+
+
+ type
+ alfred.workflow.input.scriptfilter
+ uid
+ dash_note_readme
+ version
+ 0
+
+
+ config
+
+ argumenttype
+ 0
+ escaping
+ 0
+ runningsubtext
+ Please read what's in the "Script:" section below
+ script
+ Dash dynamically updates this workflow with docset and search profile keywords.
+
+Do not try to change the keywords from within Alfred, as Dash will overwrite your changes. If you want to change a keyword, change it from within Dash (in Preferences > Docsets).
+
+That said, you can edit anything else within this workflow (including adding new triggers/actions/hotkeys).
+ subtext
+ Please read what's in the "Script:" section below
+ title
+ PLEASE README
+ type
+ 0
+ withspace
+
+
+ type
+ alfred.workflow.input.scriptfilter
+ uid
+ dash_note_readme
+ version
+ 0
+
+
+ config
+
+ argumenttype
+ 0
+ escaping
+ 0
+ runningsubtext
+ Please read what's in the "Script:" section below
+ script
+ Dash dynamically updates this workflow with docset and search profile keywords.
+
+Do not try to change the keywords from within Alfred, as Dash will overwrite your changes. If you want to change a keyword, change it from within Dash (in Preferences > Docsets).
+
+That said, you can edit anything else within this workflow (including adding new triggers/actions/hotkeys).
+ subtext
+ Please read what's in the "Script:" section below
+ title
+ PLEASE README
+ type
+ 0
+ withspace
+
+
+ type
+ alfred.workflow.input.scriptfilter
+ uid
+ dash_note_readme
+ version
+ 0
+
+
+ config
+
+ argumenttype
+ 0
+ escaping
+ 0
+ runningsubtext
+ Please read what's in the "Script:" section below
+ script
+ Dash dynamically updates this workflow with docset and search profile keywords.
+
+Do not try to change the keywords from within Alfred, as Dash will overwrite your changes. If you want to change a keyword, change it from within Dash (in Preferences > Docsets).
+
+That said, you can edit anything else within this workflow (including adding new triggers/actions/hotkeys).
+ subtext
+ Please read what's in the "Script:" section below
+ title
+ PLEASE README
+ type
+ 0
+ withspace
+
+
+ type
+ alfred.workflow.input.scriptfilter
+ uid
+ dash_note_readme
+ version
+ 0
+
+
+ config
+
+ argumenttype
+ 0
+ escaping
+ 0
+ runningsubtext
+ Please read what's in the "Script:" section below
+ script
+ Dash dynamically updates this workflow with docset and search profile keywords.
+
+Do not try to change the keywords from within Alfred, as Dash will overwrite your changes. If you want to change a keyword, change it from within Dash (in Preferences > Docsets).
+
That said, you can edit anything else within this workflow (including adding new triggers/actions/hotkeys).
subtext
Please read what's in the "Script:" section below
@@ -696,6 +998,35 @@ That said, you can edit anything else within this workflow (including adding new
version
0
+
+ config
+
+ argumenttype
+ 0
+ escaping
+ 110
+ keyword
+ rails
+ runningsubtext
+ Searching for "{query}"
+ script
+ ./dashAlfredWorkflow "rails:{query}"
+ subtext
+ Search Ruby on Rails 4 for "{query}"
+ title
+ Search Ruby on Rails 4
+ type
+ 0
+ withspace
+
+
+ type
+ alfred.workflow.input.scriptfilter
+ uid
+ dash_keyword_rails
+ version
+ 0
+
config
@@ -725,6 +1056,35 @@ That said, you can edit anything else within this workflow (including adding new
version
0
+
+ config
+
+ argumenttype
+ 0
+ escaping
+ 110
+ keyword
+ rubygems
+ runningsubtext
+ Searching for "{query}"
+ script
+ ./dashAlfredWorkflow "rubygems:{query}"
+ subtext
+ Search sequel and 2 others for "{query}"
+ title
+ Search sequel
+ type
+ 0
+ withspace
+
+
+ type
+ alfred.workflow.input.scriptfilter
+ uid
+ dash_keyword_rubygems
+ version
+ 0
+
config
@@ -857,21 +1217,31 @@ The keyword is either a docset keyword (defined in Preferences > Docsets) or
ypos
1650
- dash_keyword_rb
+ dash_keyword_rails
ypos
1770
- dash_keyword_sqlalchemy
+ dash_keyword_rb
ypos
1890
- dash_keyword_sqlite
+ dash_keyword_rubygems
ypos
2010
+ dash_keyword_sqlalchemy
+
+ ypos
+ 2130
+
+ dash_keyword_sqlite
+
+ ypos
+ 2250
+
dash_note_readme
ypos
diff --git a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.7E45F1DF-16F4-4335-91F9-B008C0F32243/icon.png b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.7E45F1DF-16F4-4335-91F9-B008C0F32243/icon.png
deleted file mode 100644
index f069128..0000000
Binary files a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.7E45F1DF-16F4-4335-91F9-B008C0F32243/icon.png and /dev/null differ
diff --git a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.7E45F1DF-16F4-4335-91F9-B008C0F32243/info.plist b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.7E45F1DF-16F4-4335-91F9-B008C0F32243/info.plist
deleted file mode 100644
index e0b05be..0000000
--- a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.7E45F1DF-16F4-4335-91F9-B008C0F32243/info.plist
+++ /dev/null
@@ -1,111 +0,0 @@
-
-
-
-
- bundleid
- com.alfredapp.david.googlesuggest
- connections
-
- 63F60794-BB56-4415-9372-BAF974C3A7E1
-
-
- destinationuid
- B8FFA3AB-AD7D-4316-A84F-5958A671D4FF
- modifiers
- 0
- modifiersubtext
-
-
-
-
- createdby
- David Ferguson
- description
- Get Google Search Suggestions
- disabled
-
- name
- Google Suggest
- objects
-
-
- config
-
- argumenttype
- 0
- escaping
- 36
- keyword
- g
- runningsubtext
- Retrieving search suggestions ...
- script
- require_once('workflows.php');
-$wf = new Workflows();
-
-$orig = "{query}";
-$xml = $wf->request( "http://google.com/complete/search?output=toolbar&q=".urlencode( $orig ) );
-$xml = simplexml_load_string( utf8_encode($xml) );
-$int = 1;
-
-foreach( $xml as $sugg ):
- $data = $sugg->suggestion->attributes()->data;
- $wf->result( $int.'.'.time(), "$data", "$data", 'Search Google for '.$data, 'icon.png' );
- $int++;
-endforeach;
-
-$results = $wf->results();
-if ( count( $results ) == 0 ):
- $wf->result( 'googlesuggest', $orig, 'No Suggestions', 'No search suggestions found. Search Google for '.$orig, 'icon.png' );
-endif;
-
-echo $wf->toxml();
- subtext
- Search Google with Suggestions
- title
- Search Google
- type
- 1
- withspace
-
-
- type
- alfred.workflow.input.scriptfilter
- uid
- 63F60794-BB56-4415-9372-BAF974C3A7E1
- version
- 0
-
-
- config
-
- searcher
- 1635215215
-
- type
- alfred.workflow.action.systemwebsearch
- uid
- B8FFA3AB-AD7D-4316-A84F-5958A671D4FF
- version
- 0
-
-
- readme
-
- uidata
-
- 63F60794-BB56-4415-9372-BAF974C3A7E1
-
- ypos
- 60
-
- B8FFA3AB-AD7D-4316-A84F-5958A671D4FF
-
- ypos
- 60
-
-
- webaddress
- dferg.us
-
-
diff --git a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.7E45F1DF-16F4-4335-91F9-B008C0F32243/workflows.php b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.7E45F1DF-16F4-4335-91F9-B008C0F32243/workflows.php
deleted file mode 100644
index 871f502..0000000
--- a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.7E45F1DF-16F4-4335-91F9-B008C0F32243/workflows.php
+++ /dev/null
@@ -1,462 +0,0 @@
-path = exec('pwd');
- $this->home = exec('printf $HOME');
-
- if ( file_exists( 'info.plist' ) ):
- $this->bundle = $this->get( 'bundleid', 'info.plist' );
- endif;
-
- if ( !is_null( $bundleid ) ):
- $this->bundle = $bundleid;
- endif;
-
- $this->cache = $this->home. "/Library/Caches/com.runningwithcrayons.Alfred-2/Workflow Data/".$this->bundle;
- $this->data = $this->home. "/Library/Application Support/Alfred 2/Workflow Data/".$this->bundle;
-
- if ( !file_exists( $this->cache ) ):
- exec("mkdir '".$this->cache."'");
- endif;
-
- if ( !file_exists( $this->data ) ):
- exec("mkdir '".$this->data."'");
- endif;
-
- $this->results = array();
- }
-
- /**
- * Description:
- * Accepts no parameter and returns the value of the bundle id for the current workflow.
- * If no value is available, then false is returned.
- *
- * @param none
- * @return false if not available, bundle id value if available.
- */
- public function bundle()
- {
- if ( is_null( $this->bundle ) ):
- return false;
- else:
- return $this->bundle;
- endif;
- }
-
- /**
- * Description:
- * Accepts no parameter and returns the value of the path to the cache directory for your
- * workflow if it is available. Returns false if the value isn't available.
- *
- * @param none
- * @return false if not available, path to the cache directory for your workflow if available.
- */
- public function cache()
- {
- if ( is_null( $this->bundle ) ):
- return false;
- else:
- if ( is_null( $this->cache ) ):
- return false;
- else:
- return $this->cache;
- endif;
- endif;
- }
-
- /**
- * Description:
- * Accepts no parameter and returns the value of the path to the storage directory for your
- * workflow if it is available. Returns false if the value isn't available.
- *
- * @param none
- * @return false if not available, path to the storage directory for your workflow if available.
- */
- public function data()
- {
- if ( is_null( $this->bundle ) ):
- return false;
- else:
- if ( is_null( $this->data ) ):
- return false;
- else:
- return $this->data;
- endif;
- endif;
- }
-
- /**
- * Description:
- * Accepts no parameter and returns the value of the path to the current directory for your
- * workflow if it is available. Returns false if the value isn't available.
- *
- * @param none
- * @return false if not available, path to the current directory for your workflow if available.
- */
- public function path()
- {
- if ( is_null( $this->path ) ):
- return false;
- else:
- return $this->path;
- endif;
- }
-
- /**
- * Description:
- * Accepts no parameter and returns the value of the home path for the current user
- * Returns false if the value isn't available.
- *
- * @param none
- * @return false if not available, home path for the current user if available.
- */
- public function home()
- {
- if ( is_null( $this->home ) ):
- return false;
- else:
- return $this->home;
- endif;
- }
-
- /**
- * Description:
- * Returns an array of available result items
- *
- * @param none
- * @return array - list of result items
- */
- public function results()
- {
- return $this->results;
- }
-
- /**
- * Description:
- * Convert an associative array into XML format
- *
- * @param $a - An associative array to convert
- * @param $format - format of data being passed (json or array), defaults to array
- * @return - XML string representation of the array
- */
- public function toxml( $a=null, $format='array' ) {
-
- if ( $format == 'json' ):
- $a = json_decode( $a, TRUE );
- endif;
-
- if ( is_null( $a ) && !empty( $this->results ) ):
- $a = $this->results;
- elseif ( is_null( $a ) && empty( $this->results ) ):
- return false;
- endif;
-
- $items = new SimpleXMLElement(""); // Create new XML element
-
- foreach( $a as $b ): // Lop through each object in the array
- $c = $items->addChild( 'item' ); // Add a new 'item' element for each object
- $c_keys = array_keys( $b ); // Grab all the keys for that item
- foreach( $c_keys as $key ): // For each of those keys
- if ( $key == 'uid' ):
- $c->addAttribute( 'uid', $b[$key] );
- elseif ( $key == 'arg' ):
- $c->addAttribute( 'arg', $b[$key] );
- elseif ( $key == 'type' ):
- $c->addAttribute( 'type', $b[$key] );
- elseif ( $key == 'valid' ):
- if ( $b[$key] == 'yes' || $b[$key] == 'no' ):
- $c->addAttribute( 'valid', $b[$key] );
- endif;
- elseif ( $key == 'autocomplete' ):
- $c->addAttribute( 'autocomplete', $b[$key] );
- elseif ( $key == 'icon' ):
- if ( substr( $b[$key], 0, 9 ) == 'fileicon:' ):
- $val = substr( $b[$key], 9 );
- $c->$key = $val;
- $c->$key->addAttribute( 'type', 'fileicon' );
- elseif ( substr( $b[$key], 0, 9 ) == 'filetype:' ):
- $val = substr( $b[$key], 9 );
- $c->$key = $val;
- $c->$key->addAttribute( 'type', 'filetype' );
- else:
- $c->$key = $b[$key];
- endif;
- else:
- $c->$key = $b[$key];
- endif;
- endforeach;
- endforeach;
-
- return $items->asXML(); // Return XML string representation of the array
-
- }
-
- /**
- * Description:
- * Remove all items from an associative array that do not have a value
- *
- * @param $a - Associative array
- * @return bool
- */
- private function empty_filter( $a ) {
- if ( $a == '' || $a == null ): // if $a is empty or null
- return false; // return false, else, return true
- else:
- return true;
- endif;
- }
-
- /**
- * Description:
- * Save values to a specified plist. If the first parameter is an associative
- * array, then the second parameter becomes the plist file to save to. If the
- * first parameter is string, then it is assumed that the first parameter is
- * the label, the second parameter is the value, and the third parameter is
- * the plist file to save the data to.
- *
- * @param $a - associative array of values to save
- * @param $b - the value of the setting
- * @param $c - the plist to save the values into
- * @return string - execution output
- */
- public function set( $a=null, $b=null, $c=null )
- {
- if ( is_array( $a ) ):
- if ( file_exists( $b ) ):
- $b = $this->path."/".$b;
- elseif ( file_exists( $this->data."/".$b ) ):
- $b = $this->data."/".$b;
- elseif ( file_exists( $this->cache."/".$b ) ):
- $b = $this->cache."/".$b;
- else:
- $b = $this->data."/".$b;
- endif;
- else:
- if ( file_exists( $c ) ):
- $c = $this->path."/".$c;
- elseif ( file_exists( $this->data."/".$c ) ):
- $c = $this->data."/".$c;
- elseif ( file_exists( $this->cache."/".$c ) ):
- $c = $this->cache."/".$c;
- else:
- $c = $this->data."/".$c;
- endif;
- endif;
-
- if ( is_array( $a ) ):
- foreach( $a as $k => $v ):
- exec( 'defaults write "'. $b .'" '. $k .' "'. $v .'"');
- endforeach;
- else:
- exec( 'defaults write "'. $c .'" '. $a .' "'. $b .'"');
- endif;
- }
-
- /**
- * Description:
- * Read a value from the specified plist
- *
- * @param $a - the value to read
- * @param $b - plist to read the values from
- * @return bool false if not found, string if found
- */
- public function get( $a, $b ) {
-
- if ( file_exists( $b ) ):
- $b = $this->path."/".$b;
- elseif ( file_exists( $this->data."/".$b ) ):
- $b = $this->data."/".$b;
- elseif ( file_exists( $this->cache."/".$b ) ):
- $b = $this->cache."/".$b;
- else:
- return false;
- endif;
-
- exec( 'defaults read "'. $b .'" '.$a, $out ); // Execute system call to read plist value
-
- if ( $out == "" ):
- return false;
- endif;
-
- $out = $out[0];
- return $out; // Return item value
- }
-
- /**
- * Description:
- * Read data from a remote file/url, essentially a shortcut for curl
- *
- * @param $url - URL to request
- * @param $options - Array of curl options
- * @return result from curl_exec
- */
- public function request( $url=null, $options=null )
- {
- if ( is_null( $url ) ):
- return false;
- endif;
-
- $defaults = array( // Create a list of default curl options
- CURLOPT_RETURNTRANSFER => true, // Returns the result as a string
- CURLOPT_URL => $url, // Sets the url to request
- CURLOPT_FRESH_CONNECT => true
- );
-
- if ( $options ):
- foreach( $options as $k => $v ):
- $defaults[$k] = $v;
- endforeach;
- endif;
-
- array_filter( $defaults, // Filter out empty options from the array
- array( $this, 'empty_filter' ) );
-
- $ch = curl_init(); // Init new curl object
- curl_setopt_array( $ch, $defaults ); // Set curl options
- $out = curl_exec( $ch ); // Request remote data
- $err = curl_error( $ch );
- curl_close( $ch ); // End curl request
-
- if ( $err ):
- return $err;
- else:
- return $out;
- endif;
- }
-
- /**
- * Description:
- * Allows searching the local hard drive using mdfind
- *
- * @param $query - search string
- * @return array - array of search results
- */
- public function mdfind( $query )
- {
- exec('mdfind "'.$query.'"', $results);
- return $results;
- }
-
- /**
- * Description:
- * Accepts data and a string file name to store data to local file as cache
- *
- * @param array - data to save to file
- * @param file - filename to write the cache data to
- * @return none
- */
- public function write( $a, $b )
- {
- if ( file_exists( $b ) ):
- $b = $this->path."/".$b;
- elseif ( file_exists( $this->data."/".$b ) ):
- $b = $this->data."/".$b;
- elseif ( file_exists( $this->cache."/".$b ) ):
- $b = $this->cache."/".$b;
- else:
- $b = $this->data."/".$b;
- endif;
-
- if ( is_array( $a ) ):
- $a = json_encode( $a );
- file_put_contents( $b, $a );
- return true;
- elseif ( is_string( $a ) ):
- file_put_contents( $b, $a );
- return true;
- else:
- return false;
- endif;
- }
-
- /**
- * Description:
- * Returns data from a local cache file
- *
- * @param file - filename to read the cache data from
- * @return false if the file cannot be found, the file data if found. If the file
- * format is json encoded, then a json object is returned.
- */
- public function read( $a )
- {
- if ( file_exists( $a ) ):
- $a = $this->path."/".$a;
- elseif ( file_exists( $this->data."/".$a ) ):
- $a = $this->data."/".$a;
- elseif ( file_exists( $this->cache."/".$a ) ):
- $a = $this->cache."/".$a;
- else:
- return false;
- endif;
-
- $out = file_get_contents( $a );
- if ( !is_null( json_decode( $out ) ) ):
- $out = json_decode( $out );
- endif;
-
- return $out;
- }
-
- /**
- * Description:
- * Helper function that just makes it easier to pass values into a function
- * and create an array result to be passed back to Alfred
- *
- * @param $uid - the uid of the result, should be unique
- * @param $arg - the argument that will be passed on
- * @param $title - The title of the result item
- * @param $sub - The subtitle text for the result item
- * @param $icon - the icon to use for the result item
- * @param $valid - sets whether the result item can be actioned
- * @param $auto - the autocomplete value for the result item
- * @return array - array item to be passed back to Alfred
- */
- public function result( $uid, $arg, $title, $sub, $icon, $valid='yes', $auto=null, $type=null )
- {
- $temp = array(
- 'uid' => $uid,
- 'arg' => $arg,
- 'title' => $title,
- 'subtitle' => $sub,
- 'icon' => $icon,
- 'valid' => $valid,
- 'autocomplete' => $auto,
- 'type' => $type
- );
-
- if ( is_null( $type ) ):
- unset( $temp['type'] );
- endif;
-
- array_push( $this->results, $temp );
-
- return $temp;
- }
-
-}
\ No newline at end of file
diff --git a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.CA1171C3-3138-485A-8778-46BD87A0F51A/info.plist b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.CA1171C3-3138-485A-8778-46BD87A0F51A/info.plist
deleted file mode 100644
index b2812d7..0000000
--- a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.CA1171C3-3138-485A-8778-46BD87A0F51A/info.plist
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-
- bundleid
- com.kejadlen.youtube-dl
- connections
-
- 2839B6E1-2D75-4243-9942-AD80110973FD
-
-
- destinationuid
- 909E38E9-F686-4F17-9842-1EB87235C84C
- modifiers
- 0
- modifiersubtext
-
-
-
-
- createdby
- Alpha Chen
- description
- Download videos from a URL
- disabled
-
- name
- youtube-dl
- objects
-
-
- config
-
- argumenttype
- 0
- keyword
- youtube-dl
- text
- Download video from {query}
- withspace
-
-
- type
- alfred.workflow.input.keyword
- uid
- 2839B6E1-2D75-4243-9942-AD80110973FD
- version
- 0
-
-
- config
-
- escaping
- 0
- script
- cd ~/BTSync
-/usr/local/bin/youtube-dl "{query}"
- type
- 0
-
- type
- alfred.workflow.action.script
- uid
- 909E38E9-F686-4F17-9842-1EB87235C84C
- version
- 0
-
-
- readme
-
- uidata
-
- 2839B6E1-2D75-4243-9942-AD80110973FD
-
- ypos
- 10
-
- 909E38E9-F686-4F17-9842-1EB87235C84C
-
- ypos
- 10
-
-
- webaddress
-
-
-
diff --git a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.EBB6171A-6C0B-447C-8BE5-E273C925A74F/icon.png b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.EBB6171A-6C0B-447C-8BE5-E273C925A74F/icon.png
new file mode 100644
index 0000000..da62f4c
Binary files /dev/null and b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.EBB6171A-6C0B-447C-8BE5-E273C925A74F/icon.png differ
diff --git a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.EBB6171A-6C0B-447C-8BE5-E273C925A74F/info.plist b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.EBB6171A-6C0B-447C-8BE5-E273C925A74F/info.plist
index be59422..035ff54 100644
--- a/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.EBB6171A-6C0B-447C-8BE5-E273C925A74F/info.plist
+++ b/Alfred 2/Alfred.alfredpreferences/workflows/user.workflow.EBB6171A-6C0B-447C-8BE5-E273C925A74F/info.plist
@@ -3,7 +3,7 @@
bundleid
-
+ com.arbitrarydefintions.quickapp
category
Tools
connections
@@ -20,7 +20,16 @@
2E57B3A5-B65F-4AB6-93B2-183BB082414B
-
+
+
+ destinationuid
+ CDB226D8-A880-4D6D-81DB-E44DEF05A972
+ modifiers
+ 0
+ modifiersubtext
+
+
+
960E961A-2EF3-44C4-BFF2-B8BA1466C8EA
@@ -306,7 +315,7 @@
paths
- ~/Applications/YoruFukurou.app
+ /opt/homebrew-cask/Caskroom/night-owl/latest/Night Owl.app
toggle
@@ -414,11 +423,11 @@
argument
0
hotkey
- 101
+ 100
hotmod
8388608
hotstring
- F9
+ F8
leftcursor
modsmode
@@ -433,9 +442,26 @@
version
1
+
+ config
+
+ paths
+
+ /opt/homebrew-cask/Caskroom/omnifocus/2.2.5/OmniFocus.app
+
+ toggle
+
+
+ type
+ alfred.workflow.action.launchfiles
+ uid
+ CDB226D8-A880-4D6D-81DB-E44DEF05A972
+ version
+ 0
+
readme
-
+ Icon by Designify.me
uidata
1EA28BFD-4D7A-444E-8904-EF68D0CBDC8C
@@ -493,6 +519,11 @@
ypos
250
+ CDB226D8-A880-4D6D-81DB-E44DEF05A972
+
+ ypos
+ 850
+
D0DA2B6C-006F-47D0-8776-9FD4521B12FC
ypos