Home

Awesome

pAHKlight - v0.1.1

pAHKlight - Your Lightweight Guide to AutoHotkey libraries, classes, functions and tools.

Questions or suggestions? Post it here http://ahkscript.org/boards/viewtopic.php?f=6&t=1241 or file an issue here on GitHub. To contribute, read the info about the format below, and either post new entries for the database on the forum or create a pull request.

Discussion about an entirely new system here https://trello.com/b/XVP4M76d/package-stdlib-distribution-and-management (not related to pAHKlight)

Introduction

A package or module: a software component for accomplishing a particular thing. (wikipedia)

Many programming languages have so called package managers to easily manage the installation of libraries. AutoHotkey lacks such a standard solution (December '13). See the discussions below for some background info.

pAHKlight is a possible intermediate solution until a more competent system is setup, it is not meant as a real package manager, but its purpose is to help find libraries, classes, functions and tools quickly, especially for those unfamiliar with AutoHotkey.

The pAHKlight script is fairly short and the format for the "package database" is kept very simple so even a novice user should be able to maintain (both the script and) the database. This will hopefully ensure that is kept up to date by posting new additions for the database on the forum or pull requests on Github.

Once you have found a "package" of interest visit the source or discussion page for more detailed information and (usually) instructions how install and apply the "package".

As a reminder (for yourself) you can tick the checkbox in front of a package if you use it. It will remember that for the next time you start pAHKlight so you can quickly see which package(s) you are already using.

pAHKlight user interface

Things pAHKlight can and should not do:

Things pAHKlight should not do:

INI Format

The INI format used in pahklightDB.ini has the following structure

[Sequential number]
name=short
fullname=full
author=
type=lib|class|function|tool
source=URL
forum=URL
category=
ahkversion=
description=
Section/KeyDescription
[Sequential number]Used as section names in the INI, they have to be unique
name=Short names, usually the name of the Prefix in case of a library or class
fullname=Full name used in the Gui (texts) and Browse list (listview)
author=(Main) Author of the script - you can include an URL: name @ URL although not mandatory
type=Lib, class, function or tool - only one allowed see comments below
source=URL - can be same as forum URL below in case source is posted on a forum for example. Must include http(s)
forum=URL - forum link, if used must include http(s)
category=CSV list (see categories.txt)
ahkversion=AHK version as indicated by the author or tested by person adding it to database
description=Purpose of the lib, class, function or tool. The entire text should be on one line due to the limitation of the INI format. Use `n if you want to display a new line just like you would in AutoHotkey

name, fullname, author, type, source and description are mandatory fields.

type

There are four types, you can only select one. The following brief definitions apply:

category

The category field is a comma separated value list. These can be found in categories.txt - if not present in that list the category is not accepted. Suggestions for the categories are of course welcome.

Other Resources

Attempts for defining so called Standard libraries have been made before and discussed a number of times, you can find some below: