Columbus - a fast program launcher/searcher

Post your working scripts, libraries and tools for AHK v1.1 and older
Guest

Re: Columbus - a fast program launcher/searcher

20 Apr 2015, 03:21

Run1e wrote:
Guest wrote:I downloaded the test build and ran it.
everything works fine (as before) until I close and restart .
then they are gone again...

The debug file was as follows: ...
Download the latest version of Columbus here and it should work now.

Edit: if it still doesn't work, you can type "/set verify 0" to completely disable the file verification.

/
Run1e
The version in this post seems to work if I disable file verification. Sofar. :-)
Thank's I'll update after a Little more testing.

The source is still on 0.58

cheers michael
Guest

Re: Columbus - a fast program launcher/searcher

20 Apr 2015, 07:26

Guest wrote: The version in this post seems to work if I disable file verification. Sofar. :-)
It should work without having to manually disable file verification.
Make sure the items you added are ticked in the manager like AHK Studio and LICEcap here:

Image
Guest wrote: The source is still on 0.58
Updated.
User avatar
runie
Posts: 304
Joined: 03 May 2014, 14:50
Contact:

Re: Columbus - a fast program launcher/searcher

16 Aug 2015, 06:38

Version 0.9 has been released!

This will essentially be "the final version" of Columbus. After most of the bugs have been ironed out and v1.0 has been reached, the program will be maintained and built upon from there by me :). The main changes from the previous version (v0.59) is that INI files have been dropped for XML, a buttload of new settings can be tweaked, and a plugin system has been added. This solves the most requested feature people have been asking for; the ability to create and modify their own lists inside of Columbus and being able to freely decide what is shown in Columbus.

Some of the features of the plugin system:
  • - Index files and launch them quickly using the Columbus gui and fuzzy-search algorithm
    - Create as many different lists you want
    - Stop/override default Columbus behaviour and run your own code instead by listening to events
    - Interact with the XML object
    - Get global objects from the main script, and call their methods and get their variables
    - Call functions from the main script
    - Add/change/remove/disable a hotkey
The plugin system uses this function by lexikos. This is the same plugin system found in AHK Studio by maestrith. I'll try to post a plugin tutorial soon.

Click here to download the new version. If you already have Columbus installed, you can simply update.

Hope you enjoy these new features, I hope to hear some feedback! :)
User avatar
fischgeek
Posts: 435
Joined: 29 Jan 2014, 21:39

Re: Columbus - a fast program launcher/searcher

19 Aug 2015, 14:16

/docs doesn't seem to work anymore.
the "Check for updates" checkbox will not save it's state (always on it seems)
can't figure out how to change the directory it's looking at (could be me being stupid)
can't figure what "change directory" means when right-clicking an item (this seems like it should be my previous issue, but it looks like it wants to change the directory that particular item is in?)

I stopped using this for a few reasons, but saw an update and decided to try again. Lately I've been using Locate32 and just the good ol' built in Windows indexer which seems to be pretty quick. But, I'm all for giving the community support ;)


EDIT: It also seems like the sorting is reversed. "sort items by popularity" seems off. My most frequent items are at the bottom and most infrequent at the top.
User avatar
runie
Posts: 304
Joined: 03 May 2014, 14:50
Contact:

Re: Columbus - a fast program launcher/searcher

20 Aug 2015, 10:23

fischgeek wrote:/docs doesn't seem to work anymore.
the "Check for updates" checkbox will not save it's state (always on it seems)
can't figure out how to change the directory it's looking at (could be me being stupid)
can't figure what "change directory" means when right-clicking an item (this seems like it should be my previous issue, but it looks like it wants to change the directory that particular item is in?)

I stopped using this for a few reasons, but saw an update and decided to try again. Lately I've been using Locate32 and just the good ol' built in Windows indexer which seems to be pretty quick. But, I'm all for giving the community support ;)


EDIT: It also seems like the sorting is reversed. "sort items by popularity" seems off. My most frequent items are at the bottom and most infrequent at the top.
Check for Updates checkbox fixed.

