All Projects → zgqq → Mah

zgqq / Mah

Licence: mit
An alternative to alfred written in java

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Mah

Small Workflows
Small Alfred workflows I use
Stars: ✭ 218 (+215.94%)
Mutual labels:  productivity, alfred
pinpoint
Keystroke launcher and productivity tool. macOS Spotlight and Alfred for Windows. Alternative to Wox.
Stars: ✭ 105 (+52.17%)
Mutual labels:  productivity, alfred
Alfred Cheat
Manage your self-defined cheat sheets & knowledge base in Alfred
Stars: ✭ 79 (+14.49%)
Mutual labels:  productivity, alfred
Command Center
A CLI-based launcher and general productivity tool.
Stars: ✭ 78 (+13.04%)
Mutual labels:  productivity, alfred
AlfredWorkflows
My workflow creations for Alfred on macOS.
Stars: ✭ 55 (-20.29%)
Mutual labels:  productivity, alfred
alfred-timer-workflow
Alfred workflow to start a timer, which blinks when the time is up.
Stars: ✭ 39 (-43.48%)
Mutual labels:  productivity, alfred
alfred-string-operations
Perform string operations to clipboard content
Stars: ✭ 70 (+1.45%)
Mutual labels:  productivity, alfred
Notion Toolbox
This is a collection of Notion tools that work in tandem together.
Stars: ✭ 441 (+539.13%)
Mutual labels:  productivity, alfred
alfred-new-terminal-window
Alfred workflow to open a new Terminal/iTerm window in the current space. Holding the alt key, the new window will be opened in the current frontmost Finder folder.
Stars: ✭ 34 (-50.72%)
Mutual labels:  productivity, alfred
alfred-ask-create-share
Alfred workflow for creating web submissions (Stack Exchange, Forums and more)
Stars: ✭ 30 (-56.52%)
Mutual labels:  productivity, alfred
Flow.launcher
Launch apps with greater control, search files effortlessly and extend features with community plugins. Fast and fluid productivity tool of choice that helps your workflow.
Stars: ✭ 288 (+317.39%)
Mutual labels:  productivity, alfred
Alfred Iconfinder Search
Alfred 3 workflow for Iconfinder instant search
Stars: ✭ 14 (-79.71%)
Mutual labels:  productivity, alfred
Emojitaco
Alfred Emoji Script with Taco and other unicode 9 emoji
Stars: ✭ 51 (-26.09%)
Mutual labels:  alfred
Easy Gmail Scheduler
📫 Easily schedule Gmail messages. No third parties, local servers, or labels.
Stars: ✭ 61 (-11.59%)
Mutual labels:  productivity
Helix
Habit tracking app
Stars: ✭ 43 (-37.68%)
Mutual labels:  productivity
Eyeauras
EyeAuras is a program which allows you to clone windows and keep them always-on-top while working with other applications
Stars: ✭ 42 (-39.13%)
Mutual labels:  productivity
Sandman Lite
A Lightweight Script Built With Late Night Developers In Mind
Stars: ✭ 64 (-7.25%)
Mutual labels:  productivity
Macorganizer
A macOS app for organizing folders
Stars: ✭ 60 (-13.04%)
Mutual labels:  productivity
Alfred Atom
Alfred workflow to browse and open Atom projects
Stars: ✭ 41 (-40.58%)
Mutual labels:  alfred
My Configurations
Chris Hough's .dot files + workstation setup
Stars: ✭ 40 (-42.03%)
Mutual labels:  alfred

** No longer maintained(换Mac了,这个项目不再维护了) **

Mah

Mah is an alternative to alfred,written in java.The project is currently under development.

Plugins

Search

<plugs>
        <name>Search</name>
</plugs>
<plug name="Search">
        <command name="GoogleSearchCommand">
            <trigger key="g" />
        </command>
</plug>

suggestion

Auto suggestion

<plugs>
        <name>AutoSuggestion</name>
</plugs>

suggestion

KeyRecorder plugin

KeyRecorder will record all key strokes with modifier such as Control+c,helping you find out those key strokes pressed most.

<plugs>
        <name>KeyRecorder</name>
</plugs>
<plug name="KeyRecorder">
    <command name="TopKeystroke">
        <trigger key="tk" />
    </command>
</plug>

github plugin

Translation plugin

First,you need to apply api pair http://fanyi.youdao.com/openapi?path=data-mode

<plugs>
        <name>translation</name>
</plugs>
<plug name="translation">
    <command name="Translation">
        <trigger key="fy" />
        <config>
            <keyfrom>{keyfrom}</keyfrom>
            <apikey>{apkey}</apikey>
        </config>
    </command>
</plug>

translation plugin

Weather plugin

<plugs>
        <name>weather</name>
