GithubHelp home page GithubHelp logo

ewerybody / a2 Goto Github PK

View Code? Open in Web Editor NEW
59.0 12.0 9.0 40.81 MB

Autohotkey module managing and developing framework.

License: GNU General Public License v3.0

AutoHotkey 24.41% Python 75.30% Batchfile 0.28% JavaScript 0.01%
automation scripting autohotkey python windows pyside2 qt-for-python pyside6

a2's People

Contributors

codacy-badger avatar davidmoraisferreira avatar ewerybody avatar gitter-badger avatar lipkau avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

a2's Issues

implement Edit validation

Currently it's possible to mess up a configuration super easily. For instance when scrolling over a hotkey you change the function mode and the code is empty there. It doesn't tell you anything. This should give you a warning, keep you from pressing OK at all and at best show you what's wrong and hot to fix it.

  • elements can run custom self checks (e.g. code empty or include file not found (which is already implemented))
  • duplicate internal name
  • internal name invalid (spaces, special chars)

nicer Hotkey dialog

So there are plenty of ideas to make this dialog much cooler. Actuallty I ran ahead of the least possible version already by making it a floating window with colorful validator functionality... but writing the keys of course is stupid. I'd like to:

  • have the writing autocompleted?
  • just press the shortcut and capture the input!
  • have a map of available keys (probably optional)
  • see conflicting keys right away
    • also see standard windows functions that would be overridden
  • ~ option to pass original hotkey function or other features
  • option to merge functions to avoid hotkey conflicts

development documentation & tools

create a step by step list of things to do and setup like downloading tools and programs one needs to contribute to the development.
test the list.

  • AHK_L
  • python 3
  • PySide
  • Eclipse, PyDev
  • git
    ...

high vs "low" resolusions change the look drastically

This needs to be resolved somehow. When I code stuff on my laptop it may look super shitty on a HD monitor because of the windows ui scaling.
Probably ALL size setting need to be variable with a settable factor. pcheew. This is kinda hard to debug :D

make hotkey Ctrl more compact

the checkboxes can be in 2 columns I guess and the scope thing does not need to be 3 lines by default It can update on demand.

fix include Ctrl

  • implement available scripts browse function
  • connect include buttons with include menu thing
  • include script selector to browse through available scipts

translation. someones gotta do it.

So far this is english to keep off with the hassle of translation. But looking at ac'tivAid: a2 totally needs to be translated to at least german and at best offer a nice transltation framework that makes it fun and simple to translate. As well as have minumum impact on the size of the Autohotkey runtime.

ideas...

  • have a file like variables.ahk that's fed with the accordingly translated pieces
  • ...

nicer scope dialog

It should help you get the right mix for parts from title + class + exe. Here are some ideas:

  • pick window
  • select from recent scope settings
  • select from all the windows flying around
  • help to relevant ahk and a2 pages
  • select from all already used scopes

