autoclick, autofill, autoposition
  DialogDevil   DAIR  New for 2020
Contact 2020 Download  Virtual Screen Tour
How-To's: Closing a Dialog Chrome shut down
Annoyance Blocker Software

Changes in DD2 for 2020

The last major release of DialogDevil was in 2016 and since then only minor updates have been made. DialogDevil has been built on top of Python 2.3, itself released in 2003. For 2020, DialogDevel has been re-built on top of Python 3.7, 15 years more recent, and now called DD2.

The DD2 interface is more streamlined than previous with features supported obsolete Windows XP and Vista hidden by default.

SndVol UI automation needs to rely on visual analysis


... and now new for 2020: DD2 now solves an annoyance for me -- muting web pages that play sound automatically. I don't care whether my browser is open to a site page or not: I want whatever is on the page starting silently because I am playing *my* music on speakers in a separate browser. If I do want to play sound from a web page, I need to mute the browser already playing.

I use Edge to play music and Chrome to do all other browsing. What I would like ideally is a button on my desktop that clicked once mutes Edge (music) and unmutes Chrome (browsing). Click again and again and the mute/unmute states of each browser are toggled. Simply having a straight toggle button is not good enough because the toggle should start with the assumption that music is playing.

OK, so that is the spec for the toggle button. Now, how to go about this? The 3.7 upgrade permits including a screen image capture and processing program. Maybe I could put together a DialogDevil which robo-ran SndVol via active analysis of the user screen. 3.7 allows going in this direction but its implementation is very time consuming.

As a default, the SndVol UI is shown on screen for 8.5 sec and then dismissed. You can easily edit the left_proto file discussed below to change or delete default operation. We may get to DialogDevil being able to do scene analysis someday and click mute/unmute icons but that is future.
What I want is something to put together my music mute/unmute button now, not some distant future. My searching revealed that there is only one realistic foundation for building my mute/unmute toggle: SoundVolumeView from

Here is Nirsoft's licensing statement:

    This utility [SoundVolumeView] is released as freeware.  You are allowed to 
    freely distribute this utility via floppy disk, CD-ROM, Internet, or in any
    other way, as long as you don't charge anything for this and you don't sell
    it or distribute it as a part of commercial product. If you distribute this
    utility, you must include all files in the distribution package, without 
    any modification !
I will respect what Nirsoft is entitled to require and do abstain from incorporating SoundVolumeView in our download. You will need to do that as described in instructions for adding SoundVolumeView to DD2 below. I have these changes on my system and now with a single click, I can switch between browsers as sound source.

As distributed, the DD2 icon left click launches SndVol temporarily so you can make mute/unmute changes yourself. Auto switching requires SoundVolumeView.

adding SoundVolumeView to DD2

1. Navigate to Near the bottom of the page, you will see download links for the 32 or 64 bit version. Select one based on your system.

2. Download the zip file and extract all 3 files to the initially empty DialogDevil2/@data/nirsoft directory (circled).

3. If DialogDevil is already running, right click the tray icon and select "exit".

4. Edit the DialogDevil2/@data/clik_bat/left_proto.bat file to add "REM " to the lines in the default section and remove "REM " from the nirsoft section. The image at right shows what the result looks like.

Locating nirsoft directory and left_proto.bat file


Self Test

As DD2 initializes, it performs a selftest. You may see a print_ui screen flash on screen. DD2 opens and closes it in way under a second. If it flashes. Good. DD2 passes that test. But if the print_ui screen remains displayed. DD2 is unable to close the file. In our testing, this has always meant the operating system is not permitting DD2 to send control messages to other programs. It is an OS permissions issue. The selftest finds the problem so that when DD2 starts, it has assurance that it can do its job.

Python 3

The entire Dialog Devil code base has been upgraded and modernized moving from our legacy code in Python 2.3 to 3.7.
Since 1999
Copyright © 2024 by
DAIR Systems LLC