</plugs>
<plug name="weather">
    <command name="QueryWeather">
        <trigger key="we" />
        <config>
            <defaultCity>beijing</defaultCity>
        </config>
    </command>
</plug>

weather plugin

github plugin

First, go to https://github.com/settings/tokens to generate a token

<plugs>
        <name>github</name>
</plugs>
<plug name="github">
    <mode name="github_mode" parent="item_mode">
        <keybind bind="M-i" action="GoGithubIssues" />
        <keybind bind="M-c" action="ClearCache" />
    </mode>
    <command name="GithubStarredList">
        <trigger key="gs" />
        <config>
            <username>{your github usename}</username>
            <!-- 2 minutes -->
            <updateRate>2</updateRate>
            <token>{your token}</token>
            <postCommand></postCommand>
        </config>
    </command>
</plug>

github plugin

More plugins

Java libraries are so powerful that it is easy to develop a plugin.

Features

Asynchronous

For example,it will take long time to synchronize github repositories you starred; you can execute other actions like translation while synchronizing.

Better keybind

You can bind as many actions as you want.There are many useful actions in Mah. The mode (input_mode) provides a action named ClearQueryText,which is used to clear text prior to command.Try to imagine that you have translated a long sentence and want to translate another sentence or word,you need to clear input and input command again.Thanks to this action,you don't need to do so.

Configurable

Configuration is the one of important features,you can configure keybind,plugin,and so on.To configure keybind,you should know what is Mode.Mode is a collection of keybinds,allowing same keybind to execute different actions.For instance,TranslationCommand will trigger translation_mode,in which CopyWord and CopyExplains actions are defined;then you can press alt+w (i defined,you can configure it freely in conf.xml) to execute CopyWord action;as a result,translated word will be copied.

Plugin support

Mah is totally based on plugin.Thinks to java ecosystem,you can develop a plugin with powerful abilities.

Getting Started

Installation

Mah doesn't provide any binary package for user as there are some efforts to do this.So to use Mah,you must compile it yourself;it is not a big deal,only tough thing is to install jdk8.Once installed,the rest is easy.

git clone https://github.com/zgqq/mah && cd mah 
./install

Configuration

Open /{home}/.config/mah/conf.xml with editor,you will see
   
     <?xml version="1.0" encoding="UTF-8"?>
      <config>
       <global>
           <globalKeybind listen="M-space" action="FocusWindow" />
       </global>
       <mode name="system_mode">
           <keybind bind="C-x C-c" action="ExitSystem" />
       </mode>
       <mode name="window_mode">
           <keybind bind="C-g" action="HideWindow" />
           <keybind bind="M-h" action="MoveWindowToLeft" />
           <keybind bind="M-l" action="MoveWindowToRight" />
           <keybind bind="M-c" action="MoveWindowToCenter" />
       </mode>
       <mode name="input_mode">
           <keybind bind="C-r" action="Redo" />
           <keybind bind="C-/" action="Undo" />
           <!-- line -->
           <keybind bind="C-a" action="BeginningOfLine" />
           <keybind bind="C-e" action="EndOfLine" />
           <keybind bind="C-u" action="KillWholeLine" />
           <keybind bind="C-k" action="KillLine" />
           <!-- char -->
           <keybind bind="backspace" action="BackwardDeleteChar" />
           <keybind bind="C-h" action="BackwardDeleteChar" />
           <keybind bind="C-d" action="DeleteChar" />
           <keybind bind="C-f" action="ForwardChar" />
           <keybind bind="C-b" action="BackwardChar" />
           <!-- word -->
           <keybind bind="C-backspace" action="BackwardKillWord" />
           <keybind bind="M-f" action="ForwardWord" />
           <keybind bind="M-b" action="BackwardWord" />
           <keybind bind="M-d" action="KillWord" />
       </mode>
       <mode name="item_mode">
               <!-- item -->
               <keybind bind="C-n" action="NextItem" />
               <keybind bind="C-p" action="PreviousItem" />
               <keybind bind="Enter" action="DefaultSelectItem" />
               <keybind bind="M-1" action="SelectItem1" />
               <keybind bind="M-2" action="SelectItem2" />
               <keybind bind="M-3" action="SelectItem3" />
               <keybind bind="M-4" action="SelectItem4" />
               <keybind bind="M-5" action="SelectItem5" />
               <keybind bind="M-6" action="SelectItem6" />
               <keybind bind="M-7" action="SelectItem7" />
               <keybind bind="M-8" action="SelectItem8" />
               <keybind bind="M-9" action="SelectItem9" />
       </mode>
       <theme>dark</theme>
    </config>

Above is most basic configuration,mah will generate it automatically,you can modify it freely. Note that you must tell mah if you change key location using tool like xmodmap

<config>
    <modifier name="Caplock" as="LControl" />
    <modifier name="LControl" as="Caplock" />
</config>

Configuration example

conf.xml

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].