The program does not "look" at a directory, it parses the registry (specifically: http://runie.me/?i=B8Q3o). If you want it to parse directories, a plugin can easily be made for that :D

"Change directory" makes it possible to change the target (what program is run when launching the item), I changed the button text to "Change target" to make it less confusing :p

The sort by popularity (frequency sort) is currently borked as I'm working on how to allow a plugin to decide how lists are ordered when there is no input.

Thanks for reporting these issues to me!

Edit: an update has been released solving most of the above issues

Edit 2: oh, and /docs will probably make a return as a automatically downloaded plugin.
-_+
Posts: 70
Joined: 06 Dec 2014, 12:43

Re: Columbus - a fast program launcher/searcher

27 Aug 2015, 12:53

I heavily use portable soft. The proportion of Portable programs : installed programs is around 3-4:1 on my PC.
IMO, that should be a core functionality of the script to let the user manually expand the programs base.
This could be done by first letting a user pick folders to look for executables inside of them (with the ability to look through sub-folders too)
The second step would be to let the user filter out unwanted .exe's from the list of found ones.
The third and the last step would be letting the user set alias names for those executables and confirming the changes.
The task sound quite trivial, but I don't know how to write a plugin for your add-on, for me it would probably be easier to just write it from scratch.
ozzii
Posts: 481
Joined: 30 Oct 2013, 06:04

Re: Columbus - a fast program launcher/searcher

28 Aug 2015, 03:47

-_+ wrote:I heavily use portable soft. The proportion of Portable programs : installed programs is around 3-4:1 on my PC.
IMO, that should be a core functionality of the script to let the user manually expand the programs base.
This could be done by first letting a user pick folders to look for executables inside of them (with the ability to look through sub-folders too)
The second step would be to let the user filter out unwanted .exe's from the list of found ones.
The third and the last step would be letting the user set alias names for those executables and confirming the changes.
The task sound quite trivial, but I don't know how to write a plugin for your add-on, for me it would probably be easier to just write it from scratch.
This is why I use Executor :bravo:
I miss in Columbus a kind of regex for adding a specific folder (and subfolder). Something like : c:\MyApps\*.exe
User avatar
runie
Posts: 304
Joined: 03 May 2014, 14:50
Contact:

Re: Columbus - a fast program launcher/searcher

28 Aug 2015, 04:41

I'll write a plugin later and see what I can make with the current plugin system.
User avatar
runie
Posts: 304
Joined: 03 May 2014, 14:50
Contact:

Re: Columbus - a fast program launcher/searcher

28 Aug 2015, 07:40

This is what I came up with, I think it's pretty straight forward to use. It haven't been tested much. I'll gladly answer any questions about the code.

Update Columbus first, this plugin works with v0.924

Code: Select all

#SingleInstance force
#NoEnv

x := ComObjActive("Columbus")
xml := x.get("xml")
items := x.get("Items") ; class that extends from the ItemList class, it contains the main program list, we want to use the add() function

FileSelectFolder, folder, C:\

if !folder
	ExitApp

list := [] ; create array to keep the found items

Loop, Files, % folder "\*.exe", R
	list[SubStr(A_LoopFileName, 1, -4)] := A_LoopFileFullPath


Gui Add, Text,, Slowly double-click on a row to edit it (or press F2)
Gui Add, ListView, Checked w650 h800 -ReadOnly, Name|Path
Gui Add, Button, gSubmit, Add selected

for a, b in list
	if !xml.ssn("//lists/items/item[@run='" b "' or @name = '" a "']") ; make sure the executable doesn't already exist in the items list
		LV_Add("Check0", a, b)
LV_ModifyCol(1, 200)
Gui Show

return

Submit:
i:=0
while (i := LV_GetNext(i, "C")) { ; parse through the selected items
	LV_GetText(name, i, 1)
	LV_GetText(path, i, 2)
	items.Add(name, path, path, true) ; add a new item
	added .= name "`n"
} items.Refresh()
msgbox % "Items added:`n`n" trim(added)
ExitApp
-_+
Posts: 70
Joined: 06 Dec 2014, 12:43

Re: Columbus - a fast program launcher/searcher

29 Aug 2015, 06:34

Run1e, how to use that code?
In all versions, including v0.924 the Plugins menu opens a blank non-editable area:
Image
The 'Folder' button just opens an Explorer window. It should probably open a file-picker Explorer window instead, but it doesn't.

Please, give a detailed instruction on how to install that plugin.
-_+
Posts: 70
Joined: 06 Dec 2014, 12:43

Re: Columbus - a fast program launcher/searcher

29 Aug 2015, 06:42

Also, there are a few bugs I've found:
In script's update system:
1. Exe failed to update: it says 'there's a new version v.0924', but when I hit 'Download' - it downloads the old version I had (probably v0.921, but I don't know where to look at, the script doesn't display it's current version, which is a pity) to %temp% and runs it.
2. When I chose to update to ahk - it downloaded Columbus.ahk, but when I tried to open it using text editor - it turned out that that file is actually a binary, not the .ahk script.

