matt81093 / jumplist-extender Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/jumplist-extender
Automatically exported from code.google.com/p/jumplist-extender
Creating a new "Command line task" leads Jumplist Applying to throw an
exception:
"JumpListTask: Cannot apply with null name" ???
Original issue reported on code.google.com by [email protected]
on 18 May 2010 at 12:29
If not the full Wiki, then at least a front page write-up, showing off the
four features. Light screenshots and (possibly Youtube videos) would be great
Original issue reported on code.google.com by [email protected]
on 17 May 2010 at 12:52
Really cool idea, 'specially considering that JLE has its own jumplist on
the start menu. I'd LOVE to open recently opened programs on it, but it
just leads to useless Jumplist Packs.
Original issue reported on code.google.com by [email protected]
on 17 May 2010 at 3:40
It's a social feature. I NEED this for the first release, especially since
the best way to learn how a program works is by example.
J7EPacks are app-generic, but they store the intended processname. They
can be imported into any app, but a warning saying "This is not the same
app! Are you sure?" will pop up. They can only be applied onto existing
apps.
They do not change any AppId/ProcessName/Path, but they DO change jumplist
settings -- they either replace, or add on.
Dialog pops up saying "Which features do you want to import?" And then
"V Jumplist -- * Add-on * Replace"
------------
Path replacement, in order:
1. Use [Square Tags] to replace internal J7E paths.
* [appIdPath]
* No believed need for [appId], [appPath], [appPathExe]. We're not shoving
these into the appdata as is; we READ from them. No point in storing them
except for comparisons.
2. Use %envpaths% to replace supported paths.
----
Upon import
2. Replace %envpaths% with their expanded coutnerparts
1. Replace [Square Tags] with their expanded counterparts
------------
* Copy icons to the J7EPack. Replace XML icon entries with local
[appIdPath] paths.
* Copy AHK scripts to the J7EPack. No need for path replacement, since we
just specify filename.
* Keyboard shortcuts can stay in the XML. We regenerate them upon saving.
* Command lines stay in the XML, too. They're self contained; we already
replaced their paths.
** Same with file/folder links. Huzzah! /|O_O|\
Original issue reported on code.google.com by [email protected]
on 17 Apr 2010 at 4:44
Or any AHK meddling at all, for that matter.
While UAC windows can be assigned to jumplists, the underlying AHK scripts
cannot send keystrokes or manipulate the window. I could do a check if
window is elevated, and then elevate the script.
What's the user experience for an elevated prompt, every time you click on
a jumplist task?
Original issue reported on code.google.com by [email protected]
on 22 May 2010 at 2:01
This can be implemented via the "Form Closing" event. Basically pass an
empty applist to AssignToShortcuts() and AssignToWindows(), so the two
functions delete every appid from said objects.
IS THIS DESIRABLE, THOUGH? Do I REALLY want to strip jumplists upon exit?
Pros: No undesirable behavior occurs, such as some program windows
appearing on a second, separate program button
Cons: Jumplists won't be available when T7EBackground is not running
Original issue reported on code.google.com by [email protected]
on 11 May 2010 at 3:51
Users and NSIS are really tricky. The idea I have for now is:
1. Put JLE shortcuts in All Users\Programs\Jumplist Extender
2. Set startup for current user in registry
3. When other user starts JLE, show a checkbox, "Enable jumplists on startup"
4. When JLE is uninstalled,
4A. NSISInstall needs to enumerate through all users' AppData, and remove
each jumplist
4AI. WAIT! How will that work? Can I run NSISInstall through RunAs, and
then set each user's jumplists then?
4B. Restart the computer. Remove each user's startup setting.
This seems to pan out well, except 4B and potentially 4A. Must flesh out.
Original issue reported on code.google.com by [email protected]
on 22 May 2010 at 1:06
Look up file's associated program for an icon.
Figure out how to best expose this option.
Original issue reported on code.google.com by [email protected]
on 17 Apr 2010 at 11:56
'cause this is REALLY important :)
Must think of a way to be unobtrusive and non-annoying, and at the same
time persuasive about it.
* After 5 days, pop up a "Donate to me!" dialog?
** BUT NOT MODAL! Pop it up alongside startform
* After those 5 days, always show a "Donate" link on the startform
** And the exportform?
* Is "bucks-havers!" a good strategy? Is it appropriate in certain places,
but not others?
** In persuasive places, yes. In side places, no.
Original issue reported on code.google.com by [email protected]
on 12 May 2010 at 8:59
Some keyboard actions require the following states:
V Open new window
* Wait for a window to open [+Add]
** NOTE: Do this if you want to open a window in the middle of the task
* Ignore if the program is running
* Ignore if the program is not running
Original issue reported on code.google.com by [email protected]
on 18 May 2010 at 11:57
Weird behaviors might ensue.
Just call UpdateButtons() for every DeleteSelectedProgram() there is
Original issue reported on code.google.com by [email protected]
on 7 May 2010 at 8:22
Don't know how ShellLink ends up failing here. Maybe related to to the
"change AppList.xml, switch every shortcut over!" bug? Anyways, add a
try{}catch{} block here. Fail gracefully.
System.Runtime.InteropServices.COMException (0x80004005): Error HRESULT
E_FAIL has been returned from a call to a COM component.
at T7ECommon.ShellLink.IShellLinkW.Resolve(IntPtr hWnd, UInt32 fFlags)
at T7ECommon.ShellLink.Open(String linkFile, IntPtr hWnd,
EShellLinkResolveFlags resolveFlags, UInt16 timeOut)
at T7ECommon.Common.ResolveLnkPath(String lnkPath)
at T7EBackground.Primary.AssignAppIdsToShortcuts(String shortcutPath,
Dictionary`2[] changesList)
Original issue reported on code.google.com by [email protected]
on 19 May 2010 at 9:14
This is truly one hard bugger.
Basically, replace regular textbox with a "smart" keyboard shortcut-
detecting box that, at the current caret position, puts "{CTRL+ALT+"
whenever you press those buttons.
Issues
1. How to block alt key from screwing up textbox?
2. Accurately detect ctrl, alt, shift, win
3. Shift behavior?
4. Edit keys behavior? Up/down/left/right/home/end/insert/delete. They do
their expect behavior, except when a modifer key is pressed; they end up
becoming a keyboard shortcut
Usability testing would be SO good for this.
Original issue reported on code.google.com by [email protected]
on 17 Apr 2010 at 4:53
It's patently unbelievable that every form stores their own copy of the
icon file. 2MB, JLE should NOT be!
Probably has to do with Resources.
Original issue reported on code.google.com by [email protected]
on 13 May 2010 at 4:22
lolol
Jumplist erasing can be done simply by calling jumplist.Refresh(); on an
empty jumplist.
Disabled apps -- Keep a separate list, DisabledAppList.xml, that stores
disabled apps. Then list them on a separate line from the other programs.
Deleted apps -- Delete the app folder, delete the app from AppList.xml and
DisabledAppList.xml.
Original issue reported on code.google.com by [email protected]
on 17 Apr 2010 at 10:50
Perfect example: VirtualBox has a "Config" window and a "GUI" window, the
latter showing the environment itself. I can have options like "Run Server
2008" for the config window, and "Connect Network" for the GUI window.
It'd be cool to assign different appids to the different classes, and show
different jumplists for each. Don't know where I could put it in the GUI,
though. Maybe expose them as "two separate programs?"
Probably dependent on Code Cleanup.
Original issue reported on code.google.com by [email protected]
on 13 May 2010 at 3:23
Weird icon browsing behavior involving DLLs: IconPicker doesn't start up.
What I gather:
* DLL: Does not work
* EXE: Works
* PNG/JPG/GIF/BMP: Works
Original issue reported on code.google.com by [email protected]
on 17 Apr 2010 at 10:42
AutoHotKey form needs to be completed.
1. Load AHK template, or existing script
2. Code "Save Copy As" and "Open in External Editor"
Original issue reported on code.google.com by [email protected]
on 17 Apr 2010 at 10:37
T7EBackground has a problem when T7EPreferences saves AppList.xml: T7EB
reads AppList.xml too soon, and doesn't receive useful changes.
For now, I just put it in a silent try {} catch(){} block, but the fix is
probably more involved. Sometimes, T7EB will reset the pinned shortcut
positions, presumably out of receiving an empty(?) AddedList.
Don't know what that's about, but this needs to be fixed.
Original issue reported on code.google.com by [email protected]
on 17 May 2010 at 12:56
C:\Windows\system32\Snippingtool.exe is recognized by most system-native
functions, but NOT AHK.
It's a 64-bit thing -- you use Sysnative\Snippingtool.exe for apps that
don't have a 32-bit exe. If I replace the working appPath with Sysnative, it
breaks some system-native functions.
The best solution for now is to replace it for AHK only. If that doesn't
work, this bug is for future reference.
Original issue reported on code.google.com by [email protected]
on 19 Apr 2010 at 7:19
Weird thing takes place when Firefox has an "Open New Window" option, the
command line pointing to ITSELF...
...and yet the textbox is blank? Yeah, specify the program's path when it's
implied...
Original issue reported on code.google.com by [email protected]
on 11 May 2010 at 4:09
Some parts of JLE are too small for 100% DPI users, since JLE is developed
on 120% DPI. Some forms are OK, but the main form needs to be rearranged.
Notably, ALL BUTTONS need to be resized for normal on 100% DPI.
Original issue reported on code.google.com by [email protected]
on 12 May 2010 at 2:56
Not only is this required for "splash screen" apps, but I can do cool
things with it, too:
1. Check the window path to see if it actually matches AppPath
* Also, store the old AppPath so it can match T7EBackground's shortcut
pinning. Probably store a "clone" appId entry in AppList.xml -- "clone" is
ignored by T7EPreferences, but T7EBackground can just match the old
processname with the appid.
* I'M LOOKING AT YOU, OFFICE 2010
2. Check the window name to see if it actually matches
* Probably auto-slice the "Untitled" part of the app. Or, just return
everything to the right of " - "
3. How to tell user that "If keystrokes don't work, change the program name!"?
* If you have the window class name, this shouldn't matter.
Original issue reported on code.google.com by [email protected]
on 11 May 2010 at 3:47
I'll likely be using WiX/Windows Installer.
Upon install:
1. Put files in %programfiles%
2. Register J7EBackground as a startup app
3. Run J7EBackground
Upon uninstall:
4. Ask if you want to delete appdata, too.
3. Run J7EBackground? to restore shortcuts and remove window appids.
** Accomplish this by loading it with full AppList.xml, then feeding it an
empty one.
** If keeping appdata, put AppList.xml back in its place.
2. Remove jumplist from each registered appid. Just call Jumplist.Refresh
(); on an empty jumplist.
1. Remove files in %programfiles%
Original issue reported on code.google.com by [email protected]
on 17 Apr 2010 at 4:57
Shoot at least one YouTube video, showing features of JLE and how to use them.
Optional: Shoot mini-videos for keyboard shortcuts, command lines, AHK, and
packs, for the front write-up. You might as well put all these together,
plus an intro, for the full video.
Original issue reported on code.google.com by [email protected]
on 17 May 2010 at 12:51
Cool idea I had that takes advantage of the Start Menu Search: IF
installed, place shortcuts in Programs\Jumplist Extender\Jumplists\Program
Name\Do action with Name.lnk. Indexing should pick it up.
TASKS
[Item Name] with [App Name].lnk
* Works best with verbs -- and tasks SHOULD be verbs, anyways.
FILES/FOLDERS
Open [Item Name], for/with [App Name]
* , For for default-opened shortcuts; With for app-opened shortcuts
* Open School, for Microsoft OneNote
* Open Personal Journal with Microsoft OneNote
Should be pretty easy. Probably required for a good first rep. Probably
needs an option to disable it.
Watch for app name and path renaming.
Original issue reported on code.google.com by [email protected]
on 13 May 2010 at 3:30
Env64: True
EnvInstalled: True
System.IO.FileNotFoundException: C:\Users\xx\Downloads
at System.Diagnostics.FileVersionInfo.GetVersionInfo(String fileName)
at T7ECommon.Common.GetAppIdForProgramFile(String programFilePath)
at T7EPreferences.Primary.OpenProgramFile()
at T7EPreferences.Primary.ShowStartDialog()
at T7EPreferences.Program.Main()
Original issue reported on code.google.com by [email protected]
on 20 May 2010 at 7:17
Things that come to mind:
1. Add "Import/Export" keyboard shortcuts to shortcut help
2. Update AHK help functions
3. I think that's it... Also, make help window wider, for Calibri font.
Original issue reported on code.google.com by [email protected]
on 15 May 2010 at 6:44
I can just call Invalidate(); on this, right?
Jumplist tab control is not redrawn when maximized, leaving a sloppy part-
white-part-gray background.
When restored, it IS redrawn. When tab changes, it IS redrawn.
Original issue reported on code.google.com by [email protected]
on 17 Apr 2010 at 11:38
0.2 is gonna be released. Do a DPI UI check.
Original issue reported on code.google.com by [email protected]
on 22 May 2010 at 4:30
Because it WILL happen.
The idea: Open up a dialog. Without further intervention, user can send a
Trace report to [email protected]. If user chooses, he can add a
description, and also consent to his desktop being screencapped.
http://stackoverflow.com/questions/147557/error-logging-in-c
http://csharp-source.net/open-source/logging
http://nlog-project.org/
Second link shows GPL-compatible loggers. NLog looks really good.
Original issue reported on code.google.com by [email protected]
on 13 May 2010 at 3:18
This should also change the appid, AS WELL AS the appsettings folder in
appdata. I think I'll be able to change the folder name on-the-spot.
Original issue reported on code.google.com by [email protected]
on 11 May 2010 at 3:48
I'd like to have this, and it's necessary, but I'm at a loss on how to
implement it.
In lieu of votes, I'll put this off until I have less todo items.
Original issue reported on code.google.com by [email protected]
on 17 Apr 2010 at 4:18
Apparently when you extract a broken zip file, SharpZipLib cannot find the
zip's "central directory." Wonder how that happened.
If this is solely due to corrupt zips, maybe just add a check.
Env64: True
EnvInstalled: True
ICSharpCode.SharpZipLib.Zip.ZipException: Cannot find central directory
en ICSharpCode.SharpZipLib.Zip.ZipFile.ReadEntries()
en ICSharpCode.SharpZipLib.Zip.ZipFile..ctor(String name)
en ICSharpCode.SharpZipLib.Zip.FastZip.ExtractZip(String zipFileName,
String targetDirectory, Overwrite overwrite, ConfirmOverwriteDelegate
confirmDelegate, String fileFilter, String directoryFilter, Boolean
restoreDateTime)
en ICSharpCode.SharpZipLib.Zip.FastZip.ExtractZip(String zipFileName,
String targetDirectory, String fileFilter)
en T7EPreferences.Preferences.LoadJumplistPackInfo(String packFilename)
en T7EPreferences.Primary.ImportPack(String appName, String packPath)
en T7EPreferences.Primary.ShowStartDialog()
en T7EPreferences.Program.Main()
Original issue reported on code.google.com by [email protected]
on 20 May 2010 at 7:21
Implement time lock, every two-three weeks? Should be doable in Main().
Original issue reported on code.google.com by [email protected]
on 15 May 2010 at 3:11
Kinda' related to "Allow multiple jumplists per window:" The OneNote
jumplist has folders for School and OneNote Notebooks, but those folders
end up on the Explorer button.
Why not have an option, "Open Shortcut in OneNote Button?" That seems more
organized, as if those folders were filed under the same thought as my
OneNote work.
This beseeches further toying with: What are some neat filing organizations
that programs can be placed under? Allow windows to be "Filed Under
Firefox?" Allow windows to have different jumplists per the same
application, separated by window class name (OR title name?)
Original issue reported on code.google.com by [email protected]
on 17 May 2010 at 3:44
What a DOOZY!
ImageComboBox:
http://www.codeproject.com/KB/combobox/ImageComboBoxControl.aspx
Basically, create a new ImageList object. Set ImageComboBox.ImageList to
the object. Set ImageComboBoxItem.ImageIndex to the desired index.
Implementation:
For each item added, deleted, and moved on the jumplist listbox, do the
same to the ImageList. And change the comboboxitem's imageindex to match
the ImageList. So when an item is added, a new Image will be made. When an
item is deleted, that Image will be deleted. When an item is moved, so
will all the Images.
It's harder than it sounds. I'll probably save this for the code cleanup
X_X. I might even replace the ListBox with a ListTree, too, so it's even
better that I wait.
ItemIconComboBox also depends on this, since it'll use the same ImageList.
Original issue reported on code.google.com by [email protected]
on 25 Apr 2010 at 1:16
http://jumplist.gsdn-media.com/update.txt
010
020
050
100
150
Original issue reported on code.google.com by [email protected]
on 15 May 2010 at 3:12
Has to do with the very first action in CheckJumplistItems(): Switch the
first item to category.
Add a Programmatic check here
Original issue reported on code.google.com by [email protected]
on 7 May 2010 at 8:24
Combine "Open" and "Manage" form modes. Basically:
1. Remove the side buttons; have exclusive "Open" button on bottom
2. "Import", "Export", and "Disable/Delete" buttons will remain below list
Also, remove the "Manage Programs" button from the startup form.
Original issue reported on code.google.com by [email protected]
on 17 Apr 2010 at 10:30
This requires a change of JLIO's parser functions to watch out for double
{{} and {}}s
Whole behavior is weird in general. You won't see {{}s because they're
represented by +[. But is there any weird parsing with []s?
Original issue reported on code.google.com by [email protected]
on 11 May 2010 at 12:40
Sometimes, when selecting the window, the process can't be accessed. I'm
PRETTY SURE that this is due to .NET's System.Diagnostics.Process and NOT
P/Invoke. I wonder if this has to do with UAC???
Then again, it might not, 'cause this happened with Firefox too.
Env64: False
EnvInstalled: True
AppName: TuneUp Utilities 2009
AppPath: C:\Program Files\TuneUp Utilities 2009\Integrator.exe
System.ComponentModel.Win32Exception: Access is denied
at System.Diagnostics.ProcessManager.OpenProcess(Int32 processId, Int32
access, Boolean throwIfExited)
at System.Diagnostics.NtProcessManager.GetModuleInfos(Int32 processId,
Boolean firstModuleOnly)
at System.Diagnostics.NtProcessManager.GetFirstModuleInfo(Int32 processId)
at System.Diagnostics.Process.get_MainModule()
at T7EPreferences.SelectWindow.HookCallback(Int32 nCode, IntPtr wParam,
IntPtr lParam)
at System.Windows.Forms.UnsafeNativeMethods.PeekMessage(MSG& msg,
HandleRef hwnd, Int32 msgMin, Int32 msgMax, Int32 remove)
at
System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNat
iveMethods.IMsoComponentManager.FPushMessageLoop(Int32
dwComponentID, Int32 reason, Int32 pvLoopData)
at
System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32
reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32
reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at T7EPreferences.Program.Main()
Original issue reported on code.google.com by [email protected]
on 20 May 2010 at 7:27
Repro:
1. Change app path
2. Items that have icon "Use program icon" will not update for program
Original issue reported on code.google.com by [email protected]
on 17 Apr 2010 at 10:23
This'll be fun!
Using AutoHotKey, automate taking a screencap using Snipping Tool, and
uploading it to imageshack.
AHK Http Requests: (Includes imageshack example)
http://www.autohotkey.com/forum/topic33506.html
Imageshack API: (Requires API key for use)
http://reg.imageshack.us/content.php?page=developer
Listen for messages: AHK OnMessage()
http://www.autohotkey.com/docs/commands/OnMessage.htm
Check mouse position:
http://www.autohotkey.com/docs/commands/MouseGetPos.htm
Basically, listen for user's mouseup event. Once it's fired, check if the
event actually resulted in a screenshot, by checking its mousepos and
making sure it was not on the control window (?)
Then, save the file to a temp file, then upload to imageshack! Get the
result URL, and open it in the default browser!
Original issue reported on code.google.com by [email protected]
on 19 Apr 2010 at 8:06
REALLY want to get this done by 2.0. Must do this before working on more
major features.
Original issue reported on code.google.com by [email protected]
on 11 May 2010 at 12:48
WinAPI Code Pack assigns the saved jumplist appid to the calling program --
ergo, JLE's window shares the same appid.
For now, fixed by setting JLE's window to an empty appid -- BUT, newly
created windows INHERIT THE SAVED APPID! Fix that.
Original issue reported on code.google.com by [email protected]
on 11 May 2010 at 4:01
Repro:
1. Try selecting more than one jumplist item.
This is more of a polish issue. Multi-select allows multiple items to be
moved up/down/deleted at once.
Original issue reported on code.google.com by [email protected]
on 17 Apr 2010 at 10:26
Should be able to test easily on XP Mode. Actually, Vista is a bigger
concern -- do I handle "6.0" vs "6.1" correctly?
Someone managed to get a "Could not load System.Core Version 3.5" error.
How'd he do that?
Original issue reported on code.google.com by [email protected]
on 19 May 2010 at 9:17
T7EBackground is having these weird "object is null" errors. Can't run
until these are fixed.
Processname matching has to be changed so all instances use
Text.Equals(othertext, OrdinalCaseInsensitive)
Original issue reported on code.google.com by [email protected]
on 11 May 2010 at 12:46
HTH does this happen? It seems to happen when you loaded one program, but
you select another program through Select Window. I'm GUESSING that, since
this program change affects AppSettings.xml, then that's where the error
occurs?
Env64: True
EnvInstalled: True
AppName: Snipping Tool
AppPath: C:\windows\system32\mspaint.exe
System.IO.IOException: The process cannot access the file 'AppSettings.xml'
because it is being used by another process.
at System.IO.Directory.DeleteHelper(String fullPath, String userPath,
Boolean recursive)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean
recursive)
at T7EPreferences.Preferences.LoadJumplistPack(String packFilename)
at T7EPreferences.Primary.ImportPack(String appName, String packPath)
at T7EPreferences.Primary.ShowStartDialog()
at T7EPreferences.Program.Main()
Original issue reported on code.google.com by [email protected]
on 20 May 2010 at 7:24
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.