these are super nice to haves > backlog

  • indicate window existence
  • name scope settings if not obvious (#32770 WTF?)

port webTools\htmlMenu.ahk to a2

this is still a run-as is Autohotkey file...

That's actually not too bad when you ask me. It's super fast this way and works nice... does not use any library functions... nah there is an own getSelection() in there... ok well. Just port it!

icon %SystemRoot%\system32\imageres.dll,239 doesn't load on Win7

better we don't use any windows icons at all.

Error:  Can't load icon.

Specifically: C:\Windows\system32\imageres.dll

    Line#
    016: Menu,Tray,DeleteAll
    017: Menu,Tray,Tip,%ScriptTitle%
    018: Menu,Tray,Click,1
    019: Menu,Tray,add,open a2 user interface,a2UI
    020: Menu,Tray,icon,open a2 user interface,%ScriptIcon%
    021: Menu,Tray,default,open a2 user interface
    022: Menu,Tray,add,reload a2,doReload
--->    023: Menu,Tray,icon,reload a2,%SystemRoot%\system32\imageres.dll,239
    024: Menu,Tray,add,help on a2,doHelp
    025: Menu,Tray,icon,help on a2,%SystemRoot%\system32\imageres.dll,95
    026: Menu,Tray,add,quit a2,doExit
    027: Menu,Tray,icon,quit a2,%SystemRoot%\system32\imageres.dll,223
    030: SetTitleMatchMode,2
    037: tt("a2 started!",1)  
    038: Return

a2 sometimes runs 2times

although the #singleinstance flag is set there are sometimes 2 identical looking a2 running on AHK in the Task Manager. Maybe a2ui can helpt and kill a2 just before settingsChanged(). That might be way better than a2 caring about killing itself when a more recent instance is online.

create dev config page

We now have a unified a2 config page.

  • settings page shown when nothing is selected
  • dev settings shown/prefs remembered
  • author name (get user name by default)
  • author homepage (that could also be the gitgub page)
  • code editor
  • jsonIndent
  • logging level debug
  • multiple module sources
  • settings location changable
  • show console
  • show tooltips

create new module cfg functionality

On the far end we don't want to touch the configurations manually but only through the interface. This calls for embedding all functionality in the interface in the first place. So there is never a difference of hidden and exposed functionality.

so the user will see the controls with the settings of a module read from the cfg
and when in 'dev mode': an option to change or add stuff, or option to create a module cfg with a list of provided files in the module.

...

search docs and put all issues into github issues

There is lots of crazy ideas flying around in /doc.
Look if there is something useful but also put the more recent stuff from a2DO into github issues. Or at least make it consistent.

in the end: Only really useful texts should be in /doc

add "variable" controls

Still we don't even have checkbox boolean values coming to a2 runtime.
Should be easily doable with all the ui stuff we already have :]

  • checkbox
  • string
  • file/folder field
  • file list
  • int / slider
  • float / slider
  • combobox
  • button field
  • coordinates field
  • arbitrary custom widgets
    radio buttons
    textbox

implement groupBoxes

to gather a range of imports and hotkeys in one go.
The question is how to implement this nicely!
I imagine a groupBox EditCtrl where the config holds a child list that's basically just like a usual config, has a description text if wanted but no author and date.

[
  {
    "typ": "group",
    "enabled": true,
    "disablable": true,
    "label": "collection of stuff",
    "name": "group123"

    "children": [
      {
        "typ": "groupnfo",
        "description": "Because none existed before this temporary description was created for \"codeTools\". Change it to describe what it does with a couple of words."
      },
      {
        "typ": "include",
        "file": "afdgasdgasd.ahk"
      },
      {
        "typ": "hotkey",
        "name": "someHotkey",
        "label": "does some stuff",
        "enabled": true,
        "scopeMode": 0,
        "functionCode": "afdgasdgasd()",
        "disablable": true,
        "key": "Alt+W",
        ...
      }
    ]
  }
]

so the EditCtrl functionality works right away within these groups. We couled probably go even deeper.. but probably shouldn't ;]

app does not close correctly when stuff reloaded

When I hit F5 to reload the AHK-runtime these procs from subprocess.Popen somehow remain open and don't close on their own...
Ok I tried to add app exit on lastWindowClosed() signal but that causes a2 to never reload because I close the window, reload a2ui and create a new one... but the app is already gone at this moment. So out with this.

Create an organization

@lipkau mentioned to create an org for a2.
sadly "a2" is still a placeholder name in short for "ac'tivAid2". And a2 is taken by some dude and anything with ' inside and CamelCase AND a number...? please no.

so we need a better name! Or just an organisation name?
a2ahk would be free. but thats not it.

fix hotkey functions file/url open and send stuff

currently only code works properly

  • "local functions" lists defined functions in the current modules scripts
  • "built-in functions" offers all the AHK functions
  • "browse..." lets you browse for a location
  • "explore to..." opens explorer for given location
  • "Send Mode" has all the send modes and fills them in
  • "Add Modifier" lists !^#+ and their translation, except for when SendRaw is chosen
  • help on AHK Run

delete db entries as soon they are unused

currently when you change the name of a ctrl (like hotkey) the entry becomes obsolete and sits around in the db table of the module. Or even if you default the settings everything gets deleted from the value and only {} mustaches sit around in the table. This also needs to go

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.