Also, I don't know if that intentional or not, but your older script's versions had a built-in bug report system, but v.0924 throws this:
---------------------------
Columbus.exe
---------------------------
Error: Not implemented

Line#
---> 1900: Throw,Exception("Not implemented")

The thread has exited.
---------------------------
ОК
---------------------------
User avatar
runie
Posts: 304
Joined: 03 May 2014, 14:50
Contact:

Re: Columbus - a fast program launcher/searcher

29 Aug 2015, 08:15

If you drop a plugin ahk file into the folder the "Folder" button opens, it'll show in that listview if you restart the settings gui (edit: actually, Columbus has to be restarted, I'll figure out a way to make this less painful). The plugin tab is so you can easily start plugins by double clicking, and you can check the checkbox if you want the plugin to start when Columbus starts. Regarding the plugin code I pasted, that can be run from anywhere and it'll work as long as Columbus is running, putting it in the plugin folder is good if you wanna have all your plugins in one place though.

Also if Columbus fails updating, you'll just have to download from my website: http://runie.me/Columbus/Columbus.exe

And the bug-report feature hasn't been added in this new rewrite, if you have a bug it's easier to post here anyways.

Thanks for the feedback!

/
Run1e
User avatar
runie
Posts: 304
Joined: 03 May 2014, 14:50
Contact:

Re: Columbus - a fast program launcher/searcher

06 Nov 2015, 08:53

Update coming soon will allow you to add Tray menu items/menus to the Columbus tray via plugins.
The Fokus feature will also be removed, and will most likely make a return as a downloadable plugin for Columbus instead.

Image
User avatar
runie
Posts: 304
Joined: 03 May 2014, 14:50
Contact:

Re: Columbus - a fast program launcher/searcher

06 Nov 2015, 16:55

0.933:
Fokus removed from software (will probably make a return as a plugin)
Plugin list in Settings updates automatically
Added commands: cmd/help (lists all commands)
Tray items/menus can be added through plugins
Many, many small improvements!
User avatar
JoeSchmoe
Posts: 129
Joined: 08 Dec 2014, 08:58

Re: Columbus - a fast program launcher/searcher

08 Nov 2015, 20:24

Heya, I think this program looks great. I love that it's open source and I've been keeping my eyes out for an open source Launchy replacement now that Launchy isn't being updated. I've got some feedback that I'd love to give, but, first, would you mind either adding some more comments to Fuzzy()? In particular it would help if you could document what arr contains and what its structure is.

Fuzzy seems super important because the killer feature for a launcher is having the thing that you are looking for pop to the top of the list.

Also, how does Columbus incorporate the history of which options have been chosen in the past into its sorting algorithm?

Thanks!
User avatar
runie
Posts: 304
Joined: 03 May 2014, 14:50
Contact:

Re: Columbus - a fast program launcher/searcher

09 Nov 2015, 06:46

JoeSchmoe wrote:Heya, I think this program looks great. I love that it's open source and I've been keeping my eyes out for an open source Launchy replacement now that Launchy isn't being updated. I've got some feedback that I'd love to give, but, first, would you mind either adding some more comments to Fuzzy()? In particular it would help if you could document what arr contains and what its structure is.

