Jump to content
bresson

Executor v2 - Desktop workflow application for Windows

Recommended Posts

Executor is one of my favorite projects started in 2007 and now over the summer I did a version 2 of it (Free on MIT license). If you remember old programs like Slickrun and Launchy it was originally a bit of a "techy" alternative to these, that besides launching things can also do clipboard stuff, manage active windows, manage running apps, text manipulation, a lot of hotkey trickery, built-in calculator etc.

 

I develop in a bunch of languages, but I really love to develop in Delphi. It's where I can get idea to something working in the least amount of time, and the project compiles in 2 seconds, where if I'm sitting in Android Studio or Xcode I can fetch a new drink while waiting for the compiler. 

 

The project is using Delphi VCL. Originally Executor supported Windows all the way back to Windows XP. Which put quite some restraints on the development side. That minimum requirement was bumped up to Windows 7, also supporting both 64bit and 32bit, adding High DPI support as well. High DPI was a bit of a challange as Executor over those many years have had several skinning systems, some supporting borderless full alphablending on the main form with overlay full alpha blending images. These of course don't look pretty if trying to stretch a full alphablending image to 250% desktop scaling, and the author of the skin might not be active anymore, so you can't expect it to be updated with several resolution of the image assets (TVirtualImage, TVirtualImageList).

 

Because of the skinning support and a lot of visual customization options, there's also a lot of paint events, ownerdrawing, hooking into WM_PAINT, WM_ERASEBKGND, WM_MOVE, CN_DrawItem etc. So I'm not using VCL styles, I tried a couple of times to use VCL styles, as it it would be nice to use for my settings form for dark mode etc. But with my limited experiments it was hard to isolate the VCL styles to only effect specific forms (the settings form and some other trivial forms), and it would then introduce a lot of side effects on the main form, where I'm doing a lot of custom visual stuff, seeming to collide with my code for this. Also in general I'm trying to not be depended on thrid party components and technologies, also caring about system footprint (cpu,gpu,mem,io etc).

 

Some other nice challanges has been the 32bit and 64bit versions of Windows, as Executor can scan folders like the start-menu and other system folders, these are off-limit if not matching bitwise, and also various security restrictions was gradually added with each new version of Windows. Then scanning for UWP apps was another additional challange, as UWP seems like a bit of a "clunky add-on" that changed quite a bit in each version of Windows in terms of Windows API.

 

Cheers and happy programming,

Martin

 

Website: https://executor.dk

 

screenshot.thumb.png.5593cc5a7680ee75df309a56bdedc7b9.png

 

YouTube video: 

Edited by bresson
  • Like 3
  • Thanks 2

Share this post


Link to post

The project looks interesting. Are the installed applications auto-detected or you have to configure them somewhere?

You could also add file indexing so entering "readme" would pop up all possible readme files across your local drive.

 

If you make a Linux executable it could be a really good launcher for tiling WMs. Even fits in design :)

Edited by aehimself

Share this post


Link to post
1 minute ago, limelect said:

This has been mine for so many years

One is cluttered, mouse-oriented and hard to read and navigate. The other on the other hand also provides other features like built-in webpage preview, AI integration, basic window management, etc.

 

This doesn't seem to be a fair comparison.

Share this post


Link to post
20 hours ago, aehimself said:

The project looks interesting. Are the installed applications auto-detected or you have to configure them somewhere?

You could also add file indexing so entering "readme" would pop up all possible readme files across your local drive.

 

If you make a Linux executable it could be a really good launcher for tiling WMs. Even fits in design 🙂

There is an indexer, per default it only scans for applications and commonly used system folders (desktop, documents, pictures etc). but custom folders can be added to the indexer in settings. 

 

Regarding Linux, there's so much use of low level Windows API (and using VCL), so porting to Linux will be more than an all nighter 🙂

Share this post


Link to post

One thing I forgot to mention is probably taking the wrong route of bending richedit to do color highlighting and autocompletion.. Wow that was a world of pain of manging corner cases sneaking up all the time, specially with copy/paste and undo/redo queue handling etc. I did give SynEdit (and some others) a go, and had it working to some extent, but being an old Amiga programmer, you learned to have respect for system footprint and resources, and it pains me to see my executable bloat in such size of adding an editor, only wanting the color highlighting and autocompletion functionality (the same gut feeling when downloading a 687MB printer driver that bundles ten 4k videos, where video is the same in ten languages 🙂). 

 

I bet with Rad Studio updates and/or Windows update that bending Richedit decision will be back to haunt me.

Edited by bresson

Share this post


Link to post

A long time ago I did an SQL script editor with syntax highlight via RichEdit. The reason I eventually changed to SynEdit was the speed... I probably could have optimized the coloring code but why to try to do something, if someone else did it already and better than I ever could / would...?

 

I personally oppose file compression utilities (it already bit me in the bottom) so I suggest you skip that entirely.

Storage is cheap, network is fast nowdays. Use SynEdit, zip the dowload file and you are all set :)

Share this post


Link to post

I only need the functionality for these three inputs that were previously tedit's, so speed is not that much of a concern, and maybe thats also why SynEdit seems too much, as to just replace three TEdit's for one line editing. And yeah .exe file compression will be flagged as suspicious by a lot of anti-virus etc. We can "thank" people with malicious behavior for not being able to do that anymore.

image.thumb.png.0a7aea8c5bda85ca780dd08fb2424831.png

Edited by bresson

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×