Code Monkey home page Code Monkey logo

a2.modules's People

Contributors

ewerybody avatar koppor avatar lipkau avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

Forkers

pa-0

a2.modules's Issues

Calculaid: Add option to return to open calculator window instead of opening new one

Whenever i use the calculator, i need to switch between some programs and the ONE calculator window...
ctrl-tab works, but needs a number of presses, if i had more than one window active since last using the calc...
To open more than one calc, i would add ctrl-N for as a hotkey while the calculator is active.
Maybe could also be part of Calculaid?

Hotstrings: Scopes can have only one definition, not a list

The Scope editor conveniently allows to set up multiple scopes to in or exclude but when saving these to a Hotstrings scope only the first of these will remain.

Thats due to the nature of the whole setup: the dictionary to hold scoped hotstrings uses the scope definition as a key! Which can not be a list! This will be solved with a completely overhaul of the data structure. I already lined it out in the docstring but for reference here: This will be the new layout:

{
    'last_group': '',  # UI setting to remember the last selected group
    'last_hotstring': '',  # to remember the last selected hotstring in that group
    'groups': {  # dictionary of all the hotstring groups 
        'global': {  # the main group will be "global" but it could be renamed, why not? I'd restrict scoping it tho with this name.
            'enabled': True,  # groups can be turned on or off in the future!
            'hotstrings': {  # dictionary of all the hotstrings under this group
                'shortcut1': {  # a key is the shortcut string
                    'text': some_string,  # text is the replacement
                    'ignore' True,
                    'mode': ...
                '...':
        'some name': {
            'scopes': [],  # now actually a list!
            'scope_type': 'scope_incl' # global groups won't have a `scope type`
            ...

Port ReadingRuler to a2

"ReadingRuler " is one of ac'tivAids requested extensions to be ported to a2.

more info needed.

Module CommandLine is not the same as in ActivAid

In ActivAid, the plugin "CommandLine" enables the user to run a command in the shell from the address bar of the explorer.exe
The a2 "CommandLine" enables the user to use key combinations that Windows does not allow in the shell

  • Should both behaviors be merged into the a2's CommandLine?
  • Should a2's CommandLine be renamed?
  • Should activ'aid's CommandLine be renamed?

finish HotStrings module

  • port config items from ac'tivAid
  • read/write settings to db
  • minify db dict
  • write hotstrings.ahk in settings
  • fix unicode issues
  • implement fancier modes
  • support new SendModes
  • scope using ScopeWidget
  • implement import/export from ahk file
  • hotstrings_file_to_dict parster handles scopes
  • dict_to_hotstrings writer handles scopes

ExplorerHotkeys - toggle Hide selected items

To hide something in the Explorer: there is Alt + Enter, Down (folder) or Right (for a file), Space, Enter and for another Dialog on folders: Up, Enter.

Would be nice to have this on a Hotkety to toggle selected items.
Just Ctrl+Shift+H bam!

ComfortResize: Implement some new options

@Cyberkabauter contributed some ideas in a2#250 and has some code already to improve ComfortResize:

I adapted a script from the ahk forum to my needs. You may want to integrate some ideas of that:

  • Drag or resize windows in fullscreen mode: Minimize window in fullscreen mode first and do the move or resize action.
  • Let the resize arrows jump to the borders/edges before resizing (for better usability).
  • Start resizing also works if the mousekey is located outside of the active window. Cursor jumps to the nearest border/edge.

I postet: my version of the script here. (search for "Modification Cyberklabauter"). The mentioned improvements are added to the script by myself, feel free to use it.

remarks

Well the current implementation covers most from the original ac'tivAid version. But I totally miss the maximized window resize as well! That's really a good one to fix! 👍

I never thought about having the cursor jump to the corners. That's the idea, right? (haven't seen the code yet)
Sounds a little weird to me as I'd rather keep control of my cursor and OH: also sometimes work with a tablet in screen mode! So that wouldn't work there. But I'd totally need to see it in action and it's a valid option anyway :)👍

Resizing active window when cursor is outside would of course disable moving inactive windows which I really like. But it's also a good option! 👍

SessionRestore add virtual desktop size filter!

You'd want to have the settings only applied to a certain type of screen setup, right?
So we need a combobox to select the setup via virtual desktop size you want to edit.

There is already GetVirtualScreenCoordinates() in ahklib/functions/. We'll use that as an identifyer.
this one will be prefixed to the data thats analysed by the restore function. Where there is currently:

[["procname.exe", "classname"...], ['procname2.exe', ...], ...]

it will be:

{
  "4520, 1920": [["procname.exe", "classname"...], ['procname2.exe', ...], ...],
  "1920, 1080": [[...], ...]
}

DetailsPopup investigate pasting hickups.

Sometimes when I want to paste a thing it takes a moment for AHK to perform the paste.
Is it because its loading up Clipboard access? If so: Show some nfo about that.

DetailsLister - failed to make first entries

@Cyberklabauter reported some issues on a2#250:

Somehow doesn’t work properly. After first entry I still got the message “There is nothing to popup! Apparently there was no data added yet?” Than it started working. after I checked the box “finished after first selected item”. Pasting the item still fails (I getting an empty popup-menu with “cancel” entry only). Keys and values are not saved. After a while my test entries where gone again.

This module is kinda new. Had some revisions yet but I guess initilizing is rather badly covered?
Surely we need some testing starting off with NO data yet.
Eventually this should have some defaults for the user to play around and overwrite/delete then.

Port FileRenamer to a2

"FileRenamer" is one of ac'tivAids requested extensions to be ported to a2.

more info needed.

Follow-up of #24

Hotstrings: Make Groups out of scopes!

Instead of the scrope string as the "title" of a scoped group in Hotstrings one could have "any" kind of groups there. Stuff that gets imported should end up in a new group so one can sort it out more easily.

One could have named groups for their abreviations and one for emojis or .... ¯\_(ツ)_/¯ exactly!
On top of that should be the scoping.

...

  • arbitrary number of named groups
  • groups can be enabled/disabled
  • last group selection is remembered
  • scoping any group arbitrarily
  • rename groups
  • importing to groups
  • export selected/all
  • move multiple to group

Finish SessionRestore module

There is already quite some code regarding this and the process is kinda nailed down. But first:

What am I trying to solve: Windows 10 is constantly shifting around my meticulously arranged windows and desktop icons when I log back in or have been connected through VPN.

In SessionRestore you'll be able to collect window descriptions that when match will be rearranged on demand or when you log back in if the screen sizes also match.

Process of rearranging multiple subwindows:

  • gather window list (without hidden windows)
  • restore ALL windows with processes that are in our list
  • gather new window list, this one will have all the subwindows too (without digging through hidden windows)
  • loop the list
    • check window against our list, rearrange if needed and minimize if it was minimized before
    • if wanted restore and hide any minimized window to render the Alt+Tab preview

Bug: No way to add Source, so a2 is unusable

I installed a2 with the installer and it is installed in the ../Appdata/Local.. No errors.

Next step is to add source to use this tool.
Choosing "Add Source - featured - a2.modules " get the error:
grafik

The mentioned url is present and I can find a zip file with the packages!? But I have no plan how to handle this as a workaround. Can I copy a SubDirectory of the .zip to the installations folder to work? And in which subfolder?? Does a2 than autodetect this package?

Any help till fixing the bug apreciated.

Thanks for the great work till here. If you like support in documetation, you can contact me.

Port RecentDirs to a2

"RecentDirs" is one of ac'tivAids requested extensions to be ported to a2.

more info needed.

Look into Windows.Media.Ocr.OcrEngine

I just learned that there is a builtin OCR solution in Windows that AutoHotkey can easily make use of.
https://www.autohotkey.com/boards/viewtopic.php?f=6&t=72674
Lets dig into it and make an a2 module out of it :D

  • test it
  • make screen grab library functionality. this would probably goto another a2 issue 🤔... TBD
    currently all these ahk scripts come with their very own solution of how to make screen shots here and there. I'd love to finally wrap that up with some a2 library function. So that ANY module can make straight forward use of it without reinventing the wheel. maybe .. image := a2capture(300, 200, 87, 3) and Voilà you have the image data in the variable.
  • use the screen grabber to forward stuff to the ORC thing.

gtranslate: pasting problems, text to voice, error massages

@Cyberkabauter contributed a couple gtranslate issues in a2#250:

In MS Word: Selecting the translated entry doesn’t replace the hightlighted source text. Sometime it pastes my clipboard content instead, whatever content it is. In Google Chrome it worked as expected.

Oh dang! Yeah pasting things via clipboard was already a constant issue in early ac'tivAid times ☹ I have yet another mitigation in dev yet unreleased. We could have apps acting up like these blacklisted to fallback to Send contents or maybe do send things rather by default as the issue turns up over again. (I had this on the DetailsPopup too). Well texts with gtranslate won't ever be thaaat big. So sending should be fine. You know some apps hog in on input and Send might take quite a while "typing" the text for you thats why pasting is so attractive: It offers instant results always right away. But yeah: going through clipboard can be bad and Send often is quick enough. So be it! 👍

Another idea would be, to make use of the text to voice function of the translate.googleapis com. Have a look at this script, which I adapted from teadrinkers in which I have the funtionalty included and gives you an idea how I would like to have it added.

Oh I didn't know abouvt this! Nice! So we'd have another option in the menu which plays back the sound of the translation! Nice 👍 looking forward to that1!

Sometime looking for a german word (auto -> en) results in the same german word (e.g. “Haus” or “egal”). I know that teadrinkers translate skript will return the same word back, if the search did not find something. But an error message may would the better approach.

hehe yeah! I think I could have some more info from the returned metadata displayed to show what it actually got. Turns out: Haus is autodetected as english! eehhh it's the plural of hau 🤷‍♀️ . For "egal" if get "no matter" back.
But yeah: lets have some feedback on same words returned! 👍

getWinfo: Menu item name too long!

I didn't know that this can happen ... but yeah understandable. This needs to be trimmed and when clicked copied with the complete data!

     Menu item name too long.

--->	028: Menu,wInfoMenu,Add,commandline: %cmd_line%,getWinfoMenuHandler

DetailsPopup: Option to Send contents rather than Paste via Clipboard.

Usually pasting via clipboard would be the way to go but sometimes Autohotkey has to wait for the Clipboard to be accessible...
This is often frustrating as it seems that a2 is the problem here.. Thats why we already have this message here!

Solution?

Have an option to make use of Send, ... rather than clipboard_paste. This should probably be default...

While at it: Maybe look into AHK and see if there is a general issue about this. I suppose waiting for the Windows Clipboard is something that even AHK cannot do anything about? And its a Windows issue? 🤔

Pasting in cmd.exe

AFAIK, Windows 10 now allows the user to use Ctrl+V in the cmd.exe prompt.
The current behavior of the module should be tested in this regard. And if so, the script should not bind the keys if WinVer >= Win10.

  • This would be a great example for the script to update the UI, by disabling the Hotkey element

ExplorerHotkeys paste things to new file

While dabbing around with the GDI lib I thought about what would be really cool:

  • Have an image in the clipboard
  • in the Explorer hit Ctrl + V
  • have an image file created in place ✨

This could also be done with text files? Whenever there are no file ids in the clipboard and one does Ctrl + V in Explorer. What else? 🤔

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.