Fuzzy seems super important because the killer feature for a launcher is having the thing that you are looking for pop to the top of the list.

Also, how does Columbus incorporate the history of which options have been chosen in the past into its sorting algorithm?

Thanks!
Hi, and thanks :]

I could sure add some comments to the Fuzzy function, but if you want to use the function for something else you can just ask me to explain it, as I'll be able to answer specific questions. The arr parameter is just a simple array, and the input parameter is just the input. It returns a 2D array with item names, and properties of each item. The priority of the properties are from lowest to highest:
score: The "score", I don't remember how this is calculated.. it's actually a penalty so a list would be sorted from low score to high score.
contains: Whether the input is found inside the item name.
outline: Whether the input matches the first character of each word (for example, "ksp" matches with "Kerbal Space Program", "mw" matches with "Microsoft Word")
start: Whether the input is found to be the first character(s) of one of the words in the item name.
The Fuzzy function returns the list, fully ordered. So using the function would just be like:

Code: Select all

LV_Delete() ; clear the listview
for a, b in Fuzzy(input, arr) ; get the ordered list, according to the input
	LV_Add(, b.name) ; add the items in order to the listview
It's worth noticing that the function uses some of my custom string base functions (or references), so it might need some tweaking before being compatible with a new script.

The times a program has been launched is saved by the program, but it is not directly incorporated into the Fuzzy function. It is just added as a coloumn in the listview which is hidden from the user. It does also not matter when the user is searching, it is only when the input is empty that the most launched programs are sorted to the top. I have thought of adding some type of "weight" to the items if they haven't been launched in some time, so that after some time of not being launched it won't stick at the top just because it was used heavily for some time. I have not got around to this and I'm not 100% sure how to make this work smoothly.

/
Run1e
Elesar
Posts: 70
Joined: 31 Oct 2013, 07:56

Re: Columbus - a fast program launcher/searcher

09 Nov 2015, 10:01

Run1e:

I've noticed that with the last two updates, the "Succesfully updated..." notification does not go away until I restart Columbus. This is happening on both of my Windows10 systems (I don't have any non-Win10 systems to test on atm).

Also, Yay! I'm in the little GIF a few posts up :P
User avatar
runie
Posts: 304
Joined: 03 May 2014, 14:50
Contact:

Re: Columbus - a fast program launcher/searcher

09 Nov 2015, 11:06

0.935:
Reported by Elesar:
- Notification gui was bugged
Elesar wrote:Run1e:

I've noticed that with the last two updates, the "Succesfully updated..." notifica...
Thanks haha..
User avatar
runie
Posts: 304
Joined: 03 May 2014, 14:50
Contact:

Re: Columbus - a fast program launcher/searcher

12 Nov 2015, 13:31

Added a new setting called Compress. This makes sure no "empty" listview lines are shown, and makes the gui smaller instead.

This setting is enabled by default but you have to enable it if you already have Columbus installed. The setting can also be toggled in Settings -> Style.

Image

0.939:
Added a new setting: Compress
- Makes the gui smaller instead of showing blank listview lines (check Settings -> Style)
A few minor changes
dsewq1LYJ
Posts: 116
Joined: 26 Aug 2014, 23:21

Re: Columbus - a fast program launcher/searcher

24 Nov 2015, 02:14

Run1e wrote:Added a new setting called Compress. This makes sure no "empty" listview lines are shown, and makes the gui smaller instead.

This setting is enabled by default but you have to enable it if you already have Columbus installed. The setting can also be toggled in Settings -> Style.

Image

0.939:
Added a new setting: Compress
- Makes the gui smaller instead of showing blank listview lines (check Settings -> Style)
A few minor changes
The lastest is not working for my PC.

I did try to enable DWM and Aero, but CTRL+ALT+P still did nothing.

So...I revert Columbus to old version.It's works really great with most Programs,
but why Columbus not working suitable with JetBrain's products !?

Return to “Scripts and Functions (v1)”

Who is online

Users browsing this forum: crossgamma and 153 guests