Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

Appifyer (0.99 alpha) - Launch & hotkey any apps


  • Please log in to reply
83 replies to this topic
hoppfrosch
  • Members
  • 399 posts
  • Last active: Feb 26 2016 05:31 AM
  • Joined: 25 Jan 2006

Your HUUUUGGGEEEE Signature als promotes 0.98 - unless a newer version is available ...


Has it been annoying on you? :( I don't think it matters - the major update is/was 0.99, but 0.99 is the latest version, which is apperant from the changelog. I bet I could also change the title of this topic to reflect latest version, not a bad idea.


No - I've got no problems with the size. But as it is as big as it is and it tries to catch attraction, it should reflect to correct version. It looks more professional, if all information is consistent (in the first post of this thread you have announced 0.99. On the other hand your signature still shows up 0.98. How can a concerned user know what's the latest version? I would think: "If sumon does not consider such obvious things, how can I be sure he has announced latest version in his first post? Might be he's a litte sloopy with his informations ...". As a software release manager I'm scary about those carelessness - but this might be paranoia ... ;-))

nimda
  • Members
  • 4368 posts
  • Last active: Aug 09 2015 02:36 AM
  • Joined: 26 Dec 2010
I have an idea:
How about you fix the bug that occurs when two apps have the same name?

Steps to reproduce:
[*:1i17jenm]Install zizorz (skip if installed)
[*:1i17jenm]Click "Add App"
[*:1i17jenm]Choose any app (Notepad works. So does zizorz.exe again)
[*:1i17jenm]In the InputBox, type "zizorz"
[*:1i17jenm]

---------------------------
Appifyer.exe
---------------------------
Error: The same variable cannot be used for more than one control. The current thread will exit.

Specifically: vZizorz_Icon

Line#
---> 624: Gui,Add,Picture,w32 h32 x%c1% y%ypos% v%AppV%_Icon gGuiChangeIcon,%icon%

---------------------------
OK
---------------------------

Umm... Also... there's a big problem.
zizorz is saving stuff in C:\Users\Simon\Desktop\Scripts\Appifyer\Apps\Zizorz\data\PrintScreens
and my name is not simon...

nimda
  • Members
  • 4368 posts
  • Last active: Aug 09 2015 02:36 AM
  • Joined: 26 Dec 2010
Bump
Any chance on fixing those bugs?
Also, I'd like to see the appsmenu avaiable via hotcorner (move your mouse to the corner of the screen and BAM!), or even be able to "hotcorner" apps. (I launch 16 apps through hotcorner right now - hold down modifiers while moving mouse to corner)

sumon
  • Moderators
  • 1317 posts
  • Last active: Dec 05 2016 10:14 PM
  • Joined: 18 May 2010
I will change my signature, and make it more discrete, when I get home.

Bump
Any chance on fixing those bugs?
Also, I'd like to see the appsmenu avaiable via hotcorner (move your mouse to the corner of the screen and BAM!), or even be able to "hotcorner" apps. (I launch 16 apps through hotcorner right now - hold down modifiers while moving mouse to corner)


- Two apps of the same name, should not be possible. How would you differentiate them? But you are right, it seems it is possible to rename or add an app. I put this as urgent bug.

- Zizorz problem is Zizorz problem, and I have been meaning to fix it for a long time. Zizorz doesn't like me very much, with no Unicode compatibility and whatnot, so it's easier said than compiled. But this is an urgent Zizorz bug. To fix it, add your own directory or remove that line manually in the data\ZizorzSettings.ini.

- I have (for a long time) planned to add mousegestures as a launch method, but haven't got around to it. As for hotcorners, it's a pretty good idea. However, if you cannot guide me in a direction to start (or write the code yourself, or partially), I can only add it to the wish list.

To clarify, the hotcorner is basically the same as having a taskbar on autohide?

zzzooo10
  • Members
  • 237 posts
  • Last active: Apr 14 2015 01:57 AM
  • Joined: 19 Dec 2010
For the hotcorner maybe something like this? It is just a basic idea and can probably be improved.
CoordMode, Mouse, Screen



Hotkey, IfWinActive

Hotkey, b, TestLabel



#If HotCorner("TopLeft")

a::MsgBox, You pressed "a" at the TopLeft of your screen



#If HotCorner("TopRight")

a::MsgBox, You pressed "a" at the TopRight of your screen



#If HotCorner("BottomRight")

a::MsgBox, You pressed "a" at the BottomRight of your screen



#If HotCorner("BottomLeft")

a::MsgBox, You pressed "a" at the BottomLeft of your screen



TestLabel:

Foo := HotCorner("TopRight")

if Foo

    MsgBox, You pressed "b" at the TopRight of your screen

Return





HotCorner(sCorner) { ; By zzzooo10. "TopLeft" , "TopRight" , "BottomLeft" , "BottomRight"

    x1 := ( InStr(sCorner, "Right") ? A_ScreenWidth - 200 :  200)

    y1 := ( InStr(sCorner, "Top")  ?  200 : A_ScreenHeight - 200 )

    MouseGetPos, x ,y 

    Return ( (sCorner = "TopLeft") && (x < x1) && (y < y1) ? 1 : (sCorner = "BottomRight") && ( x > x1) && (y > y1) ? 1 : (sCorner = "BottomLeft") && ( x < x1) && (y > y1) ? 1 : (sCorner = "TopRight") && ( x > x1) && (y < y1) ? 1 : 0)

}


nimda
  • Members
  • 4368 posts
  • Last active: Aug 09 2015 02:36 AM
  • Joined: 26 Dec 2010
I use this method:
#Persistent ; Continue running - the timer does NOT do this
SetTimer HotCorner, 10
Modifiers := "Shift|Ctrl|LWin|Alt" ; You can also specify "RAlt" and "LAlt" etc

HotCorner:
 m := ""
 Loop Parse, Modifiers, |
  If GetKeyState(A_LoopField, "P")
   m .= A_LoopField
 If IsLabel( Label := (m . HC()) )
  GoSub %Label%
return

HC(){ ; By nimda http://www.autohotkey.com/forum/viewtopic.php?p=453333#453333
 MouseGetPos, mX, mY
 X := mX < 10 ? "L" : mX > A_ScreenWidth-10 ? "R" : ""
 Y := mY < 10 ? "T" : mX > A_ScreenHeight-10 ? "B" : ""
 return ( Y X )
}

; Example:
LWinTL: ; LWin Top Left
 MsgBox Hi
return
Edit: Check my quads

fragman
  • Members
  • 1591 posts
  • Last active: Nov 12 2012 08:51 PM
  • Joined: 13 Oct 2009
Make sure to add support for multiple screens.
BTW, shameless self promotion: In its current branch 7plus also has support for customizable hot corner triggers :D
Before there was only a static one with a fixed functionality.

sumon
  • Moderators
  • 1317 posts
  • Last active: Dec 05 2016 10:14 PM
  • Joined: 18 May 2010

Make sure to add support for multiple screens.


For hotcorners? Or what part of Appifyer? I might have to adjust the Start menu behaviour, but I think that's all (except for if/when I add hotcorners)

BTW, shameless self promotion: In its current branch 7plus also has support for customizable hot corner triggers :D


Heh, you are speaking to the master of self promotion, I think. Aslong as it's discrete.

BTW, how long has 7plus been up and running for? It has over 4k impressive downloads on code.google.

For the hotcorner maybe something like this? It is just a basic idea and can probably be improved. [...]


I use this method:[...]


Thanks to you both (alot, really!), I will definitely be able to use that. However, as I have not used hotcorners before and I always try to make things as userfriendly as possible (as opposed to "as configurable as possible, then let the user figure how to use stuff" <--- because that doesn't work with all users), would you care to enlighten me on the usage of hotcorners?

I use hotkeys when my left hand is on my keyboard (thus hotkey design is based upon lefthand, usually), and when for some reason the mouse is more comfortable, or I want to rest my hand, I use the mouse. With Appifyer's current "default" layout, #Space is a handy and logical hotkey (Spacebar "feels" like a menu?), and MClick on Startbutton allows for a one-click opening of the menu. Then, add an action for clicking/pressing the key for the app to launch. So it's two actions to launch an app without app-specific hotkeys. I cannot see how a hotcorner would make anything easier or faster, especially not if the hotcorner also requires a hotkey to be used.

What I WOULD however see useful is the ability to have a "hotcorner" appbar (sidebar) that appears on-demand when the mouse is scrolled into that area of the screen, like nimda suggested for something - when it's "bumped" into the side (hard, maybe?). With nimda's newly posted Animate-window-wrapper I could make something like RocketDock (but less fancy, of course), a fancy appbar hanging out on the side of the screen, invisible if you don't need it (and potentially toggle-visibility).

Another thing I could potentially see useful is using different corners of the screen to, in a very natural way, bring forth different app menus (good for people with many apps). Adding a MGR-system, potentially along with macro support, is at the moment of higher prio than hot-corners in the way that I understand you describing them. Have I missed the interaction-design point of hot-corners?

nimda
  • Members
  • 4368 posts
  • Last active: Aug 09 2015 02:36 AM
  • Joined: 26 Dec 2010
No, you're misunderstanding. With my code, you don't need modifiers, you can have them.
If you are using mouse only, the fastest way possible to launch an app is to move the mouse. I can put the mouse in the top right hand corner faster than press a hotkey.

Try changing the label name to TL or TR

Now obviously this would need to be changed for Appifyer. But the basic code is there.

Edit: Instead of GoSub %Label%, you could just Run % hotcorners[label]
where hotcorners is an array.

Edit2: did nobody check my dubs? :(

fragman
  • Members
  • 1591 posts
  • Last active: Nov 12 2012 08:51 PM
  • Joined: 13 Oct 2009
I was talking about hot corners, yes. You can use SysGet to get the whole virtual screen area.

The version of 7plus you see here is from April. You can use the search function at the top of the list to see all versions. Total download count from my page is about 66k (all versions added, so lots of returning users I would assume. Doesn't include users who autoupdate though). I estimate about 10k more from various other pages who host it separately. I'm not quite sure how much that says about the reach though. I don't make too much noise, I only send some news to some blogs and update some forum posts when a new version is released.

nimda
  • Members
  • 4368 posts
  • Last active: Aug 09 2015 02:36 AM
  • Joined: 26 Dec 2010
I just had an idea I'd love to see in Appifyer.
Instead of the hotkey field next to an app, have a button which opens a generic 'trigger' dialogue.
In the dialogue, you can choose which type of trigger launches this program: a hotkey, a hotstring, a mouse gesure, a hotcorner...
and customize it (which button, which string, what gesture, which corner...)
This would keep the simple layout and avoid an extra ridiculous 4 columns... :)
I'd even write this dialogue...

zzzooo10
  • Members
  • 237 posts
  • Last active: Apr 14 2015 01:57 AM
  • Joined: 19 Dec 2010
sumon I have found a problem. When I went to add Audacity to Appifyer I got this error and I couldn't open the app settings so I couldn't delete it.
So I had to go to data folder and edit the AppifyerApps which could be a problem for some people. So maybe you could add some error checking so this doesn't happen?
---------------------------
Appifyer.exe
---------------------------
Error:  The following variable name contains an illegal character:
"Audacity_1.3_Beta_(Unicode)_Mode"

The current thread will exit.

	Line#
--->	611: %AppV%_Mode := Mode

---------------------------
OK   
---------------------------
After about 24 apps Appifyer's GUI nice GUI is ruined. It is so long I cant even see all of my apps, perhaps you could have the apps scroll to avoid this? The popup menu will suffer the same problem if I add a few more apps, not sure how you would go about fixing that other then nested menus, maybe by categories?

Also please add some error checking to the app names so you cant try to add an app with a taken name, it results in an error and involves in deleting it manually from the ini file. BTW I love Appifyer. :D

sumon
  • Moderators
  • 1317 posts
  • Last active: Dec 05 2016 10:14 PM
  • Joined: 18 May 2010
Shall do both of those and quite some more in the next patch. It will be interesting. Over time I am also adding goodies for devs, so I hope some of you guys soon will wish to try distributing apps with Appifyer. Shajul, I am lookin at you, f.ex.

Edit: Oh, and thanks for the report and the <3 :)

nimda
  • Members
  • 4368 posts
  • Last active: Aug 09 2015 02:36 AM
  • Joined: 26 Dec 2010
It is possible to fix most of your problems (bugs) with AHK_L arrays instead of pseudo arrays:
var = hi bye
a%var% := "d" ; error

var = fjdks fdkf 4382^&*
a := object()
a[var] := "d" ; fine
When will we be getting the update? I'm eager to see the new GUI

sumon
  • Moderators
  • 1317 posts
  • Last active: Dec 05 2016 10:14 PM
  • Joined: 18 May 2010
Sorry for the lack of updates on Appifyer and the apps, been very busy for the last week, with buying an apartment. Anyway...

It is possible to fix most of your problems (bugs) with AHK_L arrays instead of pseudo arrays:

var = hi bye
a%var% := "d" ; error

var = fjdks fdkf 4382^&*
a := object()
a[var] := "d" ; fine
When will we be getting the update? I'm eager to see the new GUI


There are many things that are sloppy in my code, and I come to realize this more and more as I learn. Which in a way is good - since I learn. However, it is embarrassing sometimes that my code is as sloppy as it is (at times atleast). That's one of the reasons why I really appreciate constructive feedback such as that - thanks alot!

I have actually been planning to rewrite much of the functions to classes/objects, once I get the hang of that. I've almost got the hang of it now. Don't wanna stumble into obstacles that are just caused by me not knowing object syntax.

I have also realized now that if I am going to succeed in making Appifyer as popular as I want to, there is close to no way I can do it all alone. As long as it is possible, I will have it open source. Regarding eventually making "business" out of it in the future, it will be quite the best "business" for the developers that make the apps, which is not more than right. If we even get there, at some point. I would really hope I could make a difference in bringing devs closer to users and vice versa - meaning better apps and better appreciation for the hard work of all hobby developers.

I appreciate all the help I have gotten so far, and I will try my best to make it easier to contribute with ideas, suggestions and code. One good start is making the source code cleaner, of course.

For those that don't know what nimda is talking about with "new GUI", it's basically an organized tabs/list view which leaves much more room for modifying additional settings for individual apps - such as adding hotkeys, triggers ("launch with program X"), mouse gestures etc. - without cluttering everything. I will probably retain a simplified "overview" with only hotkeys, too.

I think I should have time to push an update for the weekend - I atleast know that I have the inspiration, so we'll see what I can do.