Mighty Desktop - Boost the Power of your Desktop

Mighty Desktop is an extremely powerful suite, full of functions that combine the functionality of some other tools and a lot of new things in a top modern and improved form to enhance the Windows® desktop a lot. Mighty Desktop could also be called a "Hyper Tool". It's basically an extension for Windows® that you should install immediately after you installed Windows on a PC. It will boost the abilities of your Windows Desktop by a huge factor and at the same time serves as an automation base. It increases the productivity of you and your team daily by a lot. It's intended to be used for business as well as home users. It was created in response to all the things that have long been missing in daily work.

The app is a top state of the art product programmed using the most modern programming technology and programming language. These are the features of Mighty Desktop:

 •	Saving the entire state of all of your running applications and restoring them
 •	Saving the entire state of the open File Explorer folders and restoring them as they were
 •	Saving, restoring and repairing the state of the icon positions on Windows Desktop supporting multiple monitors
 •	Ensuring that some applications are up and running permanently
 •	Opening of a set of documents by a single click
 •	Reacting on windows when they appear, ie. automatically closing an advertising window, clicking somewhere or entering text
 •	Bringing back windows that were misplaced outside the visible desktop
 •	Backup of possibly huge files based on the comparison of date, length and content
 •	Comparison of two files by content, date and length even if huge
 •	Cleaning Duplicates comparing two folders or also just inside one
 •	Reacting on events of the file system like newly added files, changed files, changed checksums and then execute an action
 •	Making the Standby of your PC more reliable by closing all running applications and restarting them thereafter
 •	Calculating decimal, hex and binary numbers with different data types and conversions between them
 •	Calculation of savable formulas
 •	Calculation of a unit price by looking at a text passage with a price and number of units in it
 •	Calculation of dates, times and time spans, eg. "<date> plus 90 days" or "<date1> - <date2>"
 •	Calculation of a fraction from a floating point number
 •	Conversion of almost all known measuring units (about 800) in the world by simply typing "5 miles to m"
 •	Conversion between all world currencies and cryptocurrencies by just typing "1 Bitcoin to $"
 •	Cleaning the temporary folders of your system on demand or at each shutdown
 •	Powerful string search that focuses on text files including a replace function that can undo and redo
 •	Automatically open a document if it is added to a folder, for example by a scanner
 •	Compilation of actions to be performed based on many predefined criterias
 •	Sophisticated event scheduler that can execute an action if time is up
 •	Switching off or keeping the monitor on when the pointer is in a corner, or also on other events
 •	Finding out which process created a window, even for message windows
 •	Pinging, trace routing, getting host name, flushing DNS cache
 •	Repairing network and USB device driver issues
 •	Fixing Windows Update and file system problems
 •	Displaying the currently configured DNS servers
 •	Scanning the intranet for devices and performing an action if an unknown is detected (Intruder Alert)
 •	Displaying a list of all network adapters of the system
 •	Monitoring all file- and folder operations going on in the system and detecting malicious ones
 •	Making hidden windows visible
 •	Displaying the size of the trash bin of just one drive and emptying it
 •	Sophisticated file transfer for huge files that allows the computer to be restarted in between and verification of the copy
 •	Versatile mass file renaming supporting file system- or Regex patterns and undo-redo functionality
 •	Replacing '.', '_' and '-' in file and folder names to blanks
 •	Renaming file and folder names to Title Case
 •	Converting strings between several formats (C#, C++, C, Java, Base64, HTML, DOS)
 •	Converting all US-English dates in a text to regional format
 •	Cleaning superfluous blank-looking characters out of a text
 •	Scanning files for defects
 •	Calculating checksums of different types of a file content ( SHA256, SHA384, SHA512, SHA1, MD5 aso.)
 •	Scanning files whether a BOM (Character set identifier) is present and which type
 •	Displaying all known info including architecture of a file
 •	Scanning a folder and showing the sizes and a lot of info about the biggest and also the newest item in it
 •	Switching on the NumLock key on at each boot or other events
 •	Splitting of huge files into smaller parts on multiple drives
 •	Concatenating parts of a file
 •	Transferring huge files to another location allowing even a reboot and verifying it afterwards
 •	Copying or replacing files that are constantly locked by the system
 •	Compilation of files from different locations into a single folder
 •	Measuring drive resp. transfer speed
 •	Removing empty folders and files
 •	Searching for a string in a file's name and content plus replace function with undo/redo
 •	Recording data placed on the clipboard and accessing it later (multi clipboard), compiling it into a document or executing some action on its text
 •	Extracting columns from HTML tables displayed in the browser
 •	Repairing UTF-8 text after it was converted to a wrong character set
 •	Conversions between frequently used codings like Base64, hex and decimal
 •	Extraction of resp. conversion of pure text to HTML, RTF or XAML
 •	Decryption of a PGP message ("---- BEGIN PGP MESSAGE-----")
 •	Reconstruction of paragraphs from a hard wrapped plain text
 •	Converting all uppercase texts to upper-lower
 •	Escaping or unescaping a Regular Expression string
 •	Listing invisible characters in a text string
 •	Listing the character codes of a text
 •	Counting characters and words in a text
 •	Merge of two dictionary lists, ie. for DSpellcheck Hunspell
 •	Changing and repairing the creation- and or modification stamps of files
 •	Testing whether your antivirus software is really protecting your system
 •	Scanning your system for safety problems
 •	Repairing failed program uninstalls and not working installs
 •	Creating a truly random text string (password generator)
 •	Picking words from any word list (eg. BIP39) in a truly randomized way
 •	Additional layer of protection for your cryptocurrency seed phrases by encoding them with a passphrase
 •	Clearing the unused space on your drives to thwart spying
 •	Flushing the clipboard with random text to thwart password grabbing
 •	Guarding your clipboard against the trick that the content is replaced immediately after copying
 •	Protecting files against hackers, ie. those of password-safes or wallets
 •	Refreshing the stored bytes on a drive to avoid data loss over time
 •	Creating GUIDs of any format
 •	Shutting down or restarting your system at a predefined time
 •	Adding useful functions to the right click menus in File Explorer
 •	Adding frequently used favorites to RegEdit's favorites menu
 •	Sorting RegEdit's favorites menu
 •	Editing the system's environment variables, adding new ones or cleaning them
 •	Modern Windows command line shell replacement with Drag&Drop support
 •	Locating which program is executed in Windows if you enter a pure name
 •	Searching all Windows program folders for an executable
 •	Producing a textual listing of files and folders with selectable properties
 •	Diagnosing the reason why a Windows executable fails to start (Win32 and .NET)
 •	Translating Windows error codes into a meaningful explanation
 •	Stopwatch and Countdown timer with protocol function and action on 0
 •	Ending processes gently avoiding data loss
 •	Repairing blank icons on the Desktop
 •	Easy opening of the Autostart folder, Services list and Device Manager keeping the window's position and size
 •	Improved Windows dialogs Character Map, Font- and Color Picker
 •	Information panels with system metrics and common folder locations
 •	Placing icons on the desktop which can start any action on a double-click
 •	Configuring hotkeys which can start any action when inside another application
 •	Displaying the currently open files and folders of an app or those of all apps
 •	Ejecting removable drives safely and finding out which process is preventing it
 •	Starting processes with normal privileges if the user is an administrator
 •	Safe restart of the Windows Desktop without losing the open folders and their positions and sizes
 •	Process queue for long running processes with many options
 •	Starting processes at a predefined time
 •	Setting the audio volume level at a predefined date and time
 •	Switching off the Network Connectivity Status Indicator (NCSI) of Windows to increase privacy
 •	Increasing the maximum number of pinned items for apps in the Windows Taskbar
 •	Tweaking things in the system for which no user interface is available.

Maybe you have seen some of these functions in other tools, but honestly, I was never satisfied with them. One more reason was, that I wanted to have only one app in my system, not a whole bunch, each with its own visual appeal and weaknesses like missing Drag & Drop. So I decided to take this on by myself, but this time it should have everything I always wanted. This is the result, and now you can also profit from it.

Installation Notes: If Mighty Desktop doesn't appear when started, it gets probably blocked by 'Microsoft SmartScreen', a part of 'Windows Defender Antivirus'. See https://www.atlas-informatik.ch/mightyDesktop/support.html#MDS2 for how to add an exception.
Suspend-Resume Tab

Did you ever dream of powering your computer and having all applications exactly the same way as when you left your machine the last time? Mighty Desktop can do this for you on multiple occasions:
 •	When you power up your PC in the morning: Just power up your machine, go to the coffee machine or whatever and when you come back the Windows desktop looks exactly as when you shut your PC down. Zero manual clicks necessary, no time wasted.
 •	When an updater like 'Windows Update' asks you to restart the PC
 •	When you need to reboot into another OS and back again (eg. secure crypto OS)
 •	After a power blackout
 •	When a quick shutdown is necessary, for example because you have to leave quickly or when the power is out and your PC is running on a UPS
 •	When you want to switch between two completely different tasks you work on: For example one task is the application A plus open explorer folders. Another task is application B with different explorer folders.
 •	When you wish to run an application that consumes a lot of free RAM (eg. a Game, Virtual Box, Hyper-V). Closing some apps and restarting them after running is the easiest, quickest and cheapest way to get more memory. No need to restart anymore.
 •	To cure the system's built-in 'Suspend' and 'Hibernate' function that fail sometimes if a lot of applications are open
 •	To save energy costs with more frequent shutdowns because this function makes it very easy. Even shutting down during a longer break could save energy and money. After a restart your PC always runs smoother and quicker than after a suspend/hibernate. Windows degrades considerably over weeks without shutdown.
 •	When you need to restart the Desktop as a programmer
 •	After a Windows Desktop crash it allows you to restore the previously open File Explorer folders easily.

Why loose time with starting the same apps and rearranging all the windows every morning, after the dinner pause or after a Windows or graphics driver update? Suspend-Resume fulfills your dream. Just continue where you left! Mighty Desktop makes a snapshot of the running applications as well as of all of the open File Explorer folders and restores them automatically on the next startup or login. It even rearranges the windows and folders exactly as they were before (restored, minimized, maximized, location, size, aso.). And if you do the restore on a smaller monitor also no problem.

Suspend-Resume lets you choose: You can go down to the empty desktop level, logged out level, suspend level or power off level.

Maybe you have some encrypted or attached drives that require a password at boot. No problem, Mighty Desktop can wait patiently for drives or files to appear. This will allow for entering passwords without any stress. And you can also let it wait until the Internet is connected.

Timed suspend/shutdown: You can choose to postpone these suspend operations to a certain time. So when for example your virus scanner is still scanning or a lengthy copy or zip operation is in progress you can just walk away and let Mighty Desktop do the suspend for you later automatically when ready.

Curing the Windows built-in Suspend-Resume: Most of the PCs can't do a Suspend resp. Standby and Resume operation without problems when multiple applications are running. Many times I experienced failures after a resume like not waking up, blue screens, unexpected reboots or subtle bugs like mouse not responding, devices not working aso. I ceased to use the 'Suspend' resp. 'Hibernate' function of Windows entirely. Later I found out that the problems can be quite well eliminated by closing all applications before suspending, but it's still not perfect. Mighty Desktop can close all apps automatically for you with just one click. This way you can now feel safe and use the much quicker Suspend function again. If you still experience Resume problems you have the option to fall back to a shutdown and restart using Mighty Desktop's Suspend-Resume feature.

About energy saving and environmental protection: With Mighty Desktop you can more frequently shut down and restart your system because you won't lose your current work state of open windows and applications. This behavior is profitable even for short breaks. For example it might be even profitable during a one hour long lunch break or even for short pauses like 15 minutes coffee breaks. Note also that your system will work considerably quicker and more reliable after a reboot than after a hibernation or sleep.

A practical additional function can be performed: Windows has predefined folders where applications can store some small files with temporary data, mainly the so called TEMP folder. But many applications forget to delete their files so it will get bigger and bigger. These files shouldn't be deleted manually because applications rely on them. Only if all applications are closed it is safe to delete them, and only those who are older than a week. In the Suspend-Resume tab you can just check a box and Mighty Desktop will clear them for you at shutdown. You can also do that manually by pushing a button in the 'Windows Extensions' tab.

Resume: This does the same as calling the 'Restore Application State' function of the 'Desktop' tab with the name 'On Going Down' (see chapter).

More info:
 •	Copying entries to the clipboard copies their command line. You could use that in a Windows command shell resp. the tab 'Command Shell' of the main tab 'Windows Extensions'.
 •	Only apps where the 'CommandLine' can be successfully queried can be saved and closed. If Mighty Desktop hasn't enough rights it isn't able to perform these functions properly. You can recognize this if you see an empty 'PathName' or find something like 'NoAcc' in the process' properties. To cure this you need to restart Mighty Desktop in Admin Mode (see tab 'About').
 •	If a save of the application's state is requested but there is no application running, the command will be ignored. This serves as a protection against the scenario of first closing all applications manually and then doing a mighty shutdown. So you won't lose your valuable saved state.
 •	For a Mighty Shutdown/Restart/..: If the resume has not yet been performed after a boot the application state will not be saved (which would destroy the state from the previous shutdown). So you don't have to worry to do a Mighty Shutdown even if a resume has not yet been done.
 •	If a closure of all apps was executed the automatic start of apps like the Permanent Apps (see chapter) is suppressed. This suppression is released as soon as you start some by one of the buttons in this or other tabs.
 •	You can cancel an automatic or command line ordered resume by holding [Ctrl][Alt][Shift]
 •	You can put an icon on your desktop which executes a Mighty Shutdown or alike. See chapter "Desktop Shortcut Tab".
 •	Many applications put the current document's name or some changing value in the title bar. This makes it hard for Mighty Desktop to identify a window after a restart. To make this more precise Mighty Desktop is using the window's class name and its id value in addition. But unfortunately a handful of programs go a step further and even change the window's class name. Mighty Desktop contains a sophisticated  heuristic to find a window despite all of this and a warning message will appear in the log panel. Additionally it will already know some common "changers" like Microsoft Visual Studio. A list is queried daily from the Atlas server to allow future fine tuning without the necessity to update Mighty Desktop. Please send us a feedback if you detect one that doesn't work up to now.
 •	There is a difference between double-clicking a document in File Explorer and opening it by the menu functions in the application. In the first case Mighty Desktop can restore the document because its path is visible in the applications command line but in the second case Mighty Desktop has mostly no way of finding out, so it can't reopen it. But if the application has an interface for communication (API) Mighty Desktop can be programmed to find it out. For example this is already implemented for Microsoft Visual Studio. Other apps are on the TODO list. If there is no such API the least Mighty Desktop can do is to reopen the app and you can then manually use the 'Recent Documents' function inside the app to reopen the document.
 •	Sometimes updates of applications change their appearance greatly, even window titles and class names. As a result Mighty Desktop can't match such windows to the one in the saved configuration. In rare cases it can even apply the appearance to the wrong window. Please keep that in mind and don't be too hard on it.
 •	At the moment some special File Explorer windows like "My Computer", "Recycler" aso. can't be restored because not enough info is available to the outside. Maybe in a later version.
 •	Only stand-alone applications can be managed. More on this is explained in the "Process List" chapter.
 •	You can press [Esc] to remove the "Mighty Shutdown in progress..." message or just click through it and manage the windows behind.

Permanent Apps Tab of the Permanent Tab

Usually a user would like to have some applications or documents running resp. open at any time. I like for example 'Notepad++' very much for its simplicity (a huge thanks to the developers!) and want to have it open constantly. The same goes for my browser, my E-Mail program, my chat clients and my cloud storage provider. With the 'Permanent Apps' feature you can instruct Mighty Desktop to keep your beloved applications running at all times even if they don't have the option "Start with Windows" or alike. You can tell Mighty Desktop how often it should check that, for example once after a restart, once after login or at a time interval.

As an administrator of a server you might want to assure that a certain service is up and running all the time. Since services can crash at any moment it can be helpful to have a supervising tool that can detect this and just restart crashed processes. Also, a crash of the Windows Desktop (explorer.exe) can sometimes end plugins. And some plugins are just unstable if for example the internet connection is switched off for a longer time period, eg. "BoxCryptor 2". Mighty Desktop can make sure that such plugins are always up and running.

Permanent Apps can also be used to assert that an often consulted document is always open. In the following example a text file 'Lookup.txt' is opened automatically after the login and will be reopened if it was closed by mistake or by a reboot:
 •	Name: 'notepad.exe'
 •	PathName: C:\Windows\notepad.exe
 •	Arguments: C:\Lookup.txt"
 •	WindowTitle: "Lookup.txt - Editor"
 •	WindowClass: "Notepad"
Optionally the window's position and size can be fixed:
 •	Frame: Pos:309,442 Size:1003,563

The possible recurrences for the check whether it is already open are: After some seconds, after a resume, at logon, at workstation locking or unlocking, when a remote PC connects or disconnects, when a remote PC is taking or leaving the control or finally after a time span of your choosing. Read more about that in the 'Watchdog' chapter.

Notes:
 •	Adding an entry is very easy. You can simply point on the window. We recommend to always point on the window's title resp. frame because in some applications the content is generated by a different process (eg. Internet Explorer).
 •	You can also Drag&Drop an item from File Explorer onto the grid. If you specify a link (*.lnk) it is even better because it will protect your entry from becoming invalid if the third party application contains a version number in the path and later performs an update. An example for that is the WhatsApp desktop client.
 •	It is recommended to switch the 'Enabled' box off during an update of an app to avoid interference. The easiest way to do this is to use the right-click menu of the notification icon.
 •	After starting a process Mighty Desktop waits for the time that is defined in the 'Settings' tab and then attempts to reapply the specified appearance to the application's main window. If an error is displayed an increase of the waiting time could be the solution.
 •	There is a special handling for cases where multiple versions of a program are installed side by side. For example WhatsApp has one folder for each version with the version number in its name and on each update you get a new one. To cope with this you can replace the actual version number in the path by the notation "{Version}". Mighty Desktop will then automatically search for the highest version number it can find and run this one. The version placeholder can be used in folder names as well as in file names.
 •	There is a special handling when Mighty Desktop is not run in Administrator Mode. In this case the system can return an empty string for the pathname of some processes. It is advisable to always fill the 'Process Name' field so a process can be identified precisely.
 •	Go to Process: Tries to find a process with the parameters of the current entry and then switches to the 'Process List' tab and highlights the process. If nothing matches, it analyzes what doesn't match and displays that to you. A good diagnose instrument. For more see section "Process Identification" in chapter "ProcessBot".

'Switch NumLock On': You can instruct Mighty Desktop that in the case when ALL items are run it should switch on the NUMLOCK key on the keyboard so you have always the digit keys available. This isn't done if only a part of the items are run.

Quick Items Tab of Permanent Tab

Quick Items is a list of files, folders and internet pages that you use very often, much like the favorites in the corresponding programs. Many programs have an option for favorites or a recently used list but most of them have their caveats:
 •	Windows manages a list of recently used documents with the pin function on each of the application icons currently visible in the Task Bar. While this seems to be a very useful thing I repeatedly lost entries there. Sometimes the list was cleared at an update of a program (eg. Microsoft Visual Studio), sometimes the list got messed up and displayed the same item 20 times (eg. Notepad++), so there must be a bug somewhere. Also, these lists are usually limited to a very low amount of entries, and much worse, they are neither alphabetically sorted nor can be reordered interactively.
 •	The Windows Desktop (File Explorer) manages a list of favorites and you can also create links to files and folders in the form of icons. Drawbacks: Favorites to external drives often break and you can't fix it easily. Then, the list of favorites is bound to the PC and can't be easily transported to another one. Further, they will vanish when you reinstall Windows. And finally, links on the desktop are usually covered by windows of running applications.
 •	Web addresses: In browsers they can be managed and used quite good. But you will first have to start the browser and you can't open more than one at a time.
 •	Favorites in File Explorer windows also fire up just a single item

Mighty Desktop's Quick Items improve all of that. They are
 •	able to open multiple documents, folders and web addresses at once
 •	bundled to a group with a name
 •	always directly accessible by the task icon
 •	can be invoked by a Mighty Command, Mighty Action or Hotkey
 •	updated automatically if you rename a file or folder
 •	unlimited in their numbers
 •	presented alphabetically or by invocation count
 •	easily transferable to another computer using the export-import functions in the 'Settings' tab and also by clipboard.

A special notation for opening plain text files is supported: You can write

Chapter "Title" of "C:\MyTexts\TextFile.txt"

which will search the textfile for a chapter title in the form

Title
	-----

(or underlined by another underline character at least 3 times) and call your configured text editor for plain texts whereby positioning it on the chapter (handing over the line number). If the chapter isn't found the text will show the top.

And one more goodie: Quick Items include a count of how many times they were invoked. This allows to have the most used ones at the top and sort out rarely used ones.

Notes:
 •	You have the option to add items directly in File Explorer by right clicking on them and selecting "Add to Quick Items". This can even be done if you are in a third party application in the dialog for opening or saving files.
 •	The parameter for a Quick Item's name is called 'QuickItemName', not 'Name', because 'Name' is already taken for the Mighty Command's name.

The paste operation has some special abilities when pasting multi-line text:
 •	If you select multiple Quick Items and copy them to the clipboard a text of multiple lines like "Quick Item 'Name'..." is produced. Such a textual description can be pasted on another machine even if the regional language is different.
 •	Any plain text of multiple lines that you paste is interpreted as a list of paths that should form a single new Quick Item.
 •	Duplicate Quick Items or paths are just skipped.
The idea is that you can easily share lists of Quick Items over the net, for example to transport them to another user or computer.

Installed Programs Tab of Permanent Tab

This is an improved version of the Windows control panel 'Programs and Features' that corrects some shortcomings and adds some new features:

 •	The Windows control panel doesn't show the correct install date on some occasions. This is corrected [disclaimer: Because of the lack of online documentation we can't guarantee it.].
 •	The time of day of installation is also shown for programs that provide it. Sometimes useful when multiple installation tests were done during the day.
 •	A heuristic is used to find and display the install location. It finds much more than the original.
 •	The sometimes missing install folder is searched and listed if found. It can be opened with a double-click.
 •	A heuristic is used to search for the installed executable or dynamic link library. If found all File Explorer properties of the file are displayed in a tooltip.
 •	If an executable is found the company and version number are displayed for installers that did not provide this info
 •	If an executable was installed it can be started by a simple double-click. In addition the File Explorer's property dialog can be opened with [Alt]-double-click.
 •	The path to the registry key where the whole info about the program is stored is listed (programmer's delight)
 •	Actual folder sizes are displayed: At first the estimated size of the folder by the installer is displayed. In the background the real sizes of each folder are calculated and displayed. In the original some installs doesn't even provide an estimation.
 •	A textual listing of all the programs can be generated. Very useful if the operating system is installed from a fresh start to remember which program and which version were installed in which folder beforehand.
 •	The selected rows can be copied to the clipboard or dragged to text editor. Each program will show the name version, install location, install date aso.
 •	Programs can be uninstalled from there too
 •	The original "Programs and Features" dialog of Windows®  can be brought up on a button press.

Notes:
 •	Enter the start of a program name to position on a program.

Desktop Tab

The Desktop tab contains useful functions that work with the Windows™ Desktop:

 •	Save and Restore of the application state: `##Application State` means which applications are currently running, what documents they display or for which functionality they were started (actually their full commandline), and also the exact appearance of all these applications (window location, window size, minimized/maximized/restored state).

Additionally included in the state are also all folders that are currently open on the Windows Desktop (File Explorer folders). If you have for example the Downloads folder open, it will be reopened if you restore the state. It's even supported to have multiple windows open on the same folder. Folders that are already open will just get their previous appearance restored. If more folders are open, the superfluous ones will be closed (you can choose whether to do that or not). Also to mention: The restore function has the ability to automatically reconnect a sleeping network drive if a folder shows its content.

For each saved application, it is also saved whether the application ran with user or administrator rights. When restoring, the applications are then started again with the same rights. 

You can save multiple such application states giving them names. When you do a certain task with your PC that requires some open applications and explorer folders (eg. compiling your tax records) you can just save this state once and later restore it whenever you need it. This way you can reorganize your desktop in a jiffy by just clicking a button.

This function is also especially useful for application extension developers (eg. a Visual Studio or File Explorer AddIn). Typically the programmer will make a change at the extension and then he will have to restart all instances of the app as well as reopen all File Explorer windows. He/she will have to do that many times. Mighty Desktop can reduce that to just one click.

If Mighty Desktop needs to close an application it will use the softest closing method possible, and not just kill the app. See more in the chapter 'Process List'.

Note that the functions can also be called by the icon in the Windows Tray. If you hold the [Shift] key while restoring, only the File Explorer windows will be restored and if you hold the [Ctrl] key, windows not in the state will be closed.

Notes:
 ◦	Window properties of applications running with higher privileges than Mighty Desktop may not be restored by Mighty Desktop. For such cases, it is recommended to run Mighty Desktop in Administrator mode (see About tab).
 ◦	Restore resp. Resume will usually show some errors about windows not found anymore. That's perfectly ok because some applications don't restore their windows at a restart. In this context these errors should be seen just as warnings.
 ◦	More notes in the chapter of Suspend-Resume.

 •	Save and Restore of icon positions: Some operations in the system can have the negative side effect to destroy your beloved icon arrangement on the desktop. For example if you change the Desktop resolution some icons are moved or even all of them get rearranged. The same happens if you switch to another monitor (for example for presentations) if this monitor has a different height or width. Furthermore, some games, game updates or graphic driver updates can alter the screen resolution temporarily which provokes a rearrangement of icons.

I for myself prefer to have the icons always at a fixed location so I can click them intuitively. There is a copy of the arrangement in my mind and I want to keep it. With this function in the Desktop tab you can save multiple named configurations and restore them later on whenever you need them. In contrast to other products, the save and restore of Mighty Desktop also works when multiple monitors are attached and form a combined desktop. 

 •	Restart Desktop: After some operations (eg. Registry changes) the Windows Desktop needs to be restarted to reflect the changes. Many people do it by brutally killing the 'explorer.exe' task. This is not recommended because it can lead to data loss and abandoned files. This function is different, it does it in a nice and harmless way and it also reopens the previously open folder windows and reapplies the window's previous appearances (see function "Restore application state"). The function can also be used to start the Windows Desktop after it was killed manually.

Since the Windows Desktop does only save the infos like icon positions and settings to the drive at a regular shutdown, the function can also be used to indirectly provoke a save of that data at any time without having to restart the whole machine. If that data is not saved for days or even weeks it can be lost at an unexpected power out or reboot (ie. Blue Screen). Today an unexpected reboot happens nearly always only as a result of a failed wake-up operation following a sleep or if a device driver is malfunctioning.

 •	Repairing Icon Positions: Shifts icons outside the visible region back into the visible monitor

 •	Repairing Blank Icons: Sometimes Windows messes up its internal cache of the icons on the desktop. The result are icons that are completely white. This function forces Windows Desktop to rebuild the icon cache.

 •	Monitor on/off: Sometimes it's very useful to keep the monitor on against the automatic off function. And also the other way round, you may want to keep the monitor of a notebook off constantly if you are not in the room to save the battery even when a process on the machine periodically wakes up the monitor. You can now tell Mighty Desktop to keep on or off the monitor when you move the mouse in a corner of your monitor and leave it there for a short time.

Besides all these functions the Desktop tab can give you these informations:
 •	How many monitors Windows thinks that you have attached
 •	The extents of the monitor Mighty Desktop is running on
 •	The extents of the entire Windows Desktop which spans multiple monitors
 •	The aspect ratio of the monitor Mighty Desktop is running on (4:3, 16:9 aso.)
 •	The current mouse coordinates that you are pointing to (you could measure something with that)

Note that the saved application state and icon position sets can easily be transported to another computer by the buttons in the 'Settings' tab.

Toolbox Tab

The toolbox is a collection of many useful tools:

 •	Open Autostart Folder: Opens the 'Autostart' folder. Since Windows 8 it's not easy to find anymore.

 •	Opens the 'Services' control panel. Was never easy to find in Windows. As a bonus the last used window frame is retained. Hold [Ctrl] to start it in administrator mode.

 •	Show System Metrics: Opens a window that displays all the Windows metrics values (.NET and Win32 combined)

 •	Show Folder Paths: Opens a window that displays all the special folder paths in your system. You can easily open a File Explorer window on them. It is also especially useful for .NET programmers that must find out the correct statement "Environment.GetFolderPath(Environment.SpecialFolder.???))". There is a filter box which helps finding the right path quickly.

 •	Open Character Map: Opens a window that displays all characters of all fonts currently in the system. You can copy some out to the clipboard. As a bonus the window's position is retained. You can activate this also very quickly by pressing RightCtrl-M from any other application on your machine. See chapter 'Hotkeys'.

 •	Font Picker: An extended version of the somehow very basic font picker dialogs in other applications. Here you can see the font with all of it's capabilities including fore- and background color and the point sizes are correct. If you press OK the example text will be copied to the clipboard so you can paste it into another application to have the style there.

 •	Color Picker: An extended version of the somehow very basic color picker dialogs in other applications. The color can be specified in several different ways. If you press OK the colored example text and a rectangle filled with this color will be copied to the clipboard so you can paste it into the other applications and have the color there.

 •	Start Timer: Like a stopwatch, but all the times are recorded in the Log panel. If you write a description in the right box you will later be able to identify the times easily. If you press 'Clear' while the timer is running a lap time will be logged. Note that you can activate this very quickly by pressing RightCtrl-T from any other application on your machine. See chapter 'Hotkeys'.

 •	Countdown: Like a kitchen timer, but at zero you can let it execute one of the actions in the 'Actions' tab.

 •	Create GUID: Creates a new GUID with either upper or lower letters. For those who doesn't know what it is, it's a combination of letters and digits that is globally unique, with extremely high probability. You could use it for example as part of a filename to make it unique on the planet. This function can also automatically copy the GUID to the clipboard which makes it quicker than the one of Visual Studio especially if multiple ones are needed.

 •	Show last Exception: The last encountered exception internally will be displayed. This can also be such that were caught silently. Can deliver more info when something doesn't work according to plan.

Note that you can activate most of these function also by Mighy Command resp. Hotkey.

Devices Tab of Toolbox Tab

The Devices tab provides these functions:
 •	Open Device Manager: Opens the 'Device Manager' control panel of Windows. Its window frame is retained if Mighty Desktop is started in administrator mode (see 'About' tab), otherwise it will get rejected. I guess the Device Manager behaves like this as a security measure. Hold [Ctrl] to start the Device Manager in administrator mode.

 •	Reconnect Network Adapter: Disconnects one of the network adapters in the Network Control Panel for any period of time and reactivates it. This can be used to cure line problems and also to augment security. For example you could disconnect it before you go to dinner and your computer will be safe from hacking. You can also just use the buttons to disconnect and reconnect manually anytime. By the way, a pending reconnect will not be canceled when you quit Mighty Desktop, it will just continue if you start it the next time.
 ◦	Identify: Many times it's complicated to find out the name of a network adapter because they are the same for many devices. The method behind this button is that you just manually disconnect the device and Mighty Desktop will tell you the name of the disconnected adapter. Easier than scanning through lists by eye.
 ◦	Repair Network button: If you have problems with the network this button will execute some standard low-level commands like IP releasing and renewing aso. It follows the recipe recommended by Microsoft. Tip: If a network adapter doesn't want to work even after a reboot it can be the result of a misconfiguration inside Windows. If you had it successfully running some days before try to reset your Windows to a previous Windows Restore Point. There is no loss of personal files. We had good results with this in our long carreer.

 •	Restart USB Device: Allows you to repair a crashed driver of a USB device without unplugging and replugging. Especially useful when you can't physically access the device. As a side gain this can be used to augment security. For example you could disconnect the USB device while you were going to dinner and it would be safe against being read out.
 ◦	USB-Devices dropdown: Note that USB Network Adapters are not listed here but in the Network dropdown further above. The tooltip will show the Serial Number of the device, the Plug&Play id of the device  and also an error message when it reports an error. If the USB port is connected to a disk it will also show the disk's Plug&Play id and all the volumes that it has mounted currently.

 ◦	Disconnect and Reconnect: You can use these buttons to disconnect and reconnect a drive manually anytime. It will require admin rights and is not recommended because data could be lost. Be informed that there is also a Mighty Command that can do a safe eject. With it you could for example configure that a backup of something is run and then the drive is ejected. This would keep the drive safe from virus attacks and at the same time save power.

 ◦	Eject: This button is an improvement of the "Safe Eject" button in the Windows Task Bar. It can tell you exactly what the cause is if the eject of a removable drive doesn't succeed. It will automatically scan the system and find out which process has files open on it and you have the option to close or kill the process.

 ◦	Identify: Many times it's complicated to find out the name of a USB device because they are the same for many devices. The method behind this button is that you just manually disconnect the device and Mighty Desktop will tell you the name of the disconnected device. Easier than scanning through lists by eye.

 •	Ping an Address or URL: A small info package is repeatedly sent to this web address which will tell you whether there is a device listening. A special feature is that it will not stop pinging for a configurable duration until you stop it manually. This allows a system admin to work on the destination computer until it answers the ping and then the configured action will be executed. The action could for example be to send an email to the admin's phone. Note that if you ping a local device and you labeled it in the 'Intranet' tab you will see not only the name but also its label.

 •	Trace Route: Sends a small info package to a web address and lists which other servers are visited in between. It uses the system's internal program 'tracert.exe'. But here you can enter a full URL including protocol and sub-path ("http://../x/y"). You can configure the command line used for doing the trace in the 'Settings' tab which allows to increase the number of hops, time limits, change the IP version aso. if necessary.

 •	IP -> Host Name: It will ask the device listening on a local intranet IP what its name is (so called Reverse-Lookup). If you labeled that device in the 'Intranet' tab you will not only see its name but also its label.

 •	Clear DNS Cache: The PC knows one special IP where to ask what IP is assigned to a name you enter in the browser. You can see this IP by the button 'Info' in the 'Intranet' tab, listed as 'DNS Server'. This button here will ask this server to clear it's cache. This can resolve problems during the installation of networks when IPs or names of computers were changed.

Intranet Tab of Toolbox

This tab can show which IP addresses your computer is currently using on any of the active network cards. You can start a scan which will show which other devices are reachable in the connected subnets. The displayed manufacturer names will help identifying the device and you can give each device a unique label. These labels will be remembered and saved.

If a device is reachable you can immediately also check which mappable drives are presented by it.

Intruder Alarm: As a security feature you can let Mighty Desktop execute one of the actions you defined in the Actions tab if an unlabeled device (=unknown device) appears in your network. This can for example happen if a hacker cracked your WiFi password. FYI: You can have a good password generated in the 'Security Functions' tab.

Finding a Printer: Some printer drivers are not well programmed and stop working when a printer gets assigned a new IP address by the dynamic name system (DNS) of your router. To resolve the problem you can open the settings control panel of the printer, go into the port assignment page and edit the current port number. Mighty Desktop makes finding the right port number quite easy: Just run this intranet scan here and the current IP of your printer is displayed.

Features:
 •	Works also if multiple network adapters are present
 •	Works for any subnet mask, not just the default 255.255.255.0
 •	IP Version 6 is supported too.

The button to scan the intranet is itself represented by a Might Command which means you can configure Mighty Desktop to execute a scan in regular intervals and get an alert in case of a breach. You can do that in the tab 'Watchdog'.

File Center Tab

The file center tab combines a lot of functions that work with files and folders.

File Copier Tab of File Center Tab

File Copier can copy multiple files and folders to another folder. I hear you say "Yawn, we have already File Explorer for that". As you should already know up to now, in Atlas software there's much more to it:
 •	Transfers can be suspended when the app is closed and resumed later at the exact same position. This is very handy for huge files like videos or drive images. No more waiting for them to finish or even leaving the computer powered on until it is complete. A shutdown or restart doesn't interrupt the transfer, for example a Windows update. Also an unstable connection is not a problem anymore. File Copier is kind of fire & forget. It will just continue after you restart Mighty Desktop. Hold [Ctrl][Alt][Shift] to suppress it if necessary.
 •	The files and folders can stem from different folders and even different drives. You can use File Copier to compile a bundle of files which is later copied to the destination folder. Note that you can also paste file lists from text files or other tabs (eg. 'String Hunter') into File Copier (see chapter "File Lists").
 •	You have the option to automatically skip empty folders and zero files (cleaning up). Just be informed that there is also the function "Trash Empty Items" (see chapter "Additional Functions in File Explorer").
 •	The total size to transfer and the free space on the destination drive is directly visible
 •	You have the option to allow other processes to modify the source files while the transfer is running. This can be useful for files that are constantly accessed like for example database files or Visual Studio project files. With this option you can back them up without blocking the access to them. But be aware that the result at the destination could be inconsistent. Whether that poses a problem or not depends on the file. But especially in those cases where a file is rarely changed you will now have a much easier way to back it up. File Copier just needs read access to copy a file, just like any common viewer of the file. File Explorer can't do that.
 •	Deeply nested folders which result in paths longer than 260 characters are supported (see chapter 'Long Paths')
 •	Before starting, many checks will be done to assure that the transfer will most likely succeed. For example duplicate entries are automatically removed from the list and all destination folders will be checked that a write operation is allowed there (security rights and flags). This avoids having to abort a transfer at a later stage, maybe when you are not a the machine anymore, and therefore waste your time. It will also be checked whether the file will be overwriting a file at the destination, and if yes, asked beforehand whether to skip, append a number or specify a new name. You can also change your mind at each decision. There is a special possibility to skip an item if one with the same name and same length is already there (warning: please be very careful with it, the content could still be different). And it will be checked if the destination file is locked somehow (by another process, by missing rights or by a read-only flag) in which case you will get the opportunity to manually or automatically unlock them. By the way, in contrast to many other programs, read-only flags on folders will be respected 100%. But you still have the option to ignore them.
 •	During the transfer, the partially written file at the destination can be chosen to be already readable by other processes. This can be useful for playing videos without having to wait for the transfer to complete. As long as the file format is purely sequential and the copy speed is higher than the player's reading speed you are fine. But be aware that applications other than streaming apps usually can't handle partially written files and could therefor crash.
 •	The start time can be specified individually for each single file
 •	The allocated processor time can be specified individually for each single file
 •	The duration and end times of each transfer will be calculated and displayed. When finished the effective duration is displayed in the Log panel. This can be used to estimate transfer times for future transfers.
 •	Transfers can be paused and continued at any time, and even a restart of the computer doesn't break it
 •	After a problem like remote drive disconnection or out of space condition was resolved, you can let the transfer continue from the same point where it was interrupted. No time lost.
 •	The stamps of creation and last modification (Creation Date, Modification Date) are transferred (unlike in File Explorer). Very essential for backups and other date sensitive operations.
 •	You can let File Copier compare the copy with the original to be 100% sure that there was no data loss (important for safe backups, think for example of crypto wallets). To do that a Compare Process will be added to the Process Queue and the Copy Process will wait at 99% until the Compare Process finishes and tells the Copy Process whether it was OK.
 •	A unique feature of File Copier is the copying or moving of files at boot time. This allows to overwrite any locked files, even page files. One example is "C:\Windows\System32\drivers\etc\hosts". Most of the time it's not possible to modify this file, either because the system constantly locks it or because an anti-virus utility blocks it as a defense against virus attacks. Usually this is a positive thing but it can also be a big obstacle for system administrators. File Copier lets you exchange such files with ease.
 •	The destination box maintains a history of all previously used destinations. This way it saves a lot of time when more than one transfer is needed to the same location.
 •	You can enter a destination folder which doesn't exist yet in any depth. No need to create several folders manually beforehand.
 •	The destination is checked whether enough space is available and if not the necessary additional amount is displayed
 •	You can tell Mighty Desktop what it should do after all the operations are finished. The actions are widely configurable in the 'Actions' tab. This includes for example logging off, shutting down the computer or just anything like starting a command file or you name it.
 •	The sequence in which the files are transferred can be changed by Drag & Drop at any time
 •	Special functions for videos, audios and subtitle files in the list: An additional icon will appear which allows to display the full multimedia stream info about it. This is done by calling our powerful multimedia tool Multimedia Xpert.
 •	For each item the user can see the resulting path at the destination and also whether the item already exists there
 •	The number of concurrently running transfers can be changed at any time. This can be important if there are physical limits of the wire or the number of available processors. For example when a transfer is done over WiFi the speed is extremely limited. The transfer of more than one file in parallel will be less efficient than just transferring one at a time.
 •	The copy operation is Linux/Unix aware (eg. Mac, Android, Sat-Boxes aso.). The point is that Windows doesn't differentiate between lower and uppercase letters while Linux and Unix (Mac) do. Usually Windows programs don't work well in conjunction with such drives because they aren't aware of this. It's also somehow tricky to handle it in code. Mighty Desktop (more precisely all Atlas Informatik apps) are specially designed to handle these cases and considerable work was put into that. See chapter 'General Considerations'.
 •	Files protected by 'File Protector' are automatically unprotected for the time of the transfer

Notes:
 •	If you first add a file and then drag one of the parent folders into the list the file will automatically be removed since it will already be contained in the parent.
 •	Successfully moved files will automatically be removed from the datagrid.
 •	You can activate File Copier also by right-clicking on some items in File Explorer.

File Renamer Tab of File Center Tab

File Renamer is a very powerful dialog to rename multiple files and folders in one batch. In a first step you add the items to the list which will then be filtered live when you enter a search criteria. Then you can either perform replacements on the resulting list or just on selected files.

 •	The search for the text passage to replace can be limited to either the item's name, the extension or both. For example if you choose to only change something in the extension you won't get disturbed by matches in the name. I was always missing that in the Windows Desktop search.

 •	The specification of the find string can be made in either plain text, by patterns '*' and '?' or by Regular Expression (Regex). At each change the list of the items is re-filtered to only show the matching items. The used replacement strings will be kept in a history up to your defined maximum in the Settings. Please note, that there's an improvement made compared to the Windows file system: If you write "*a" it will only find names that end on 'a'. If you wish that 'a' should be somewhere inside you will have to write "*a*". If a match is found, the content of the matched stars can be used in the replace expression the same way as in Regex, which means "$1" represents the part left of the 'a' and "$2" the part right of it aso.

 •	Many processings can be performed either on all items of the list or just on those selected manually:
 ◦	Replacement by another string (which can again be a Regex). The replace string supports the following elements:
 •	Numbers: You can number the selected files by specifying the first number and an increment. Leading zeros up to a specifiable width are possible.
 •	GUID: A global unique id can be generated for each item
 •	Insertion of the item's creation date in any format. ISO format as a specialty.
 •	Insertion of the item's modification date in any format. ISO format as a specialty.
 •	Insertion of the current date and time in any format. ISO format as a specialty.
 •	Insertion of any of the Atlas placeholders and replacers, for example a part of a date, a part of a pathname or even a random string.
The replacement strings can use the matching parts and will be kept in a history up to your defined maximum. Each instruction set has its own history. More to the syntax see here.
 ◦	Insertion of another string (which can also be the result of a Regular Expression). The same possibilities as the replace string.
 ◦	Appendage of another string (which can also be the result of a Regular Expression). The same possibilities as the replace string.
 ◦	Removal of a block of characters starting from an index. The index can be specified either from the start or the end. The indices are 0-based.
 ◦	Moving of a block of characters to another index. The indices can be specified either from the start or from the end.
 ◦	Swapping the part left of the found string by the part right of it. A frequently used example is the swapping of a music title with the artist's name.
 ◦	Trimming of leading whitespaces (characters that visually appear as blanks)
 ◦	Trimming of trailing of whitespaces
 ◦	Changing the letter case to title case if the part is entirely in lower or uppercase. The first character of each word will be capitalized, the rest lowercased.
 ◦	Changing a part to uppercase
 ◦	Changing a part to lowercase
 ◦	Replacing dots and underscores by blanks. This replaces all '.' and '_' by ' ' in the item's name. Frequently used for movie titles.
 ◦	Replacing dashes by blanks. This replaces all '-' by ' ' in the item's name.
 ◦	Moving the item to the trash
 ◦	Deleting the item permanently.

 •	You can copy passages into the replacement box directly by taking them from the pathnames in the grid

 •	There is a preview that will show how the new name would look like if you would run the renames. To make the input of indices easier the length of the strings is displayed and you can also measure a part of the string by selecting with the pointer.

 •	Usually the file system takes read-only flags very seriously and stops a rename. In File Renamer you have a checkbox to ignore them.

 •	Renames between the same name in lower and uppercase variant. Linux and Unix file systems are fully supported. They are special because they do differentiate while Windows doesn't. It will presumably also work with Mac and Unix drives but not yet tested.

 •	Renames to any name you wish, even such that look like extensions, eg. ".vs" (starting with a dot). You will get a warning if the number of dots in the name changes since this could have negative effects on some programs (those that don't expect multiple dots).

 •	All possible conflicts like clashing into another existing file or getting an empty pathname are already checked before even starting the rename process

 •	Undo/Redo functionality is implemented including restoring from the trash. No upper limit for the number of operations.

 •	Saved inputs: All your inputs (light blue fields) are saved in a so called `Instruction Set`. You can store unlimited instruction sets by a name to be used later on. They can quickly be chosen by dropping a combo box. You can also rename an instruction set and duplicating to create a similar one is supported. What's more, the list of files and folders will be saved and reloaded if the application is closed. The same goes for all file and folder renames in all steps that were ever done. The maximum can be defined in the settings. So if you find out later that something was not as you would have wished, you can still undo the renames, maybe even days later.

 •	Note that a rename of the item - whether done in File Renamer or outside in Windows' File Explorer - will automatically also rename this file resp. folder in all interactively composed lists of Mighty Desktop, for example in 'File Copier', 'File Scanner' aso.

 •	File Renamer can be used as a very powerful selection tool. You can use File Renamer to select all those files of a bunch which have or don't have multiple specific criteria (positive or negative selection, i.e. NOT those with A or B). And this works even if the files are spread in several subfolders in depth:
 1.	Enter the first criteria, eg. a search string. The matching files will remain in the list.
 2.	If you have more than one criteria, switch 'What to do' to 'Insert', enter "[X]" for 'String to insert', set 'At Index' to 0 and press 'Rename All'. Now you have marked all with the first criteria.
 3.	Repeat step 2 for all your other criteria
 4.	Enter "[X]" for 'Find String'. Now you have all files in the grid that match all of your criteria.
 5.	To do something with the rest select all files and press "Remove Selected".
 6.	Clear the 'Find String'. Now you have all files in the grid that do NOT match your criteria.
 7.	If you wanted for example delete these files select all of them and press "Trash Selected".
 8.	Add the folder of all the marked files
 9.	Enter "[X]" for 'Find String'. Now you have all marked ones in the datagrid. 
 10.	Switch 'What to do' to 'Remove'
 11.	Enter 3 for 'Length' and assert that 'From Index' is 0
 12.	Press "Rename All". This will remove the mark "[X]" from all files. 

 •	Renaming a string in an entire folder: Sometimes you have a file with the name of an object and a folder structure with many files which contain the object’s name. Please be informed that for projects and solutions the String Hunter™ tab is the better choice because it can also replace in the content of a file. On our website is a tutorial on how to do this with Visual Studio solutions and projects.

 •	Notes for specifying folders from command line: Actually there are 3 possible scenarios:
 ◦	Only the folder itself should be renamed: Specify the folder and no "/S"
 ◦	The folder and all items in it in full depth: Specify the folder and "/S"
 ◦	The top folder and all the items in the top folder (but not further down) should be renamed: Must be specified as two arguments, 1) the top folder and 2) "topfolder\*" and not specifying "/S"

 •	On some Windows versions after a file rename their names are sometimes not automatically updated in File Explorer. You will have to press F5 to see the changes.

 •	You can activate File Renamer also by right-clicking on some items in File Explorer.

File Comparer Tab of File Center Tab

Compares two binary files regarding the length, date/time and optionally the entire content. The position of the first mismatch inside the content is reported. Other than some third party comparison programs it can also compare files bigger than 4 GB and it can do that by a background process. So it can also be used for videos, archives, backup images aso. The value in the Settings dialog determines the threshold size when the comparison is not done instantaneously but added as a process to the 'Queue'. If you get the result that the files are different you can merge them using your predefined merging tool with a single click.

Notes:
 •	You can drop two files anywhere on the window and they will be put into the two file boxes
 •	You can activate File Comparer also by right-clicking on some items in File Explorer
 •	If you need to compare a whole folder on the file level you can use the specialized 'Backup' tab in the 'System Security' tab.

Duplicate Cleaner Tab of File Center Tab

Duplicate Cleaner will search for files with either the same content, the same name or both. You can give it a folder to clean and a folder where to lookup whether the same files are already there. The primary usage is after copying new photos from another drive like your smartphone to your PC's picture folder, or also the same for new music. You can also specify just a single folder which will then be cleaned of duplicates.  Duplicate cleaner can also find duplicates with a different name if you switch off the 'Compare Name' checkbox.

After scanning for duplicates you will get a window with all the duplicates where you can decide which one is the original and which the duplicate. In the process of cleaning you have the option to also trash/delete the folders of the removed items when they get empty.

One more usage I had for this was for repairing the mess after a copy or synchronization app went crazy and had to be aborted.

Notes:
 •	The source and lookup folder are allowed to be enclosed within each other
 •	Generally the newer file is taxed as the duplicate, the older one as the original
 •	If only the name is compared (and not the content), the timestamps decide. If they are identical, the lengths will be compared and the result will be shown in the list. The shorter one will be taxed as the duplicate to prevent loss of data.
 •	If you don't trust the result you can switch on 'Verbose'. This will list all comparisons that were done and explain the reason why it was not a duplicate.
 •	In case of big folders the comparison can take quite a while.
 •	You can activate Duplicate Cleaner also by right-clicking on zero, one or two folders in File Explorer.

File Scanner Tab of File Center Tab

This tab can yield some useful informations about one or multiple files by scanning the entire content:
 •	Scanning for Defects: Scans the content for sequences of NULs. This is usually a sign that data was corrupted. This can be a result of a partial download, file system error, completely filled drives, aborted write operations, signal distortions or media that is failing (DVDs, flash drives, old magnetic drives). Usually the corrupted part will be filled with zeros (NULs) and the size will be a multiple of the block size of the media. If that happens in a video, most players will just show a blank screen for a short time or simply skip the passage. It can be very frustrating if you started to watch and are abruptly stopped somewhere in the middle. It can also give you an insight on how much data was already lost on an old magnetic storage media (see chapter 'Data Refresher'). File Scanner analyzes how many percent of the file are corrupted. If the file is a video or audio it will also show how long the corrupted parts are if you play the media. This will help to know in advance whether it is worth watching/listening. You can set the minimum block size that will be identified as erroneous in the 'Settings'.

 •	Scanning for BOM: Checks the start of a file whether a Byte Order Mark (BOM) is present and will tell you precisely which kind is there. BOMs are used to mark the encoding of a file's content.

 •	Calculate checksums: Different kinds of checksums can be calculated on a file (SHA-256, SHA-384, SHA-512, SHA-1, MD5). The result can be chosen to be displayed in lower- or uppercase. Note that algorithms of the .NET Framework are used and they are not able to be continued after a pause, they will have to be restarted.

 •	The pane on the right shows the full info that Windows knows about a file in alphabetical order. In addition, if it is an executable (dll, exe, com, cmd, bat ...) Mighty Desktop determines the architecture and displays that too (32-bit, 64-bit, ARM aso.)

 •	The scan is either done instantaneously or, if the file is huge, added as a process to the 'Queue'. The value in the 'Settings' tab determines the threshold size. 

Notes:
 •	You can activate File Scanner also by right-clicking on some files in File Explorer.

Folder Analyzer Tab of File Center Tab

Folder Analyzer can help you with the following questions:
 •	What is using up your drive space resp. what are the sizes of all the folders inside a folder or drive? You can sort the list of all folders by size, by the amount of files in them or by the amount of folders in them. File Explorer can't display the size of more than one folder at a time.
 •	What folder contains the most files?
 •	How many files and folders are inside a folder, in depth?
 •	What is the biggest file or folder inside a folder, optionally inside a size range?
 •	Which file or folder is the most recently changed and when was that (optionally in a size range)? Useful example: After playing a game you would like to know where the savegame file is, maybe for transferring it to another computer or to back it up. Also for security reasons it's interesting to see what was modified just recently. Besides, check out also 'File Monitor' to answer such questions.
 •	Select all empty files and folders and perhaps throw them into the trash
 •	See all hidden files and how much space they take up. But be warned: Hidden files have a technical reason to be hidden. You are strongly advised NOT to delete any of these files. There is also a warning dialog in Mighty Desktop that will pop up.
 •	How can I safely delete private files in the temporary folder that were exported out of an app like an archive or password safe? Without Folder Analyzer this can be quite complicated because they can have been put into a deep subfolder. Just drop "%temp%" in the folder box (predefined) and sort by column 'Modification of the Newest File'.

Notes:
 •	The tooltip on an item displays a huge amount of info about a file
 •	Navigate into depth by Double-clicking on the biggest or newest folder
 •	Navigate up to the containing folder by using the "Folder Up" button
 •	You can activate Folder Analyzer also by right-clicking on a folder in File Explorer.

In the resulting list you can open all the items with a double-click (eg. text files, pictures, archives, folders aso.), you can see the Windows properties dialog of File Explorer of them (for example for checking certificate info), you can view it in 'Binary File Viewer' and you can also navigate between the folders easily. Since the list took a long time to build up it will be saved if you close and reopen Mighty Desktop.

As an additional option, Folder Analyzer can also create a textual representation of the contents of a folder. The filter criteria entered above, such as file size, etc., are also applied to this process. The list to be produced can be customized very widely. For example, you can get this:
 •	A hierarchically indented list of folders and files
 •	A hierarchically indented list of the folder hierarchy
 •	A flat list of all files and/or folders with or without full path
 •	An extremely fast overview of all folders and/or file sizes
 •	An extremely quickly created overview of the modification times of all items
 •	Make the listings either for the whole hierarchy or also only for the top folder
 •	Generate a tab- or space-separated list
 •	List any values visible in the File Explorer
Notes:
 •	The creation has been optimized for high speed. However, when additional File Explorer values are specified, the speed breaks down extremely. The File Explorer seems to be implemented extremely inefficiently for this query. No speedup solution could be found.

File Splitter Tab of File Center Tab

To avoid limits on cloud storage, mail systems or external drives you can split a huge file into smaller parts. This can be done with any files and binary content is no problem. It's special ability is to be able to write the parts to multiple drives. For example if you have a huge backup file but none of your backup drives has enough free space you can let File Splitter distribute it to multiple drives. Features:
 •	Specify multiple folders in the 'Output Path Patterns' box by separating them by '|'. File Splitter will automatically skip to the next free drive in the list if a drive gets full.
 •	Can either enter the desired size or desired number of parts
 •	Can specify the first part number
 •	Part lengths can be easily equalized by a button press, either up or down
 •	Textfiles can be split between lines to avoid getting partial lines. Especially useful for CSV and log files.
 •	No size limits, files can be greater than 4 GB, also the parts
 •	Can be put aside and resumed in the middle of the process, even for a reboot of the machine
 •	The names for the parts can be specified freely by patterns (history dropdown available)
 •	Checks beforehand if the total available free space on all the specified drives is sufficient
 •	Same operation is re-executable with a single click
 •	Cleans up all the written parts at an abort or re-execution. This has the lovely effect that if you modify the split and choose to reduce the number of parts the superfluous parts of the previous attempt will automatically be removed.
 •	Output name production and overwrite checks for all the output parts are done before the process is even started. This way you can't get an error message at the last part for example.
 •	Automatic temporary unprotection of the source file if it's one that's protected by File Protector.

Notes:
 •	File Splitter just splits the pure content of a file. If the file is in a complex format like MP4 or MP3 the parts itself are not playable. If you would like to do this you can use our other tool Multimedia Xpert. It can split probably any video, audio and subtitle file on the planet into playable parts. It supports more than 300 different file formats. As for PDF files there is something on the ToDo list for Mighty Desktop, but not yet implemented.
 •	You can also activate the splitting by right-clicking on a file in File Explorer.

File Concatenator Tab of File Center Tab

File Concatenator joins together multiple files in a binary way, for example those produced by File Splitter. The data is joined in the order you specify. You can specify for each part how many times you would like to have it repeated (so called "looping").

Concatenator features a very elaborate analyzer for building the output name. If you have a filename like "Title - Part.01", "Title CD 01" or some other often used name format it will automatically remove the number part and take that as a default. It's the same algorithm as in Multimedia Xpert.

Notes:
 •	This is a pure join of the file's contents. No content analysis whatsoever is done, so it's only suitable for files that were split by a binary file splitting tool like File Splitter (see above). It can't concatenate things like "CD1.mp3" and "CD2.mp3" or videos that were split into fully playable parts with a high level video splitter like our Multimedia Xpert. If you need video and audio concatenations we recommend to do that with Multimedia Xpert. It can split and join probably any video, audio and subtitle file on the planet into playable parts. It supports more than 300 different file formats. As for PDF files there is something on the ToDo list for Mighty Desktop, but not yet implemented.
 •	The concatenation is either done instantaneously or, if the resulting file is huge, added as a process to the 'Queue'. The value in the 'Settings' tab determines the threshold size.
 •	You can also activate the concatenation by selecting the parts in the File Explorer and right-clicking on them.

Drive Speed Tab of File Center Tab

This will tell you what the transfer rates of one of your drives are. It does also calculate an average over time and you can request to log it.

Another possible use case is when you have a slow WiFi- and a fast LAN-connection to another computer at the same time. This can tell you which route the data really takes and optimize it.

Dictionary Merge Tab of File Center Tab

You can merge two textual lists containing one entry per line, that are sorted alphabetically and have optionally a count as the first line. Such files are for example used by the DSpellCheck Hunspell. DSpellCheck Hunspell is a generic word checker plugin that can be used by several programs, one of them is Notepad++, and also OpenOffice and LibreOffice support it.

The idea is that you put the DSpellCheck's files (the content of the 'Hunspell' folder, something like *.dic, *.aff and *.usr) on a cloud drive and set up the DSpellCheck plugin to work on them there. *.dic are the downloaded predefined dictionaries while *.usr are your personal additions to the dictionaries. Without reconfiguration you have multiple Hunspell folders, one on each computer. With this function you can merge such dictionaries effortlessly and then put the result on a cloud drive. You only have to merge all the *.usr files, they are the ones that contain your added words. So as input for DSpellCheck you would enter the expression "C:\YourHunspellFolder\*.usr" in 'Source Pattern'. This is already preconfigured by pushing the Default button just right of the box.

But this function is not limited to Hunspell dictionaries. It's generic and can be used to merge any two textual lists. For example you could have two lists of names, or two lists of movie titles or other lists exported from applications. The lists can optionally have a count of the following lines as their first line, but not required. By the way, for the management of a list of your seen movies there exists a more specialized app available from us that does this more sophisticatedly, it's called Atlas Subtitler.

File Stamper Tab of File Center Tab

You can change the modification time (resp. last write time) and creation time of multiple files and folders either interactively or in a batch. The times can be set to highest precision, technically called `Ticks`, which is 1/10 of a microsecond.  This is often used for software releases or document releases but it also makes sense for cleaning private informations from any sort of documents that will be published. Another use case is when you downloaded an old file from the cloud or exported a mail from your mail program and you would like to have the stamps in chronological order so you can easily sort them in File Explorer.

You can easily fetch the stamp of another file to be used.

File Stamper will issue a warning if the modification time of an item is before the creation time. You can use the provided button to repair such stamps automatically. Note that stamping is also one of the undoable operations (see chapter), so it can be undone if necessary.

Notes:
 •	You can activate File Stamper also by right-clicking on some items in File Explorer or by command line.

Duplicate Truncator Tab of File Center Tab

If you create duplicates of files or folders in File Explorer, Backup tab or third-party programs, you will get a set of items named "File - Copy.ext", "File - Copy (2).ext" or even without the word "Copy" simply "File (2).ext". It's a good habit to create backup copies of the current state of a game, the so-called SaveGame folder, if only to be able to transfer it to another machine if needed. These items can sometimes get quite large, and the number of duplicates can quickly run into the dozens. To make some space you would like to simply delete the oldest ones, but if you do that, the numbering starts again from 1 and you lose the time line. This is where Duplicate Truncator can help: Instead of deleting the items, it simply sets their sizes to zero. File contents are deleted, folders are emptied. This trick keeps the numbering and yet you have freed up some drive space.

Notes:
 •	The stamp 'Last Modification' of the truncated items will remain unchanged. This guarantees that the order of the items stays the same if the File Explorer window is sorted according to this column.
 •	In a non-English Windows duplicates with localized name will be searched and if none found also in English.
 •	You can activate Duplicate Truncator also by right-clicking on one of the duplicates of the series from File Explorer or also from a command line (see chapter).

String Hunter™ Tab

String Hunter™ is an ultra fast search engine that can search for a string inside text files and at the same time in file and folder names. It can even search on multiple drives at once. The search parameters of not only one but multiple searches can be stored as `Search Instruction` and can be reused easily. As one more goodie String Hunter™ can also check whether a second string can be located on a line near the search string. Advantages are that it is very easy to specify search patterns and that is has a lot of history drop-downs to reuse previous inputs which are specific to each search instruction (as opposed to just one global history). The matching strings can then be replaced and files/folders renamed with the comfort of a multi-step undo and redo functionality.

 •	You can enter multiple folders where to start with the search (branches), for example "C:\ + D:\ + E:\MyDocuments"

 •	Automatically limits the hunt to textual contents. Files with binary content are automatically skipped. You don't have to bother about how to skip them, String Hunter does this automatically by knowing all text extensions and at the same time recognizing binary content. For example, it does not unnecessarily search huge files such as archives, videos, audios and graphics. This makes it much easier to handle and much quicker than other search tools.

 •	Search for a textual file or folder that has a certain name inside a drive/folder including subfolders, much quicker and more versatile than in Windows Desktop. It can search in multiple specified folders or also in all active drives. It's also possible to just search inside a folder without its subfolders or in all subfolders while excluding some specific subfolders. The resulting list shows length, modification and creation time of the file so it can also be used as an info tool to find the biggest, smallest, newest or oldest files. But it should be mentioned that there is a better suited function for especially this task called 'Folder Analyzer' in the 'File Center'.

 •	You can drop a file or folder either on the provided target button or on the horizontal tab "String Hunter™" in the main window. This will automatically switch to String Hunter, switch the instruction to 'File Explorer' (if not there it will be created) and the file/folder will be put into the corresponding boxes.

 •	Can search both, the content and also the file resp. folder name. After the search it can replace the text in both, the content and the name of a file resp. folder (rename the element). Note: If you just want to rename files or folders it's better to use the specialized tab "File Renamer".

 •	Which type of files should be scanned can be specified by a so called File Expression of patterns containing '+' and '-', eg. "*.txt+*.nfo" or "*.xaml+*.cs-*.g.cs-*.g.i.cs" (see chapter). This will also help cut down search times dramatically. And there's one more bonus: Unlike usual Windows behavior the pattern matching of Mighty Desktop works flawlessly with double and triple extensions commonly known by Linux/Unix file systems (by the way all Atlas apps support triple extension handling especially well). You can use notations like "*.txt-C:\MyFolder\MySubfolder\*" to exclude subfolders which will once more speed up the search.

 •	The search string supports plain text, Regular Expressions and also file system patterns '*' and '?' which makes it extremely versatile and easy to use at the same time. Regular Expressions are very powerful but hard to write, that's why you have also the option to use the Windows file patterns. In addition, finding and replacing whole lines or empty lines can be tricky in some applications while in Mighty Desktop this is done by just checking a box.

 •	Sometimes you remember roughly the size of the file in which you saw the search string earlier, so a range can be entered for the size. Files outside the range will just be skipped which can speed up the hunt even more by a lot. Default for the maximum is about 10 MB. Much higher values are not recommended because the memory system of .NET can't handle more.

 •	You can limit the number of results, the results per file and also the results in total. This can speed up the search even more.

 •	Find Near Option: You can choose to find a string only if there's another one near it. It's basically an AND condition. I use this often if a have a log file and want to pull out something more precisely. For example I can search a log file for a specific operation that was done shortly after the login. Also useful to find something inside a multi-line SQL query resp. method/procedure/API call. It's also possible to do the opposite, which means, to only find a match if the near string is NOT there. That is very useful for searching for something that is missing, especially in program sources, where you could for example want to search for a missing parameter.

 •	Optimized for speed by using a very quick search algorithm

 •	Alphabetically sorted even in conjunction with non-Windows file systems like Linux and Unix

 •	Multiple find runs can be used to build up a merged list which then can be manually trimmed down and used for a replace run. It's even possible to subtract results of a second search from the first one. In combination with the ‘Near string’ this can be very useful for finding API calls resp. method calls where a parameter was missed to be handed over.

 •	The found and replaced passages can be protocoled in the Log panel for documentation.

 •	Tolerant in dealing with forbidden directories: Unlike other programs it will just skip over these and issue a warning in the log which will specify the cause of the skipping. No annoying dialog boxes.

 •	No problems to scan in folders with long pathnames (see 'Long-Paths')

 •	You can use this function to just search for file and folder names by switching off the checkbox 'Search Content'. This runs much quicker than the similar functionality in Windows Desktop and you can specify easier and more precisely what to search for. Tip: Setting 'Lines Below' to a bigger value will give you a quick peek into each file. And last but not least you can also do mass file and folder renamings using these results. However, Mighty Desktop features a much better, more specialized mass replacement function for file and folder names called the 'File Renamer' in the 'File Center'.

 •	Multidimensional find configurations: Mighty Desktop saves the details of your search parameters including the folder to search as a Find Instruction. You can store an unlimited number of such Find Instructions and reuse them just by selecting them. A plus is that the histories of all the entered strings are kept local per instruction, not just one globally. This includes also the history of the used replacement strings. You can also rename a find instruction or create a duplicate as a start for a similar one (many times you would like to search for a similar thing). In case you would like to search for the same string by another find instruction there is the possibility to carry over all find related input to the other instruction by holding [Alt] while selecting the other instruction.

 •	A verbose mode can be activated which will log exactly what was done and why. For example you will see which files passed which filter criteria. This can help understanding unexplainable results.

Massive parallelism

String Hunter builds up the result list in the background. You can see a preview of  the found text passage during the search by just pointing on the found filename or opening the file by double-clicking on it. You don't have to wait for the final results. As a second function, double-clicking the folder will show the file in a new File Explorer window. You can punctually remove items from the list with the eraser icon to exempt them from a replacement run, for example, also all finds within the same file or folder.

 •	Preview of the found passage by just moving the mouse over the result, no click needed. The number of lines that are displayed can be chosen. A file or folder can also be directly opened by a double-click.

 •	Opening of the found passage in your favorite plain text editor and positioning the cursor on the exact location. You can tailor the start parameters to your editor. Please note that versions of Notepad++ after 7.7 have a bug that doesn't position the view correctly. But if you press a cursor key it will reposition. We recommend to use the Version 7.7. This version can still be downloaded at present time.

 •	Moving of all files of the selected findings to the trash

 •	Limits can be specified for the number of requested results, for the total as well as for the matches inside one file

 •	Individual choice of which matches should be replaced

 •	The list of matches and also the statistics will be saved and reloaded if the application is reopened. This guarantees that you don't lose the time you invested in a long running search.

 •	Desktop Automation: A union list of all files and folders can be built and copied as plain text to the clipboard. Such a list in textual form can be used as input to other functions in Mighty Desktop. For example you can first find all files containing a special word, copy the list to the clipboard, paste it in the 'File Copier' grid and copy the corresponding files and folders to another drive.

 •	Replacing: After you built the result list by searching with file patterns or Regular Expressions you can first scan through the findings and remove those that you don't want to replace. Hereby you can remove all findings inside the same file or even folder with a single click. Then you can insert string passages that matched placeholders into the replace string ($1 aso.). You have the option to get a listing of all locations where replacements were made. When executing the replacement all operations are saved in an undo list and multiple replacement runs can be undone even after closing and reentering Mighty Desktop. For supporting undos at a later time, after the files were already changed interactively in the meantime, each file will be checked whether the replaced passage is still there. In case of a mismatch you can choose to cancel the undo or continue with the next replacement. This will provide a good safety against losing modifications that were done after the replacement. Nevertheless it is advised to always make a backup of all involved files and/or folders before even starting a big replacement operation and also before starting an undo operation. This can easily be done by using the provided Desktop Automation functions mentioned above (using the "Copy Union" button at the bottom and pasting the list into 'File Copier'), or using the 'Backup' tab.

If you are a programmer and use Visual Studio you know of the bugs in its global replace function. After a manual edit it can happen that the replace process restarts from the very beginning and you have to step through all of the already replaced locations a second time. Very nervy. This can not happen with Mighty Desktop's replace function.

 •	For programmers: Renaming a string in an entire project or solution: Sometimes you have a file with the name of an object and a folder structure with many files which are named the same as the folder. You will know this from your software projects, eg. each class has a file with its name and the content contains that name too. If you would like to rename such directories, files and also the content of textual files (eg. solution files, project files, resources aso.) you can do this with this function in just one run. It's easy to enter and VERY quick. Windows can't help you with this but Mighty Desktop can.

 •	For programmers: Duplicating a project or solution: Sometimes you have a folder with many files in it, which you would like to use as a template for a new project or solution because it's similar. For example I prefer this scheme for my Visual C# projects. You can find a step-by-step guide on how to do that with Mighty Desktop at https://www.atlas-informatik.ch/mightyDesktop/DuplicateVisualStudioSolution.html

 •	You can switch to String Hunter quickly by pressing RightCtrl-F from any other application on your machine. See chapter 'Hotkeys'.

 •	You can also activate String Hunter by right-clicking some items in the File Explorer.
Watchdog Tab

Watchdog is your never sleeping dog that automatically informs you when something important happens. It can also execute your individually programmed actions. Watchdog is extremely versatile, here some examples:

 •	Remote Notes: It helps you to easily transfer textual informations from your smartphone/tablet to your PC. This is how I use it: I put an empty text file on a cloud service provider (there are many like DropBox, Google Drive aso.). Then I added an entry in Watchdog that it should open this file if the file's last change date was newer. Now I can take my phone, enter something in the text file, save it and when I start up my PC at home it will automatically present this file to me. This way I can't forget to process it.

Pattern: Z:\Cloud\NotToForget.txt
Into Depth: No
Trigger: Stamp Newer
Action: Open a file system item
ActionArguments: ProcessPathName:{PathName}
Recurrence: Background Checking Interval

Note that 'Arguments' must transfer the triggering pathname to 'ProcessPathName' because the action 'Open a file system item' expects this, and not 'PathName'.

 •	Delete Warnings: In iTunes there was for some time a bug that could accidentally delete many music files. I'm not sure whether it's fixed now because it seems to be rare. To supervise this I added a trigger that fires if the file count of my music folder is smaller than before. Files can be added, yes, but vanishing files is a sign of trouble. If I wouldn't have Watchdog as a guard I could end up with backing up a reduced music folder and loosing music I payed for forever.

Pattern: C:\Music\*
Into Depth: Yes
Trigger: File Count Smaller
Action: Event Message Box
Recurrence: Specified interval
Recurrence Time Span: 1:00:00

 •	Auto-Open: You can create a trigger that automatically opens a folder or file if files were added. A good example is your Downloads folder. As soon as something is downloaded, Watchdog can pop up and ask you if you want to open the item. Another example is a scan folder where you would like to automatically open the freshly scanned document.

Pattern: C:\Scans\*
Into Depth: No
Trigger: File Count Bigger
Action: Open Latest File
ActionArguments: NamePattern:*
Recurrence: Background Checking Interval

 •	Drive size warning: You can create a trigger that gets active if the available free space of a drives falls below a defined minimum. This will alert you in advance of nasty problems. Tip: The file system of Windows can't handle the "No free space" condition on a drive well. In my 40 years of computer experience I have seen multiple data destructions because of this. You should keep an eye on this and never ever let the free space go completely to zero at the drive where the pagefile resides (usually C:).

Pattern: C:\*
Into Depth: Yes
Trigger: Available Space Below
Trigger Value: 3 GB
Action: Event Message Box
ActionArguments: Text:"Drive C is low on memory: Now {AvailableSpace}!"
Recurrence: Specified Interval
Recurrence Time Span: 1:00

 •	Hosts file changed: This file is a vital component for the internet connections. In history Trojans were observed inserting some lines into it for a 'Man In The Middle' attack. This item will check each minute whether the content was changed and display a message box if yes. There are also completely legit reasons for this to happen, for example by antivirus tools.

 •	File modified warning: You can tell it to make a MD5 checksum over a bunch of files and see whether it changes. For example if you have a Bitcoin wallet you can let Watchdog guard your wallet file. If anybody tampered with this file you will immediately notice and you will know that your system is in danger (though we will see a better way of protection later in the 'File Protector' tab).

 •	Auto processing: As soon as a file is modified or created at a certain path you can Watchdog let do some processing with it. For example you could choose to copy or move it to the folder it belongs or remove whitespace in it or whatever function is available. You could also send the new content to any other application. I use it for example as a remote command processor: When I'm at my Smartphone I can place any Windows command in the text file. Then Watchdog sees that the content has changed (Trigger = 'Stamp modified'), opens the file, reads the content into the placeholder 'Content' and hands this over to the action "Start an application" which will then execute the app.

Trigger: Watchdog supports a lot of trigger types and the list will grow in the future. If a trigger is fulfilled one says "it fires", which means it executes the Mighty Action that you have entered right of it.  At the moment you have available:

 •	Stamp Modified, Stamp Newer, Stamp Older: Checks the "Last Write" stamp of a file or folder. Only a single item can be specified.

 •	Size Changed, Size Bigger, Size Smaller, Size As Specified: Checks the sum of all file lengths of the files that match the pattern.

 •	File Count Changed, File Count Bigger, File Count Smaller, File Count As Specified: Counts how many files are returned when the 'FilePattern' is enumerated. For example if you specify "C:\MyFolder\*.doc" it will count how many documents are in the folder. You can also specify just an absolute pathname to a single file to kick start an action as soon as the file is there. It doesn't need to be a pattern. If some or all of the specified folders or files can't be found the count will just be 0. No warning or error will be displayed. This allows for using it for removable or network drives too.

 •	Checksum Changed: Calculates a checksum (MD5, AES, SHA...) over all the files matching the pattern you specify and fires if at least one changes. You could use this to get informed as soon as something changes, for example a cryptocurrency wallet.

 •	Trigger Value Found, Trigger Value Not Found: Some trigger types like 'File Count As Specified' require a value to be compared with. You can see the last evaluated/calculated value and the point in time on the right side.

 •	Available Space Below: Calculates the free space on the drive of the pattern. This can warn you when space gets low. Be warned that Windows can sometimes react with data destruction when the space on a drive runs out during a write operation.

Recurrence: You can tell Watchdog, how often it should check the trigger:

 •	Manual: Only if you run it by pushing a button, executing a menu item or call it from command line
 •	Background Checking Interval: Each time all the background checks are done, which is all 10 seconds by default
 •	Waiting To Resume: Periodically while waiting for the resume pattern to be fulfilled (see chapter 'Suspend-Resume')
 •	Once After Resume: After the PC was resumed and the 'Resume' function finished
 •	Specified Interval: You can enter your own time span. There are no limits for the length of a time span. Extended timespan notations used in 'DateTime Calculator' are supported.
 •	At Workstation Locking: If you go into the Windows Desktop lock screen
 •	At Workstation Unlocking: If you unlock your Windows Desktop
 •	At Remote Connect: If another computer connects remotely to your PC
 •	At Remote Disconnect: If a remote connection has been disconnected
 •	At Remote ControlChange: If a remote PC takes over the desktop control, or if it terminates the control
 •	At Logoff: If you log the current Windows user off.

Executable Actions

Once a trigger fires you can specify one of the many actions from the 'Actions' tab to be executed (see chapter). In the special case that 'File or Folder Pattern' contains a path to an existing file and the file is smaller than 16 kB, Watchdog reads the content of the file and adds it as a new argument of name 'Content'. This allows to process the content in the executed action.

An example for a useful appliance of the 'At Remote Connect' trigger is to automatically close private programs, eg. a password safe.

A special paste operation is supported: You can paste a list of Watchdog entries from a textual XML structured definition. This is the same format that you will see when you drag or copy some entries into your text editor. If an entry is already existing a sequence number will be appended at the end of 'Name'. This allows to easily exchange Watchdog entries with your friends or import some from websites. In the future there is planned to have a page on our Website that lists some new cool Watchdog entries. Please send us your cool stuff by the feedback function in the About tab. We will then place it on that web page.

Basically you can execute any operation that is possible with your computer. The ultimate action  can contain a 'Shell Script Command' which has the power to execute the same commands as a Windows Command Prompt.

Notes:
 •	Watchdog has two lists, one that is edited and one that is processed in the background. By pressing 'Apply' the edited list is checked and sent to the background checker.
 •	If a copy is pasted via clipboard, a sequence number is appended to the name analogous to the File Explorer. This is a simple way to create a variant of an entry.
 •	For trigger 'Stamp Modified': If you execute an action on the same file that the trigger observes and you change something (eg. Replace Tabs by Blanks) you will have to do the operation without changing the file's last write time. Otherwise it could result in repeated firing of the trigger.
 •	If the folder of a pattern is not existing and the recurrence is a repeating interval (other than manual) the trigger will silently suppress triggering. This is a helping feature aimed at the case where the folder is located on an external drive which could be temporarily offline.
 •	You will have to double double-quotes inside an argument (DOS shell style)
 •	You can suppress execution of the action of a triggering watchdog item in the background by holding [Ctrl][Alt][Shift]. Note that the 'Last Seen Value' is still updated so you don't get annoyed later.
 •	If an error is displayed you can switch on 'Verbose' to view more details. This is done in a two layer hierarchy: First there is one global switch for the action. This can be overridden individually by the 'Verbose' field of each Mighty Command.
Calcuverter Tab

The name Calcuverter stems from the combination of multiple calculators and converters in one. I always wanted to have a simple method to calculate math, dates, times, timespans and do unit conversions. I also missed an efficient currency converter that can calculate current interbank courses, especially all the new cryptocurrencies. I'm not a fan of all these converters where you have to scan over long lists of units, or even first select a category and then opening combo boxes with 100 entries. Why not just type in "34 miles to km", the units are very short, aren't they? Don't waste your precious time anymore. By the way, Calcuverter is my personal kind of tribute to the famous ELIZA program of the year 1966 where you could just chat with an artificial intelligence by typing.

One big advantage of Calcuverter is that all the tabs have the ability to tell you what and where something was not understood in the entered expression. Many third party programs have the habit to just say "Calculation error". That doesn't really help. The Calcuverter does not only tell you exactly where the syntax was incorrect but also at which exact location an overflow occurred.

One more thing is that all the Calcuverter tabs are tightly connected to each other. You can carry over results from one tab to another one by just one click, for example the result of a currency conversion into the currently edited formula in DualTypeCalc™.

The final goodie is that you can configure Calcuverter to act as a silent processor in the background while working in another app. If you check the box 'On Copy' it will read what you copied to the clipboard, process it and display the result in a popup. If you check both 'On Copy' and 'Auto Copy' you can use it as a mass converter. For example say you are in a word processor and you have a text with multiple passages like "60 miles" and "34 miles" in it and your task is to convert that to kilometers you could just go to 'Unit Converter' and enable both boxes. Then each time you copy one of these passages to the clipboard Unit Converter will read it, convert it and put the result back to the clipboard from where you can finally paste it in your document. Only two keystrokes, Copy & Paste, easy peasy. All the 'On Copy' functions react only if none of the modifier keys is held down. You can use this to temporarily copy something else to the clipboard.

DualTypeCalc™ Tab of Calcuverter Tab

DualTypeCalc™ is a scientific calculator and therefore adheres to the common rules that power binds stronger than multiplication which binds stronger than addition aso. To increase the precision you can choose your number base (the data type) in which the calculation should be done:

 •	10: Choose this calculation as you primary choice since the world's numbers are usually decimal. It uses the .NET Framework's data type 'Decimal' which is a double precision, exponential data type. This means that it can represent real world numbers totally exact up to quite big numbers, about 1028. This type avoids typical rounding errors that can occur in 2-based number systems, so it's especially valuable for money calculations.

 •	2: Scientific calculations must be quick and with huge numbers. They are how computers think and therefore digital. For boolean logic it's a good choice but it's not fully precise at real world data. Such calculations will use the .NET Framework's 'Double' data type, also a double precision exponential data type, and its maximum is much higher here, it goes up to 10308.

Be aware that both data types are exponential (for example you can write 1e10) and therefore will loose more and more precision the higher the numbers will get.

DualTypeCalc™ is a part of the Calcuverter suite. If you jumped directly here, please read first the general info in the chapter 'Calcuverter' above.

A unique feature of DualTypeCalc™ is that it can convert between these two data types on the fly. If a result becomes too large or a mathematical function is not supported by the current type, it is automatically converted to the other type. So that this has to be done as rarely as possible, DualTypeCalc™ has also additionally built in the decimal versions of functions such as 'Pow', 'Sin(x)', etc. These variants, normally only available for 'Double', increase the precision almost to double. If it nevertheless had to be changed into the other type, you get a warning triangle   directly beside the result, since this possibly goes along with a reduction of the precision. You can also disable this automatic conversion and limit the calculation to a single type. The results of the calculation can be displayed rounded to a specified number of digits, and the formatting can be completely user-defined. Thus, it also has its value as a tool in the arsenal of any programmer who programs based on the .NET Framework.

One more feature to mention: DualTypeCalc™ can process numbers given in any regional format of the world. For example if you browse an online shop of another country you can easily copy & paste prices without having to edit them before usage.

DualTypeCalc™ is not only a formula calculator but it's also a hex and boolean calculator (functions NOT, AND, OR, XOR, >> and <<). It can calculate up to 64 bit wide expressions. Any number that takes part in an expression can be written either in decimal, hex (0xABCD, $CD) or binary (%101001). Additionally, the integer part is displayed in hex and binary, even if the result is outside the 64-bit range (also negative). You can copy the result to the clipboard in different formats and choose the number of digits you would like to see. Hex results can be chosen to be in lower- or uppercase characters.

There are two unique functions invented only for DualTypeCalc™: "4% of 283" and "Percent(x, y)". The first one should be self explanatory. The 'Percent' function calculates the percentage difference between two numbers and can also be written as "x -> y". Example: "100 -> 110" will say "110%". Finally, just writing a percentage, eg. "12%", will translate to "0.12" and can be used as such as a part of a complex expression.

Degree values are supported and can be specified in Degrees, Radians and Gradians and also in nautical form like 10° 20' 30" (degrees-minutes-seconds).

Some additional functions are embedded: Binomial coefficient (Ncr), Number permutation (Npr), Remainder, IEEERemainder, OLE Automation Currency (From/ToOACurrency) as well as minimum, maximum and average of multiple arguments (Avg(a, b, c)). Random values can be generated by "RND()" and "RND(x)" and faculty with "Fac(x)" or "x!".

For constants DualTypeCalc™ has some addons ready to use: Pi and Euler's e is standard (you can also use the symbol π) but it knows also the programmer's daily stuff like 'IntMax' (32-bit integer maximum), 'LongMax', 'DecimalMax' aso. Same with minimums. And it knows postfixes like "1G" (1 Giga) and the whole palette, and also in symbol form, for example "1µ".

Two numbers button: DualTypeCalc™ has an ace up its sleeve for web pages: If there is a calculation specified like ".....60.....$22..." (a number of units and a monetary amount embedded in any other text), it extracts the first and last numbers and then uses them to calculate the formula specified in the Two-Number Formula field. By default, the unit price formula is set to "{1} / {0}", or in other words, it divides the amount of money by the number of units (in the example $22 / 60 = $0.37). This is very useful if you are in an online store and want to quickly calculate the unit price of an item. Simply tick the checkbox "On Copy" in the "Two Numbers" button, switch to the online store and copy the description of the item to the clipboard.  An additional flexibility: If the currency symbol is to the left or right of the first number (possibly with a space in between), the values will be swapped so that "{1}" always gets assigned the monetary amount. If there is no currency symbol, the last number is taken as the money amount. See the 'Currency Converter' tab for the list of recognized currencies. The free specification of the formula makes this very flexible. For example, you can also use the formula "{1}  * {0}" to make a total amount calculation, so in the example 60 items at $22 each cost $1320. One can imagine even more applications. 

Average button: If 'Calculation' is a multiline text where the first number on the line is the number of units and the last number the unit price, the average price of all lines is calculated. For example the lines '10...$20...' and '6...$30...' will produce the formula '((10*20)+(6*30))/16' = 23.75. As an optimization the two numbers can also occur the other way around. They will automatically be swapped so the currency is always on the right. See 'Currency Converter' for the list of recognized currencies. This function is often used for copied text from a spreadsheet app.

To be highly compatible with other systems DualTypeCalc™ understands multiple flavors how functions are written:
Sqr = Sqrt, Rot = Root, Int = Floor, Ceil = Ceiling, Trunc = Truncate, Sgn = Sign, Fac = !, AND = &, OR = |, NOT = ~, Pow = ^

DualTypeCalc™ does also support variables. You can store the results of your calculations or constants by writing "MyVariable = SomeExpression". The variables will show up in the list on the right, where you can insert them at the cursor by double-clicking. The variable '@' can be used to always access the result of the previous calculation and you can also select and copy text from the 'Log' panel where all previous calculations are logged. Assignments leave '@' untouched. All your variables including '@' will be saved when you exit Mighty Desktop.

DualTypeCalc™ can process multiple lines with multiple statements in them, separated by ';'. Arguments of functions are separated by ','. Use Ctrl-Enter to insert a line break. These so called `Scripts` allow to parameterize complicated functions easily. Here is the example of the famous Pythagoras Hypotenuse Calculation:

a = 10;
b = 20;
c = SQR(a^2 + b^2);

There are some predefined variables that can be used to change calculation settings (only assignment supported):
 •	NumberBase = 2 | 10
 •	AngleUnit = Degrees | Radians | Gradians
 •	AllowTypeConversion = true | false

Additional infos:
 •	Function arguments are separated by ',' and statements by ';'. In cultures that use ',' as a decimal point in numbers (eg. Germany), function arguments must be separated by ';' and statements by '§' (evasion).
 •	Characters like ''¼", "½" and "¾" are supported
 •	Appendixes like "m" (milli), "µ" (micro, Alt-0181), "n" (nano), "p" (pico), "k" (kilo), "M" (mega), "G" (giga), "T" (tera), "P" (peta), "X" (exa), "Z" (zeta) or "Y" (yota) for powers of 10
 •	'DIV' and 'MOD' are the rounded integer number division operators
 •	'Min', 'Max' and 'Avg' can have any number of arguments (eg. Avg(a, b, c, ..))
 •	'FromOACurrency' and 'ToOACurrency': These values are used in Microsoft Office® Automation for OLE objects
 •	"x% of y" binds stronger than any other operation like addition, multiplication, power aso.
 •	"x >> y" binds the weakest, same strength as "<<" and "->"
 •	Hex and binary representations are provided up to any size of number, therefor not limited to 64 bit or similar. Also negative numbers are supported, eg. "-1" results in "F" hex. 
 •	Formula parts can also be inserted at cursor position into the expression by double-clicking in the list on the right
 •	Clear a variable by "Variable ="
 •	You have a wide range of options for formatting the result (amount of digits, thousands separators aso.)
 •	You don't have to reformat a foreign country's numbers that don't match your  current regional number format, such as when you are on a website. Just change the combo box to the number format of the website.

Here is a list of many examples.

Notes:
 •	You can switch quickly to DualTypeCalc™ by pressing RightCtrl-C from any other application (see chapter 'Hotkeys').
 •	If "On Copy" is checked, you can bypass automatic processing by holding down a key such as [Alt], [Ctrl], or [Shift] while copying.

Unit Converter Tab of Calcuverter Tab

'Unit Converter' is maybe one of the most comprehensive converters for units you can find on the market. The conversion is done simply by typing, no tedious searching from lists. Each unit is recognized even if written in different flavors, for example in singular, plural or as symbol. The unit of the result is displayed just right of it in all of the flavors, eg. "square meter, m², square meters" (the plural word is not always the same as singular with an appended 's'). This converter uses basic principles of artificial intelligence: If there is a path between two units, Unit Converter will find it.

Unit Converter is a part of the Calcuverter suite. If you jumped directly here, please read first the general info in the chapter 'Calcuverter' above.

Disclaimer: The conversion functions have been collected and compiled with the most possible precision and care. However, we have to exclude ourselves from any liability for the correctness of the results. Elon, don't try to calculate the mars landing with it [insider joke, (;-)]

Supported conversions:
 •	Conversions between nearly all known units, eg. lengths, areas, weights, power, temperature, geometry, radiation, physics, chemistry aso. (see the yellow list on the right). A few of them are case-sensitive but most aren't. Example: "60 mph to kmh". If you omit the "to" part it will convert to the most used other unit.
 •	Symbols are understood, for example "1 µm to Å"
 •	Square and alike by either "2" or "^2"
 •	Language specialties are known, e.g. 'ss' can be written as a substitute for 'ß'
 •	Combinations of units like "1 m 80" or 4'2
 •	Appendixes like "m" (milli), "µ" (micro, Alt-0181), "n" (nano), "p" (pico), "k" (kilo), "M" (mega), "G" (giga), "T" (tera), "P" (peta), "X" (exa), "Z" (zeta) or "Y" (yota) for powers of 10
 •	TV 16:9 format extents calculation with '65" tv'
 •	Number conversions between hex, binary and decimal. Example: "hex C005 to decimal" or "160 to binary"
 •	Conversion to Office Automation OLE currency ('oacurrency' -> decimal and vice versa)
 •	Byte conversions from kilobytes up to Yottabytes (224)
 •	Calculation of a fraction from a floating point number, for example 1.33333333 will display 4/3. 'Desired Decimal Places' controls how precise the fraction should be approximated. If this calculation takes too long press [Stop] and lower the requested number of digits.
 •	Includes some rare to find conversions like food additive, old Egypt, biblical, ancient roman and Star Trek™ units
 •	For programmers: Cast of unsigned numbers into 32 or 64 bit signed number and vice versa. Example: "0x80004005 to int32"
 •	Conversion between the western year number and the one used in Thailand
 •	The conversions are done automatically in the appropriate 10-based or 2-based double precision data types (see chapter DualTypeCalc™)
 •	Units can also be inserted into the expression by double-clicking in the provided list.
 •	You have a wide range of options for formatting the result (amount of digits, thousands separators aso.)
 •	You don't have to reformat a foreign country's numbers that don't match your  current regional number format, such as when you are on a website. Just change the combo box to the number format of the website.

A list with many examples can be found here.

The list of conversions (at the writing of this document about 950) will be extended in the future. The architecture makes it very easy to add new ones. The list is hosted on the Atlas server and new versions will be automatically downloaded to you daily. If a unit is missing we would appreciate if you send us a feedback using the button in the 'About' tab, for example "please add MyNewUnit = 1234.56 * ExistingUnit to the unit list (Wikipedia-Link = ...)".

Notes:
 •	A few units are technically speaking not really units, but approximations. An example is the Mach number. It is depending on the temperature and pressure of the gas.le is the Mach number. It is depending on the temperature and pressure of the gas.
 •	Regional and US English words can be used side by side, with exception of the unit names. If you use Unit Converter expressions in a regional language and switch the application back to US English, the syntax words like "to" are still recognized but the unit names are not. See chapter Localization / Translation.
 •	You can switch to Unit Converter quickly by pressing RightCtrl-U from any other application (see chapter 'Hotkeys').

DateTime Calculator Tab of Calcuverter Tab

DateTime Calculator can do date and time calculations. This is useful for
 •	Finding out when to expect an ordered package
 •	Finding out how many days your ordered package is now in transit
 •	Finding out when an invoice is due to be paid
 •	Finding out how old a device is now
 •	How many hours long a flight was while crossing time zones
 •	How many days you are old
 •	How many man-days a project took
 •	How long you are engaged (your spouse will love you if you know (;-))
 •	Which business week of the year we are currently in
 •	At which date you should check something important again if a time span is given
 •	What time it is in any country of the world
 •	And much more, up to your fantasy.

DateTime Calculator is a part of the Calcuverter suite. If you jumped directly here, please read first the general info in the chapter 'Calcuverter' above.

DateTime Calculator features an invention called `Extended TimeSpans`. These can be either
   a) a number of years, months, days, hours, minutes, seconds and ticks
    - OR -
   b) a month name with an optional year, eg. February 2021.
The problem with common TimeSpans is that the biggest unit is days. If you would ask a computer "3 months to days" it can't answer that because it is highly dependent on the month length. Is it in February or July? In this case DateTime Calculator automatically switches to the `360 Days Calendar` with 12 months of 30 days length (if you allow it) and warns in the end that the result could be unprecise. The same goes for an amount of years.

In DateTime Calculator not only time spans but also DateTimes are extended compared to the usual one. It can be any date (common) or a human expression like "today", "next saturday", "previous week" "third friday in the month" aso.

Supported expressions:
 •	"DateTime - DateTime": Timespan between two dates. Example: "Today minus 1/1/2021". Append "to unit" to get the difference in another unit, for example in days.

 •	"DateTime +/- ExtendedTimespan": Addition or subtraction of a duration. 
Example: "Today + 10 days and 5 hours". The "and" is optional.

 •	Week, weekday, Day_of_Year or special day of a given date. Example: "Weekday of Today", "Start of month of <Date>", "Start of year", "This year" aso.

 •	First and last day of the week according to the settings in the Windows Region Control Panel: "Start of week of <Date>", "End of week of <Date>"

 •	Append "to ticks" resp. "to weeks" to get a DateTime resp. ExtendedTimeSpan as a count of ticks resp. weeks (a tick is 1/10 of a microsecond). Example: "123 days to weeks".

 •	Nth weekday in a month: "Second Thursday of November [Year]", "End of month [of Date]". You can write the short or long version of a weekday.

 •	"Time zone of City" will calculate the difference to the UTC (GMT) time of any city in the world

 •	"DateTime in City" will calculate how a given local time was/is/will be in another city of the world. Daylight saving time is respected

 •	"DateTime City time [in AnotherCity]" will calculate the other way round, what the given 'DateTime' in the 'City' will be seen as in 'AnotherCity' (or local). Daylight saving times of both locations are respected. Example: "Sa 3:22 pm Florida time in Los Angeles"

 •	Time difference between two cities, optionally at a specified date and time while considering summer time differences: "Time difference between New York and San Francisco". The city data is queried from Google (big thumbs up to them).

 •	Calculation of the western year number from the one in Thailand: "Thai year 2561" (although 'UnitConverter' can do it in both directions)

 •	Calculation of and with Ticks (atomic computer time unit)

 •	Calculation of machine used hex notations for DateTime and TimeSpan ticks, eg. "0x01d6f15ca3d23231" or "0x5f5dd1ae"

 •	Symbols are also recognized, for example "µs".

 •	You don't have to reformat a foreign country's numbers that don't match your  current regional number format, such as when you are on a website. Just change the combo box to the number format of the website.

DateTime calculator understands a lot of expressions, just speak to it like to a human.
See many examples here.

Notes:
 •	Regional and US English words can be used side by side. If you use DateTime Calculator expressions in a regional language and switch the application back to US English, the regional words can't be recognized anymore. In such a case it is advised to enter the expressions in US English. If you switch back to your regional culture they can still be processed. See  chapter 'Localization / Translation'.
 •	DateTime calculator sometimes has to guess whether you mean a date or a timespan. If the guess wasn't good you can specify the element as "Timespan x" or "DateTime x".
 •	Elements can also be inserted into the expression by double-clicking in the provided list.
 •	You can enter the amount of decimal places you would like to have
 •	You can switch to DateTime Calculator very quickly by pressing RightCtrl-D from any other application (see chapter 'Hotkeys').

Currency Converter Tab of Calcuverter Tab

With the Currency Converter you can convert from any currency to any other currency in the world just by typing naturally. For example "10 usd to eur" will do. No need for searching through long lists. Currency Converter also supports all currently used cryptocurrencies. The current exchange rates are downloaded daily from the Atlas Server.

Currency Converter is a part of the Calcuverter suite. If you jumped directly here, please read first the general info in the chapter 'Calcuverter' above.

 •	Appendixes like "m" (milli), "µ" (micro, Alt-0181), "n" (nano), "p" (pico), "k" (kilo), "M" (mega), "G" (giga), "T" (tera), "P" (peta), "X" (exa), "Z" (zeta) or "Y" (yota) for powers of 10
 •	There is a special mass conversion mode implemented. You can enable that Mighty Desktop automatically converts a text each time it is copied to the clipboard. That works globally in Windows, even from within a third party application like a browser. Mighty Desktop will then display the result in a popup.
 •	You can chose that the result should be immediately copied to the clipboard. Especially useful in spreadsheet apps. This integrates the full power of Mighty Desktop into third party applications.
 •	You have a wide range of options for formatting the result (amount of digits, thousands separators aso.)
 •	You will get a warning triangle if an intermediate currency had to be used. This means the initial currency had first to be converted into one or multiple intermediate currencies and then finally to the result. This will make the result a little bit unprecise. You can see the whole chain of conversions.
 •	Currencies can also be inserted into the expression by double-clicking in the provided list.
 •	You don't have to reformat a foreign country's numbers that don't match your  current regional number format, such as when you are on a website. Just change the combo box to the number format of the website.

A list with many examples can be found here.

Notes:

 •	A cryptocurrency symbol will automatically be recognized if you write it without '@', under the condition that exactly 1 matches
 •	Note that you can switch to Currency Converter quickly by pressing RightCtrl-Y from any other application (see chapter 'Hotkeys').
Scheduler Tab

Scheduler works like a calendar or ToDo list but with much more possibilities. To understand its inner workings you must know that it comprises of two lists: One that you are editing currently and one that is watched constantly in the background through a background process. If you press the 'Apply' button you will send the edited list to the background checker.

If an event is up you can chose which Mighty Action from the 'Actions' tab will be executed. This makes Scheduler probably to the most versatile calendar system on the market.

Each entry of the list can be separately enabled or disabled, for example if a meeting is canceled for once.

Did you ever wish to have a scheduler without length limit for the displayed text? Did you ever wish you had only one single entry for all sorts of recurring events? Have you ever wanted the possibility to delete an event directly when it pops up? Have you ever wanted to see the entire list of completed and future events at a glance? Yeah, me too. Here you go. The text of an event can be multi-line and has no limits. The recurrence is smart enough to cope with all possible cases. And you can immediately see when an event will be up for the next time including all its follow-ups.

An event has a starting time (of day) and a ´Decay Time Span´. After the decay time the event will not be executed anymore and just be silent (but not deleted, that's something else). So it will not bother you anymore. You can also limit the number of times the event should pop up and you can let Mighty Desktop delete it automatically for you if that number is reached. A very common scenario is one that an event pops up only once and then is over.

The trigger of an event is extremely versatile. You could for example choose to just let it execute on the third Friday of the month. You can also just let it execute on some weekdays but on others not. Business events will usually be restricted to Monday..Friday which can be selected by a push on the wrench button. In combination with the decay time span you can configure an event to slip to the next allowed weekday automatically. Scheduler will never let you down: If your machine is not powered on at the scheduled time it will show the event right after you started Mighty Desktop.

The 'Date Patterns' field allows to specify multiple patterns for the day, month and year when it should be triggered. For example you could tell it to execute at day 12 of each month. Every part can use '*' as an "all match" character. If any of the patterns match the current date the event will be executed. This pattern system makes Scheduler extremely flexible. Examples:
 •	"Black Friday" is a day with a lot of shopping discounts. Just extend the options, click the eraser button, tick 'Friday' and '4.'. Then enter  "*/11/*" as date pattern. This event is actually already predefined as an example.

You can also manage recurring events. For example if you want to have an event pop up all 90 days you could enter a full date in the 'Date Patterns' and '90 days' in the 'Recurrence' field. You can use any of the many natural language expressions that are recognized by 'DateTime Calculator' (see chapter). The advantage of recurring events is that they are aware of month lengths. The event in our example would still pop up after exactly 90 days even when the months between contain February with its 28 or 29 days. You wouldn't be able to achieve the same by just entering four dates "2/1/*, 5/1/*, 8/1/*, 11/1/*".

If you choose to show a Message box as the action to execute, you can configure it to some extent. You can for example specify its window title and content. When the dialog box is shown you can do:
 •	Snooze the event (bring it up later again): Unlike many calendars I have used before you can enter really any thinkable timespan. The last used timespan will be the default for the next box appearance.
 •	You can alter the text. It will be changed in the edited list as well as in the background list. You will see the changed text the next time the event is brought up.
 •	You can jump directly to the originating event in the Scheduler tab
 •	You can delete the event from both lists if you don't need it anymore.

To get a Preview of all the upcoming events you can let Mighty Desktop bring up a window showing all events for one year. If you scroll up you will also see the previously executed and snoozed events. Note that this preview can also be brought up by
 •	the popup menu of the icon in the Windows Tray
 •	a Mighty Command resp. Mighty Action
 •	command line
 •	pressing RightCtrl-E in any other app on your machine if the hotkeys are in their default configuration (see chapter 'Hotkeys').
By double-clicking on an event in the preview you can jump directly to the event in the Scheduler tab.

Mighty Desktop's scheduler events can cover about any trigger criteria imaginable. But in the everyday scenario one often only needs to add a simple event for the next hours or days. For exactly this case there is a simplified dialog called ´Quick Events´. Note that you can activate this dialog very quickly by pressing RightCtrl-Q from any other app on your machine. The full scheduler tab can be reached by RightCtrl-S. See tab 'Hotkeys'.

A special copy & paste operation is supported: You can paste a list of Scheduler entries from a textual XML structured definition. This is the format that is used to store the events in the Settings file and you can produce it also by holding the [Shift] key while copying Scheduler events (resp. dropping them into a text editor).

Hints:
 •	The scheduler list as well as the preview of the future events can be quickly filtered to events containing a certain string
 •	If you are in another app you can add events using the popup of the icon in the Windows notification area. By default a quick event is added. Hold [Ctrl] to add a full event at the end in the Scheduler datagrid.
 •	If your input in the 'Time' field also specifies a date and there is already something in 'Date Pattern', the date will be appended to the list. This way you don't lose the existing date patterns.
 •	An event will only be brought up once inside the designated decay time span (which is 1 day by default). So if you move an event to a new time inside the decay time span which has just been brought up be sure to click the button [Reset Execution Info] or the event will not get activated.
Actions Tab (Mighty Actions & Mighty Commands)
Mighty Desktop's automation strength is based on so called `Mighty Actions`. You can do about anything with your computer at whichever time you want. Mighty Actions are basically a sequence of built in `Mighty Commands`. Please note that this list will expand in future versions, at the moment there are:
Mighty Commands
 •	Displaying your own customized message box
 •	Clicking a button in any Windows program
 •	Clicking on any point in any Windows program
 •	Changing the appearance of a window (minimize, maximize, hide, size, put on top, put on bottom, closing aso.)
 •	Saving the state of all running apps
 •	Closing some or all of the running apps
 •	Saving the state, closing all apps and either logging off, suspending, shutting down or restarting the PC
 •	Resuming all the saved apps in a saved state
 •	Directly logging off, suspending, shutting down or restarting the PC
 •	Starting an application with custom arguments or just bringing it to the front
 •	Executing a Windows shell script: See 'Command Shell' chapter
 •	Opening a document: Use 'Start Process' and enter the pathname as 'Process Pathname'
 •	Opening the newest document in a folder
 •	Playing an audio of any type (for example mp3, wav)
 •	Setting the volume level of the main audio device
 •	Opening a website
 •	Switching the monitor on or off
 •	Setting the priority of a Windows process
 •	Ending a Windows program gently
 •	Killing multiple Windows applications
 •	Making a backup of some files and folders
 •	Cleaning duplicates in a folder
 •	Switching to a window in Mighty Desktop to enter a calculation, conversion or scheduler event aso.
 •	Calling several of Mighty Desktop's functions of the other dialogs
 •	Reconnecting a network adapter
 •	Scanning the intranet for unknown devices
 •	Starting a timer or countdown
 •	Retrieving one of the last 10 items copied to the clipboard
 •	Flushing the clipboard
 •	Cleaning the temporary folders of the system
 •	Repairing blank icons on the Windows Desktop
 •	Adding a Quick Event
 •	Emptying the trash of just one drive
 •	Replacing tabs by blanks in a text file
 •	Activating one of the Quick Items of the list
 •	Ejecting a drive safely
 •	Waiting for an amount of time
 •	and so forth.

For example you could configure to start your favorite internet radio station each morning from Monday to Friday at 6:59 AM to hear the news, and then to stop it automatically at 07:15.

You can combine any number of Mighty Commands to form a Mighty Action. Each of the  Mighty Commands have string type arguments which can contain placeholders so you can parameterize them from the outside (see Atlas Placeholders). There are literally NO limits on what Mighty Actions can do. Even if you need a command that is not already predefined in Mighty Desktop you can create a small Windows command file (*.cmd or *.bat) and specify its content in the 'Shell Script' Mighty Command. You could also start the command file using the 'Start Application' command but it is recommended to use the 'Shell Script' command because it is specialized for this task. Theoretically you can execute any command and application existing on your computer. For example if you have a software that controls your smart devices in your smart home you could use Mighty Desktop to activate them and therefore extend their possibilities many times over.

The actions you define in the 'Actions' tab can be called by other tabs inside Mighty Desktop as well as from external actors by calling Mighty Desktop by command line. Some third party programs are equipped with start commands for external programs. You can extend their power by calling Mighty Desktop and let it execute a Mighty Action (see chapter 'Command Line Control').

Another goodie of Mighty Actions is that you can also add them to the 'Process Queue' (see chapter). Example: You can create a Mighty action that ejects a connected USB drive. If you want to make a long transfer from this drive and then eject the drive for security reasons, start the transfer in the File Copier first (see chapter) and then add the eject action to the queue in the Actions tab. This is especially useful for unattended work.

Placeholders in the form "{Argument}" will be replaced by the argument's values. The names of placeholders must always be specified in English. The list of arguments that is passed to an action or command is a multilevel construct. This is the order in which they are overriding each other (the lower overrides the upper):
 •	The placeholders 'Now', 'NewGuid' and 'Random' are always recognized and replaced by a generated value
 •	The argument "/NonElevated" can be specified for starting processes as helper if Mighty Desktop runs in admin mode. It tells Mighty Desktop to start the process in user mode. It is processed internally and not passed to the started program.
 •	Arguments in the format "name:value" coming from the command line (see chapter)
 •	Arguments that are explicitly specified in a box named 'Arguments' right of the box where you specified the action's name (command line syntax)
 •	Arguments given in the input boxes of each of the Mighty Commands that the Mighty Action is comprised of, as long as its content is not completely empty.
This flexible system allows you to call Mighty Desktop from a command line with two parameters 'action to execute' and 'additional arguments' (see chapter). You can see the resulting argument list if you check the box 'Display Placeholders Window' in the Actions tab or add the argument "DisplayPlaceholders:True". Placeholders inside placeholder values are supported. If a box is completely empty (not even a blank) it will automatically look for an argument that has the same name as the label left of the box after blanks were removed (in English). Example: If the command has the input box "Window Title: [__]" empty it would be the same as if the box contained "{WindowTitle}". Specify a blank to force an argument to be empty.

As a conclusion, Mighty Desktop can execute complex actions that you can configure precisely and comfortably. It's the key to your fully automated 'Smart home of the future'.

Notes:
 •	Argument names must always be given in English. If you use another UI language and you need to find out their names, you can switch the language to US English in the settings and then look at the label. For example, if "Compare Content:" is in front of a field, the parameter is called 'CompareContent' without spaces and colon. In rare cases, where it does not go by default, the parameter name is listed in the tooltip of the field. As another method, you can also look in the language file, eg. "AppTranslation_en-CH.txt", next to the application for the localized label and the English label is then the line directly above it.
 •	When a process is started and Mighty Desktop runs in admin mode the argument '/NonElevated' can be used to force a process to be started in non-admin mode. In this case only the 'PathName' and the remaining 'Arguments' are relevant, all other options are ignored. For any comparisons of the arguments '/NonElevated' is ignored.
 •	When Mighty Commands are invoked from command line their english name must be specified even in the localized app, eg. 'ShowMessageBox'. You can view these names by pointing on the header of a command with the pointer. This ensures the portability of command files between users with different languages.
 •	Point specifications can be given relative to any border of the window. For example in the case of clicking a 'Close' button in the upper right corner of a window it is advisable to specify "Point:R-30,10" which means "From right border 30 left and from upper border 10 down". This ensures that the button will still be hit if the window varies in width. Use "B-10" for from the bottom border up.
 •	‘Open Latest File’ will automatically ignore link files (*.lnk)
 •	To open a document or folder use the 'Start Process' command. If the folder is already open in a window, it will be activated (put as front window). But you can use '/NoActivate' to suppress bringing the already open folder to the foreground.
 •	‘Put Window on Top’ has the special feature to not rip away the focus if you are in sub-window. An example to make that more clear: When you order the function to put the main window of an application on the top but this app has a dialog box open it will not bring the main window to the front. The input focus will stay on the dialog box’s input fields unchanged.
 •	The argument "Verbose:False" suppresses messages like "Starting action xxx" (purely informative ones) that are written to the 'Log' window. Important infos, warnings and errors are never suppressed by this.
 •	Show MessageBox Command: If a 'DecayDateTime:...' argument is given and the specified dateTime is less than 'StopDateTime' this will become the stop time. The same goes for 'MaximumDuration'. What's more, the MessageBox command has a built-in safety feature: If a second box with the same title and text is ordered to be opened it will just activate the already existing box.
 •	To execute a Mighty Action at specific times you can add an event to the Scheduler.
 •	To execute a Mighty Action whenever a file or folder is changed take a look at Watchdog
 •	To execute a Mighty Action whenever a certain window is open take a look at WindowBot™.

Text Expert Tab

Text Expert provides multiple text conversions and can be used to extract pure text from a wealth of different structured formats. Please note the difference between the words "structured" and "formatted". Structured means that the text is written in some sort of syntax, eg. "<html>...</html>". Formatted in contrast means that the text could be bold or italic. Most of the operations are only suited for and center around unformatted text. Only a few are supporting the Rich Text Format (RTF) and XAML (for programs). The result can be copied back to a text editor or word processor. That's why you can choose the result format you would like to get.

Extraction

This processing tries to extract unstructured plain text out of many structured text formats.

 •	For Plain text: If you enter a plain text with line breaks and an empty line that represents paragraph breaks it will reassemble it into word processor paragraphs. A use case for that is if you want to copy line based text into a text processor like Write, Word, Libre Office, Open Office or alike. These programs require that each line represents a full paragraph. This function knows that text can be wrapped with a minus or hyphen character at the end of the line and that enumerations are written with a starting '-', '—', '•', '*' or '+'. Example:

      Line1 of Para 1
      Line2 of Para 1

      Line1 of Para 2
      Line2 of Para 2

	will get extracted to

 	      Line1 Line2 of Para 1

      Line1 Line 2 of Para 2

The operation is aware of indentation depths and recognizes separation lines (which means lines filled with the same character for at least 3 times, eg. "********"). You can input a whole text and it will either prepare it for pasting into a word processor, or if you select another 'Output Format', will produce an RTF or XAML (used by programmers). The RTF is also a good base for pasting into a word processor.

 •	HTML: HTML can be converted to plain text. A pattern can be specified for how embedded links should be presented. If you enter just a web link (i.e. https://www.atlas-informatik.ch) the content of the page at this location will be downloaded and converted. As an example this conversion can help you if you have a web page that shows some text that you want to copy out but the clipboard copy function is disabled. Just use the function of the browser to display the page source code (some browsers have it in their right click menu) or save the file locally. If you manage to see the text in HTML format you can convert it to plain text with this function.

 •	XML: Plain text can be extracted from XML in a similar way as HTML above

 •	XAML: This is help for WPF developers: When you edit text in the Visual Studio Designer your text will miraculously be converted by Visual Studio into XAML elements like "<Run Text=....>". Mighty Desktop can restore the text in its previous compact form without all the run tags. And it can also write the XAML representation. For the latter you need to switch the 'Output Format' to 'XAML'.

 •	RTF: The content of an RTF file can be extracted resp. converted to a pure text which is visually looking as identically as possible. Indentation and nested bulleting is supported. A whole line in a font >= 15 pt will be interpreted as document title, >= 14 as a chapter title and be underlined by '=' resp. '-'

It's also supported into the opposite direction: You can input a plain text with indentation and bulleting (which is by the way much quicker than editing formatted text), and if finished convert it to a formatted RTF text:

	Para 1
	- List Item
	  - List Item
	Continuation of Para 1

	Para 2	

Actually this ReadMe was also created like this in a first step. In addition the notation " *BoldWord* " can be used to make a word bold and the passage "##Word_Definition" is converted to `Word Definition` (backward quotes and bold).

Note that the .NET Framework has several bugs in this area. For example in the RichTextBox the margins and indentations can look quite different from those in the exported file, especially when lists are nested. Also, different word processors interpret RTF in different ways. The same RTF file can look quite different. Wordpad for example has a bug which indents the first list item sometimes too much and you can't counteract it in any way  interactively. LibreOffice Writer can also handle RichText in general very well but has also some minor displaying problems.

 •	SubRip (srt): You can extract the whole text of a subtitle file (captions for videos) as a pure text. This algorithm was borrowed from our brother tool Atlas Subtitler.

 •	PGP: A message in the format "---- BEGIN PGP MESSAGE----- ..... -----END PGP MESSAGE---" will be decrypted using any external PGP tool. The command line for calling the tool can be specified in the 'Settings' tab. In principal any PGP tool can be attached. Some examples of command lines are on the web page of Mighty Desktop.

Other Processings

 •	Base64: Conversion between Base64 and plain text in either UTF-8, Windows or DOS character set in both directions

 •	Repair UTF-8 Character Set: Some third party text editors are not completely supporting UNICODE. The most used format nowadays is the 8-bit UNICODE, called UTF-8. If a text editor doesn't take full care it can happen that it produces a mix of UNICODE and ANSI characters. A sign of that is if you encounter a text with several Ã, Â or Å in it. What makes it even worse is when a second person later added UNICODE text to it. So we have a mess, a mix of both. This function interprets the input text as basically a text in the Western codepage (the Windows standard before UNICODE, called ANSI 1252, a derivative of ASCII) and maybe some UNICODE characters added and converts them all to UTF-8.

 •	Counting how many characters the input text has. This comes in handy if you have a box in a web form with a limit you should not exceed. If you make a selection in the box only the selected part will be analyzed. You can use this also to easily measure the length of a string.

 •	Counting how many visible lines the text contains (empty lines are skipped). Good for source code authors.

 •	Counting how many words (composed of letters and digits) the text contains. Good for authors of publications.

 •	Show Character Codes: This is useful if you have some strange characters in a text, or such that are looking like blanks. Just enter the text and it will show you the code number of each character. Tabs and Newline characters will be counted and the corresponding column and line numbers will be displayed right of them.

 •	Plain Text: This extract operation will normalize all line ends. For example if you copy plain texts from Android apps they can have lines that end with CR CR LF (interpreted as "Go to the start of the line", "Go to the start of the line", "Go one line down"). The second CR is superfluous and will be interpreted differently by each Windows text editor. For example Notepad++ will translate it to a new phantom line, which is actually incorrect. Notepad++ is just not prepared for the surprise. Mighty Desktop can correct that.

 •	Separated Values To Spaced Table: As input any text can be used that is comprised of lines which each have multiple column values in it, which are separated by a separator string. Examples are a CSV or tabbed text. Other examples are texts that you get when you mark a table in a web page and copy it to the clipboard. Such texts can be arranged to get a nice vertically aligned table as the one in the function 'Table Listing to Table' below. You can specify in the dialog the column widths of some or all columns and what separates the column and some parameters for the produced table. You can also use this to remove some columns.

 •	Pick Random Words: This can create a random seed sentence like those for cryptocurrency wallets out of a list of words that you give it (for example BIP39). You can enter how many words you need and what should be inserted between them. Example: If you would like to make it for BIP39 you copy the table with words from here, put it into 'Text', put a blank into 'Col Sep', start the function, enter the value 12 into 'How many Words' an here you go. Principally Mighty Desktop can create a seed for any seed function of any language in the world. It's not even necessary that your input word list is unique. You could for example fill in any text file that you just have lying around. Mighty Desktop can create a stock of unique words out of it. You can also limit the length of the words to a range and you can also only let it pick words that don't contain special characters. You can restrain the picking to just pick from the first n words. To do the picking Mighty Desktop uses a special strategy to create the necessary random numbers to make them truly random. It doesn't just use a pseudo random function. This improves the so called "hardness" of the phrase.

 •	Rewrap Paragraphs: This highly sophisticated operation can rewrap the paragraphs of a text to any width you like. You can enter the preferred width in the 'Settings' tab. It does about the same as a text processor but it does it for plain text. It can do this for unstructured text (where empty lines are separating the paragraphs) as well as for usual programming language remarks enclosed in tags like  "<summary>", "<remarks>", "<!-- .. -->" , "/*..*/" and behind "//". If a formatted text like RTF is given it will first extract the unformatted representation with the Extract function described above and then rewrap the text. Separation lines of various type as well as underlines of chapter titles are recognized (underlines are made from the same character and length at least 3). The indentation of the paragraph will be recognized (using tabs, blanks, "- ", "* ", "· ", "• ", "+ ", "a)", "1)", "1.") and reproduced for the output. When a hyphen ('-') is at the end of a line it will automatically  join the separated words to one (Mighty Desktop knows some of the most used exceptions) and these break points will be remembered and used if a break is necessary in the output. Bottom line: you can input paragraphs with all their tags and get them back rewrapped wonderfully.

 •	The case of each word can be changed to lowercase if it's entirely in uppercase. Exceptions are words at the start of each sentence and paragraph as well as some special words that always written in uppercase as for example all currency symbols. A list of all known words that are in uppercase is downloaded from the Atlas server daily. A use case for this could be to use it on contract documents (Terms and Services) which use uppercase extensively to make it nearly unreadable. Counter this trick with this conversion from now on!

 •	Sort: The lines of the text can be sorted in a lexicographically correct order. Other than in some third party tools this is based on the full UNICODE dictionary which means it works correctly for all characters in the world, including all the special ones like Umlauts, diacritic characters and any symbols. Lowercase letters are sorted - as they should - directly behind the capital ones, for example Abc, Äbc, abd, Bcd (different for example from Notepad++).
 
 •	Duplicate lines can be removed. The necessary comparison can either respect or ignore whitespace at the start and end.

 •	Invisible lines can be removed. "Invisible" means filled with only so called `Whitespace` characters like blanks, tabs or such that look like a blank.

 •	Invisible characters at the start and/or end of all lines can be removed

 •	To and From HTML notation: If you have for example a string like "https://ä" browsers will convert that into language independent symbols. In this example it would produce "https%3A%2F%2F&auml;". Mighty Desktop (in fact all Atlas apps) have a special programming that ensures that umlauts like "äöüÄÖÜ.."  will get translated in the "&abcd;" notation and not just in the less clear "&#nn;" notation (ie. "ä" will be represented by "&auml;" (=a-umlaut) and not the cumbersome "&#228;"). The purpose of a conversion in the opposite direction is mainly to copy an internet link back into a human readable form.

 •	Quote C / Quote DOS / Unquote: This is for programmers. It will convert any string to be used to a C, C#, Java programs or DOS shell and also in the other direction.

 •	Escaping or unescaping a Regular Expression string: All characters in a string that have meaning in the syntax of a Regular Expression must be escaped to avoid a conflict. These functions can do it in both directions.

 •	Swap Assignments: If you have C#, C++ or C source code which assigns many fields from one class to another you may need to assign them back when a dialog closes. Example:

dialog.A = myObjA;	myObjA = dialog.A;
	dialog.B = myObjB;  // Comment	=>	myObjB = dialog.B;  // Comment
dialog.C = myObjC;		myObjC = dialog.C;

It will keep the indentation of the line, the comments and also the amount of blanks left and right of the equal sign. Also, equal signs embedded in strings or chars are not a problem.

 •	Reduce Blanks To One: Shrinks passages of multiple blanks to a single one. Blanks that are used to indent lines are not touched. This is commonly used for texts that result from OCR scanning. They tend to insert more than one blank between words. Not so funny to reduce them by hand.

 •	English dates to regional: All dates in the english format are identified (eg. '12/31/2020') and converted to the regional form used currently in Windows (eg. '31.12.2020'). All parts are recognized in short or long. This is a heuristic, so please check the output.

 •	Single To Multicolumns: Some Websites present their tables in multiple columns but if you copy them to the clipboard you only see a one-dimensional vertical list of columns which isn't very useful. This function converts it back to the original multicolumn table after you entered the number of columns and in which direction they were read out. You can also omit columns.

 •	
 •	Table Listing to Table: When a table was listed from top left to bottom right in the format 'ColumnName: Value', this function will recreate the two-dimensional table. The table can get fairly wide since every column is as wide as its longest value. Each line that is not a pair will be considered to be separating one table row from the next. The blank after ':' is optional. The input in 'Line End' will be used to separate lines and 'Col Sep' columns. Example:

Child Name:  Melissa
Parent Name: Harry
Child Name: Peter
Parent Name: Steve 
 
	After using 'Table Listing to Table' (a monospaced font should be used):

	Child Name  Parent Name
	----------  -----------
	Melissa     Harry      
	Peter       Steve

	If 'Col Sep' is ',' or ';' a CSV notation will be produced where the first line is the header:

	Child Name;Parent Name
	Melissa;Harry
	Peter;Steve

 •	Extract Columns of Fixed Width Table: If you have a table like the one above with 'Child Name' and 'Parent Name' you can extract columns out of it or swap them. To get the required column numbers you can either select some text in the box 'Text', which will then update the statistics below, -or- paste the text in a text editor like Notepad++ and take a look at the column number displayed in the status bar at the bottom. The required numbers are 1-based. If they are right of the line end it will only extract what's there. The box 'Line End' and 'Col Sep' will be used for joining the picked columns resp. lines.

Paste operation specialties of Text Expert:
 •	Field 'Tabs': Tabulators in the pasted text will be interpreted as this amount of blanks. In all other areas of Mighty Desktop the tab width defined in the 'Settings' will be used, but not here. Note: Since a .NET textbox doesn't support tab widths other than 8, Mighty Desktop is forced to replace tabs by blanks if the width is not set to 8. Change this number to 8 to keep TAB characters when pasting.
 •	If multiple files of a folder on the Windows Desktop are selected and dropped into 'Text', a textual list of the pathnames is produced. By default the names are separated by a comma, but you can also get newlines by holding [Alt]. Blanks inside a name will trigger quoting.

The output text can be viewed optionally in a monospaced font (where each character is of the same width) to see indentations and underlinings more clearly.

Note that the export functions are sensitive to the extension of the filename you specify for your file and you can control the resulting format with this.

Infos: Left of the output some useful statistics about the input text are displayed, which is essential for people who write chats and articles:
 •	The number of words
 •	The number of lines
 •	The number of characters

Text Expert features some help for mass operations:
 •	You can instruct Text Expert to start processing automatically each time you copy a text to the clipboard (checkbox 'On Copy').
 •	You can instruct Text Expert to automatically copy the output to the clipboard each time you press the 'Process' button (by checking 'Auto' right of the 'Copy' button). This will save one keystroke resp. mouse click.
 •	If you activate both boxes you can use Text Expert as a helper in the background while using third party applications. For example you could set the processing mode to 'Sort', then switch over to your  text processor app, select some lines, and copy them to the clipboard. Text Expert will sort them lexicographically correctly and copy the result to the clipboard from where you can finally paste it to replace the unsorted list. Only two keystrokes, easy peasy. I use this system often when editing texts in Notepad++ to rewrap paragraphs.

Clipboard Recorder Tab

Sometimes you would like to copy multiple names, pathnames, addresses, web URLs or images out of a text or web page and combine them to a new text. For example when you do online shopping you might want to collect multiple similar items first and later analyze the differences. Up to now you would have to press Ctrl-C to copy the first one, switch to the target app and paste it, then go back to the first and repeat that over and over again. Mighty Desktop can help you make this much faster and easier. Just activate the Clipboard Recorder and it will record all your texts and images that you copy to the clipboard and display them in a list. You then have the option to reuse these items with just one click or open/run pathnames. You can also use the recorded list to compile a document by joining the texts and images together. Especially useful also for joining a series of screenshots into one big document. Before you compile that document you have the option to automatically remove duplicates, remove items manually, change the order or sort them.

Texts can be formatted and joined in various ways. You could join them as a list like "Name1, Name2, Name3", or separated by tabs instead of commas, or as a text with each item on a new line. You could also surround each text automatically by another text using a format string, eg. "Possible buy: {0} $".

The result can be copied to the clipboard as RichText (RTF) or as plain text. So you can transfer it to any text processor you wish.

If you have a list of multiple pathnames or URLs you can let Mighty Desktop start all of those that point to files, folders or web URLs. It will automatically skip all copied texts that do not denote an existing pathname (unless you press [Alt]).

There is also a goodie: If you have some pathnames in the list you can select two of them and activate the merge button. This will start the merge tool you configured in the settings tab and merge the two files.

Finally you can use Clipboard Recorder as a tool to do something whenever you copy a text into the clipboard when you are in any other application on your system. This way you can extend these application’s capabilities. Here is one useful example: Maybe you are browsing on a shopping page of a foreign web shop and you would like to translate the texts into your native language with just pressing a single keystroke. You can do that with Clipboard Recorder by selecting the predefined action ‘Translate Text’. You will have to configure the action initially by putting your ISO language codes after ‘sl=’ (from language) and ‘tl=’ (to language) into ‘Process PathName’ of the action.

You can also switch the recording on and off by
 •	Pressing RightCtrl-R (see ‘Hotkeys Tab’)
 •	Selecting the function from the popup menu in the Windows Tray. Hold [Shift] to clear the list of the recorded items at this point.
 •	By the Mighty Command
 •	By command line.

Multi Clipboard

In the tab 'Actions' is another Mighty Command that lets you copy one of the last 10 recorded items to the clipboard (without being recorded itself). These commands are  already preconfigured to the key combinations RightCtrl-0 to RightCtrl-9 in the tab 'Hotkeys'. RightCtrl-1 copies the last one, RightCtrl-2 the second last one aso. This can come in very handy if your task is to edit a document where multiple different text passages have to be inserted at different locations. First switch on the recorder, copy all of your passages, switch the recorder off and finally use RightCtrl-0..9 to select those you need for pasting.

Notes:
 •	If you want to copy an element without the Clipboard Recorder recording it, hold down [Shift] or [Alt] while copying. If [Ctrl][Shift]C is not processed as a copy command by the application, you can also use the copy command in the popup menu with [Shift] held down.

Window Automation Tab

This tab joins the ability to see the open windows (Window List) and then configure some reactions that should happen if a window appears. See the following chapters.

Window List Tab of Window Automation Tab

What is it useful for?
 •	Finding out which application created a window (for example if a spam or login window is appearing)

 •	Repairing Windows: Did you experience that after a connection/disconnection of monitors all the windows on the desktop get shifted to another monitor? Or, did you sometimes have applications that don't appear if you start them? When changing the monitor configuration, coordinate origins get shifted away and the application remembers the old start coordinates, possibly out of sight. Another bug is in the Windows Desktop resp. File Explorer when you open the properties menu of an icon that is on the right edge of the main monitor. The window will appear on the second monitor right to it leaving the impression that it did not open. Without a connected monitor you won't be able to correct this but Mighty Desktop can repair all that and bring back all invisible windows to the visible area. To guard against modifying special windows used internally in Windows, Mighty Desktop knows a bunch of them and it will just issue a warning message. Tip: You can execute this function even after all windows including Mighty Desktop were moved into the invisible. Just right click the Mighty Desktop tray icon. Saved me several times up to now.

 •	Deal with windows that are disabled: By enabling them you will be able for example to move it to another place on the desktop or even close it. Most often this is useful when applications display a so called `modal` progress window. As long as the progress dialog is not finished you can't move or minimize the application's main window. But usually the app could process it without any problems, it's just a formal limit. Most of the time minimizing is safe but be aware that enabling the application's window during a progress dialog might crash the application in rare cases! But if you are courageous you can enable it on your own risk. A disabled window usually has a reason for being disabled, for example when multiple access to its inner data model at the same time isn't supported. So keep away from this until you really have a strong reason to do so, for example when a program is malfunctioning, covers important parts of the view or displays a nasty advertisement. From my experience just minimizing is no problem and will be the most used case.

 •	Do you sometimes get a window that asks for a password, for an update, maybe a window about a missing certificate or even other unexplainable windows which don't state which program it stems from? Actually this is bad programming style (sorry my programmer colleagues, no offense). Just push the button "Select by Pointing", point on the window and Mighty Desktop will show which application is the owner. But if a window is invisible you can't point on it. In this case hold [Alt], click "Select by Pointing" and just activate the app by clicking on the application in Windows Task Bar. After the delay Mighty Desktop will take the window which has become the active now, even if it is invisible. All this can help avoiding getting tricked by someone. For instance, how do you know that a box is really made by the program it pretends to? An example: Are you sure that your E-Mail-Program's master password box really stems from this program and not from a hacker tool? Tip: To abort the pointing just point to a window of Mighty Desktop.

 •	Do you know these dialog boxes that vanish after switching to another application and are nowhere to find, not even with Alt-Tab? You can find them by either entering the program's name in the filter box or by ticking the checkboxes 'Visible Pixels' and 'Topmost'. Then select the window in the grid and push the button 'Activate'.

 •	Do you remember these windows that display an error but the window is too narrow to see it fully and the programmer didn't make it resizable? Mighty Desktop can also resize non-resizeable windows.

 •	Have you ever had these nasty windows that are positioned on top of all others covering something important and you can't close or move them? Mostly advertisements do this. No problem. You can either make them invisible or, if it is protected against that, put it on the bottom behind all other windows.

 •	Useful for programmers: Mighty Desktop can give you detailed informations about the window hierarchy and which processes own which window. As a specialty it can show also these special Message Windows. You can navigate through the hierarchy and you can also see invisible windows. Not only viewing is possible but many of the window's properties can be changed interactively. But don't do that if not necessary. We refuse any liability.

The list will show for one part those windows directly on the Desktop (term 'Topmost') as well as all child windows. `Child Windows` are those that are put inside the borders of another window. You can jump to the parent window by pressing the 'Goto Parent' button.

Opposed to the parent-child relationship is another completely separate hierarchy, the hierarchy of `Owners`. During the time an owner shows a window, for example a message box, he can choose to disable himself. The owner's hierarchy is also navigable in Mighty Desktop.

There are special hidden windows called `Message Windows`. These are windows that were assigned to be children of HWND_MESSAGE. Their purpose is to allow processes to communicate with each other. A list of these windows is available in Mighty Desktop but more of a thing for programmers. Normal users shouldn't tamper with any of these.

Special notes:
 •	If some values are empty or display "NoAcc" the system didn't allow access. In some cases it can help to start Mighty Desktop in administrator mode. You can do that easily in the 'About' tab.
 •	As a safety measure Mighty Desktop's own windows are not in the list. But you can access them from a second Mighty Desktop instance if needed.
 •	Window frame fields understand not only the displayed format but also the notation "{X=..,Y=..,Width=,Height=..}"

WindowBot™ Tab of Window Automation Tab

WindowBot™ can execute some actions whenever a window of interest appears on your Desktop. This can be used for:

 •	Closing annoying popups: You can put away (close, minimize, put on bottom or hide) windows that you would have to click away manually every time they appear. Sometimes advertising is bullying directly into your daily work. This function will close them automatically for you.
 •	Close applications: You can let WindowBot automatically close windows or entire applications at the occasion when for example the UI is locked (Windows-Key + L). For example if you do that with your password safe program (eg. KeePass, LastPass) it will automatically enhance your safety. You can also do that in the event when somebody connects to your PC by a remote session and on other occasions.
 •	Modifying the priority of a process which creates a window as soon as it appears. For example File Explorer copy/move operations can be altered to interfere less in your work. But the better option would anyway be to use 'Copier' from the 'File Center'.
 •	Clicking a button or a point inside a window. For example you can click away annoying modal dialogs like "Are you sure?" or let your camera take a photo.
 •	Automatically bring a window that asks for a password to the top after the boot procedure. Example: You could get a required login for a network drive or an encrypted volume before Mighty Desktop's 'Resume' function is allowed to  run. In this case you would like to have this window on the front, not having to dig for it behind other windows that appear when Windows is loading your Desktop. Solution: You can add a WindowBot™ task that is executed after boot just once which brings the window to the top. In this case the action 'Place Window at Top' is exactly what you need.
 •	Executing any action you like by combining predefined commands. There are already many actions predefined in Mighty Desktop that you can use as building blocks. Read more in chapter "Mighty Actions".
 •	Up to your imagination.

If WindowBot detects that a specified window comes into existence (or a button appears in a certain program) it will execute the action you configured. A list of arguments in the form "Name:Value" will be handed over to the action. WindowBot will at least hand over the following arguments to the action:
 •	Text = Status message like "Executing WindowBot entry ..."
 •	EntryName = Name in the list
 •	WindowTitle = Title text of the window
 •	WindowClass = Class name of the window
 •	WindowId = Individual number of the window which was given to it by the programmer
 •	PID = Process ID number 
 •	ProcessName = Name of the process that created the window. See more in the chapter 'Identifying Processes' of 'ProcessBot'.
 •	ProcessPathName = Pathname of the process that created the window (including folder path)
 •	ProcessPathNameOrName = This is usually 'ProcessPathName' but if that is invisible (empty or filled with whitespace) it's 'ProcessName'
 •	ProcessArguments = The arguments that were given when the process was started 
 •	MatchProcessArguments = Boolean from the column 'Match Arguments' in the list
 •	LastExecution: The DateTime this action was executed the last time
 •	LogInfos: Boolean which tells whether the action should log some informations what it's doing (similar to 'Verbose')
 •	... = The field 'Action Arguments' in the grid will be parsed and all the arguments will be added to the list. The syntax is the same as for command line arguments (see chapter). Example: Point:10,20 MyArgument:30" will add two arguments 'Point' and 'MyArgument' to the list. To figure out the syntax switch to the 'Actions' tab and try out your action first there.

Recurrence: You can specify how often WindowBot™ should check whether a window or button (resp. control) can be found on screen and then executes the action:

 •	Manual: Only if you run it by pushing a button, executing a menu item or call it from command line
 •	Background Checking Interval: Each time all the background checks are done, which is all 10 seconds by default
 •	Waiting To Resume: Periodically while waiting for the resume pattern to be fulfilled (see chapter 'Suspend-Resume')
 •	Once After Resume: After the PC was resumed and the 'Resume' function finished
 •	Specified Interval: You can enter your own time span. There are no limits for the length of a time span. Extended timespan notations used in 'DateTime Calculator' are supported.
 •	At Workstation Locking: If you go into the Windows Desktop lock screen
 •	At Workstation Unlocking: If you unlock your Windows Desktop
 •	At Remote Connect: If another computer connects remotely to your PC
 •	At Remote Disconnect: If a remote connection has been disconnected
 •	At Remote ControlChange: If a remote PC takes over the desktop control, or if it terminates the control
 •	At Logoff: If you log the current Windows user off.

A special paste operation is supported: You can paste a list of WindowBot entries from a textual XML structured definition. This is the same format that you will see when you drag or copy some entries into your text editor. If an entry is already existing it will be skipped. This allows to easily exchange WindowBot entries with your friends or import some from websites. In the future there is planned to have a page on our Website that lists some new cool WindowBot entries. Please send us your cool stuff by the feedback function in the About tab. We will then place it in that web page.

Please note that a clear identification of a window (column 'Window Title') is a difficult task. The window's title may change often, maybe because it contains the name of a document or a counter. Additionally, even window class names can change when for example a random number like a GUID is appended. What's more, the executable's path can contain a version number. To solve this, Mighty Desktop features a pattern matching system with the characters '*' (which means any string) and '?' (any character). See more in the chapter 'ProcessBot Tab'.

Also don't be surprised if some windows have a special behavior. If you try to close them they will just go to the minimized state or get invisible. While that doesn't pose much of a problem (you can just change the action in WindowBot to 'Minimize') some windows produce really strange reactions. The following ones are those that are already known (please send us an info if you found more):

 •	Avira Antivirus Software: If you close windows of the process 'ipmgui.exe' be sure to hide this window or put it to the bottom (it resists closing):

Title "", Id 0, Class "AvIPMDialog", Pos:650,438 Size:300,325  Visibility:Visible

This window is technically visible and has a nonzero size but it's completely transparent and still strangely takes clicks (the programmer should have made it click-transparent). So, if you don't put away this window you will experience the effect that a part of the Windows Desktop is not reacting on a click. To identify the cause of such things you can switch to the tab 'Window List' and use the button "Select by Pointing". It will discover the invisible window and you will be able to change it to hidden.

Notes:
 •	WindowBot™ can react not only to program windows, but practically to any control elements, e.g. buttons, dialogs, etc., since these are technically also "windows".
 •	Note that the action "Place Window at Top" is different from "Activate Window". It has the useful feature to keep the current input focus (cursor) where it is, while "Activate Window" moves the focus over to the activated window.
 •	It's usually the best approach to apply the 'Close' or 'Minimize' action to the topmost window if you are working with a hierarchy of windows that are nested inside each other. Switch to the 'Window List' tab and use the [Go To Parent] button to jump up the hierarchy until you are at the topmost.
 •	If an action doesn't get executed, select it in the grid and try the buttons "Go to Window" and "Go to Process". If that fails some property of the window could have  changed. These buttons contain some extended logic to find the cause and report it. Applying patterns for the changing part can solve the problem.
 •	WindowBot™ works only on open windows, never on minimized or invisible ones. If you want to react when a window does not exist or no longer exists, please take a look at the tab 'Permanent Apps'.

Process Automation Tab

This section contains multiple useful things that you can do with the currently running processes in your system.

Process List Tab of Process Automation Tab

This is essentially a process list which is many times quicker and more versatile than the one in Task Manager. You can find processes by just pointing on them with the mouse or by using a filter text box in a blink of an eye. You can hop over to the Window List to see which windows a process has currently open, just by the push of a button. And it contains some more filtering checkboxes to quickly find processes. Features:

 •	Quickly find processes by entering a filter string
 •	Easy change of process' priority with feedback whether it was successful
 •	End Gently: The Task Manager of Windows has the ability to "end" tasks. But this is quite a hard ending and the function should actually be called "kill". It just means that the task is stopped at its current point of execution and its residues are cleaned as good as possible. But this is very complicated and rarely perfect. As you would guess this can result in half written files, non-removed temporary files and other nasty things. We recommend to avoid this function as much as possible because it's dangerous. Mighty Desktop can end processes the same way as if you would have done by clicking the close box even if the process has no window or is not responding to user interaction. It has a highly sophisticated logic with multiple ending abilities which are chosen automatically to do it in the most sensitive way. And it can end multiple processes at once, unlike Task Manager.
 •	Kill: Improved version of Task Manager's "End Task" command. You can kill multiple processes in one run. Useful if a program has started multiple processes that are non-responsive. Should only be used as a last resort.
 •	Repair Window: See the description in the chapter 'Window List'
 •	Sometimes a process can be left running invisible in the background as a result of unexpected problems. An example is ZoneAlarm's installer of version 14.1.57 which at the end of the installation instructed Firefox to show the success page. But something was wrong so Firefox started up as a service and not as an application. The negative consequence was that if you wanted to start up Firefox it didn't react. Mighty Desktop can either end such programs gently without any data loss or make it visible so you can interact with it by yourself.
 •	Displaying what a process is used for by just one click. You can configure a pattern which should be used as a web query in the Settings tab and then your browser will show the result. 
 •	The process list shows detailed information about the running processes, their command line in full even if very long, their executable file and which windows they currently have. All the values can be entirely or partially copied to the clipboard. It works symbiotically with the Window List (see Chapter). The list also includes all the running Windows™ services.
 •	The process list can display the pathname and arguments of Windows™ Services
 •	The process list can show the parent process of a given process
 •	The process list shows all available infos about an executable including the company who created it and the last modification time.
 •	You can quickly peek into the content of a suspicious process's file by clicking the 'View Binary' button (see chapter).
 •	Tip: Sort by column 'Last Modification' to identify processes that are quite new in your system. This will also uncover processes modified by a virus (security feature).

Notes:
 •	'Is Application' checkbox: This refers to only standalone applications. To make this clearer, if an application starts a browser for displaying a web page, Mighty Desktop will not consider this a full application in terms of this checkbox because the initiating application is responsible for it. This means in consequence that it will never close it in a Suspend-Resume situation. But this case is still rare.
 •	Windows has a strange slowness if you query some process properties like priority and processor percentage when you don't have administrator privileges. It's so unbelievably slow that a special shut-off logic had to be implemented. You will see the warning "Access to some properties of <process> was forbidden." and Mighty Desktop will suspend the querying for 5 minutes so you will be able to continue working fluently. Maybe this slowness could also be a side effect of some virus scanner products installed, I didn't investigate that up to now.
 •	If some values are empty or display "NoAcc" the system or the process didn't allow access. In most cases it helps to start Mighty Desktop in administrator mode. There is a button in the 'About' tab that simplifies this.
 •	The '%' Column calculates the used processor time between two presses of the 'Refresh' button
 •	'Arguments': If the application is a specially supported one - like Visual Studio - the arguments will not show the initial start arguments but the pathname of the last opened main document resp. solution. This will ensure that it will be restarted correctly after a suspend of the PC (see tab 'Suspend-Resume').
 •	'Main Window Title': There is a special fix made for cmd.exe. The 'title' command can set the window's title but it just removes "title" from the command line and puts the rest as window title. Quotes are not processed and the first blank always stays in the title. For example in an admin cmd.exe it ends up saying "Administrator: title" with 2 blanks between. This creates a lot of problems finding those windows later on. Mighty Desktop automatically reduces the title to one blank for all of its processings.

ProcessBot Tab of Process Automation Tab

ProcessBot can execute some actions whenever a process of interest appears on your system. This can be used for:

 •	Automatically opening work folders when an application is started
 •	Modifying the priority of a process as soon as it appears. For example you could want to always run a tool that you use in the background with 'Low' priority.
 •	Up to your imagination.

If ProcessBot detects that the specified application is running it will execute the action you configured. You can specify the trigger resp. interval when the checks should be made.

A list of arguments in the form "Name:Value" will be handed over to the executed action. ProcessBot will hand over at least the following arguments and you can add your own ones:
Text = Status message like "Executing ProcessBot Entry ..."
Title = Title you gave the entry in the list
ProcessName = Name of the process that matched, eg. 'notepad++.exe'
ProcessDescription = Description of the process that matched, eg. 'Notepad++'
PID = Process ID number
ProcessPathName = Pathname of the matching process
ProcessPathNameOrName = This is usually 'ProcessPathName' but if that is invisible (empty or filled with whitespace) it's 'ProcessName'
LastModification = The stamp of the last change of the process's file
ProcessArguments = The arguments that were given when the process was started
MatchArguments = Boolean from the entry in the list 
CommandLine = The command line that was used to start the process
WindowHandle = Hex representation of the handle of the main window of the process
WindowTitle = Title text of the main window
WindowClass = Class name of the main window
WindowStyle = The style (minimized, maximized, restored) of the main window, always in english words (untranslated).
ParentId = Process ID of the parent process of 'PID'
Priority = Either the process's priority or empty if not queryable
LastExecution = The DateTime this action was executed the last time
LogInfos = Boolean which tells whether the action should log some informations what it's doing (similar to 'Verbose')
... = The field 'Action Arguments' in the grid will be parsed and all the arguments will be added to the list. The syntax is the same as for command line arguments (see chapter). Example: Point:10,20 MyArgument:30" will add two arguments 'Point' and 'MyArgument' to the list. To figure out the syntax switch to the 'Actions' tab and try out your action there first.

A special paste operation is supported: You can paste a list of ProcessBot entries from a textual XML structured definition. This is the same format that you will see when you drag or copy some entries into your text editor. If an entry is already existing it will be skipped. This allows to easily exchange ProcessBot entries with your friends or import some from websites. In the future there is planned to have a page on our Website that lists some new cool ProcessBot entries. Please send us your cool stuff by the feedback function in the About tab. We will then place it on that web page.

Identifying Processes

It is generally important to understand, how processes can be identified by Mighty Desktop. These are the basic facts:

 •	The same executable can be running in multiple instances just with different arguments, and it will look like a completely different application (for example Windows Services, WhatsApp, Signal).
 •	When Mighty Desktop runs in user mode some admin-mode applications (eg. antivirus utilities) will not return their pathname or arguments they were started with. This is a security feature. These fields will just remain empty which will make it more difficult to match them, especially because it can be there or not there at each run of Mighty Desktop.
 •	The Name is always returned, but in some cases it's not the same as the filename of the executable.

In the case the pathname is not returned by the system, Mighty Desktop will try to find an executable with the given 'Name' in the Windows system directory. If found it will assume that this is the one, but this is only a heuristic which can fail in rare cases. 

As a result Mighty Desktop needs a quadruple <Name, PathName, Arguments, MatchArguments?> to precisely identify a process. There is a built in logic that if you for example look for a Name and a PathName and later for the comparison the Name matches but the PathName of the tested process is empty, it will still match. If the match was not precise enough try adding the exact Arguments and tick 'MatchArguments'. To make this a little bit easier the comparison supports the pattern characters '*' and '?', and in addition a placeholder '{Version}' for a version number of up to 4 parts. In case a property changes in a more complicated way, Mighty Desktop has the ultimate solution on hand: You can add an entry with Regular Expressions at the tab Process Variations.

In the case of a mismatch you can use the provided button 'Go to Process'. This one does an elaborate analysis which one of the arguments doesn't match and reports it in the 'Log' panel.

Notes:
 •	ProcessBot is not designed not distinguish between instances of the same executable which produce different windows (with the same command line). If you want to do this you will have to use the 'WindowBot' tab.
 •	If an action doesn't get executed, select it in the grid and try the button "Go to Process". If that fails some properties of the process could have changed. These buttons contain some extended logic to find the cause and report it.

 •	Processes can fail to be found if Mighty Desktop doesn't have enough privileges. For example the pathnames or other properties of some admin processes can stay empty. To mitigate this problem a special comparison is built in: If 'Name' is filled
and 'Name' matches but the process's 'PathName' is empty, this will be taxed as a match. In other cases it can help to start Mighty Desktop in administrator mode. There is a button in the 'About' tab that simplifies this.

Open Files Tab of Process Automation Tab

The Open File Viewer scans through the system tables and displays which files are currently open and by which processes. It can be used for:

 •	Finding out which process prevents the ejection of a removable drive
 •	Show which extensions are loaded by Windows's File Explorer
 •	Detect malicious programs which are accessing your personal files
 •	Improve system safety: You can let it execute one of the Mighty Actions whenever files matching a certain pattern are open. In the security business this is called a Honey Pot.

Notes:
 •	You can directly scan for an item by selecting a file or folder in File Explorer and activating the function "Who has this open?"

 •	A scan can also be initiated from command line.

Process Variations Tab of Process Automation Tab

This is a helper page for identifying processes (see chapter). Some processes can vary their name, title, path, window title or window class after a restart of the computer. Most of the time version numbers which are embedded in the string are the cause. Sometimes there are even GUIDs embedded in window names or titles. For Mighty Desktop to be able to still identify a process you can specify where the variable parts inside a name, path aso. are by writing a Regular Expression (see chapter). In addition you can use '{Version}' as placeholder for a version number.

Some are already predefined, they will get downloaded from the Atlas server if the list is empty. You can send us your suggestions by the Feedback button in the About tab.

Notes:
 •	Use the button 'Go To Process' to test an entry. It will display how many processes are matching each one of the Regular Expressions.
 •	You can produce a full textual description just by copying an entry in the data grid.

System Safety Tab

System Safety Functions Tab of System Safety Tab

 •	Test Antivirus: Malicious software on your computer can turn off your antivirus program and you wouldn't even notice it. This test is designed to detect this. The function writes an EICAR file to the temporary directory, a standard file that should be recognized by any good antivirus utility. If your scanner is working properly it should display a message box about the find, maybe after some seconds delay. Note: The EICAR file is completely harmless, it's a norm and officially intended as a test file (https://en.wikipedia.org/wiki/EICAR_test_file).

 •	Run Safety Scanner: Microsoft programmed a tool named 'Microsoft Support Emergency Response Tool' which can scan your computer for malware. It will just scan but not remove anything. This is just a second stage test, not a replacement for a proper virus scanner. It's terms state that a fresh copy must be downloaded after 10 days of use (size about 128 MB). This function takes care of this time interval and will automatically download a fresh copy if the time is up and then run the tool. You can also choose to force a fresh download.

 •	Run Malware Removal: This Microsoft tool scans for malicious software on your computer and can also some of them. But it is very slow and not a replacement for a fully-fledged application. A command window will ask for the administrator's password. If nothing happens after that it's very likely that MRT.exe was not found in the system folder of your system. You can try updating your system with 'Windows Update'. If it's still not found your system could be too old. You can try downloading the MRT tool from here and save it to your system folder (usually "C:\Windows\system32").

 •	Generate Random String: This operation can be used to produce passwords, random numbers or any kind or random filenames. You can specify the length and also which characters are allowed (up to each single character). For picking the characters Mighty Desktop uses a special strategy to create the necessary random numbers to make them truly random. It doesn't just use a predefined pseudo random function existing in the system. This renders the resulting words even more uncrackable. The less known an algorithm is, the better for its safety. If you are in another app and you need many new random strings you can just enable the checkbox 'Auto Copy'. This will greatly reduce the necessary amount of clicks.

 •	Seed Enigma™: If you have a random seed phrase, for example from a cryptocurrency wallet or USB stick, you will have the task to store it completely safe. Officially it's recommended to write it on paper and put that in a safe. But safes are often visited by multiple family members and some safe models are pretty easy to open or even to take it away. What's more, a safe does always attract the attention of thieves. If somebody gets a hold of your paper you will lose the whole money in your wallet, and - worse than for fiat currency / common money - it's nearly impossible to track down where to the crypto money disappeared. It's a sad fact: First humans are clever and create a very secure wallet but then the easy accessible password is spoiling everything. What can you do?

Mighty Desktop's answer: You will have to encode your seed phrase with a password in your brain. It doesn't have to be the highest security standard in the world, a simple encryption is enough for this special case, because the amount and education of the possible thieves is greatly smaller compared to a computer connected to the internet which has to fight the whole world. Even a decent encryption is much better than storing it in plain text. The more effort a thief needs to invest the less likely s/he will even think about cracking. This is where Seed Enigma™ steps in. It does this in analogy to the system of the Enigma during the second world war. This machine was successfully used to transmit messages from the headquarters to the troops. It still is a quite good method of protection against not very sophisticated attackers. This is how it works:

 1.	Have your seed phrase written on a paper. Note: A key to the security is that it should never be stored on a computer in one piece in plain text.

 2.	Write a secret phrase that you remember in your mind very well below the seed phrase on paper so that each letter is below one of the seed. Write all letters in lowercase. If your secret phrase is shorter just repeat it until you have one letter to each one of the seed. Blanks are just skipped.

Now we will rotate the seed letter by the number in the alphabet that the secret letter represents, eg. a=1, b=2 aso. The dialog will make this very easy:

 3.	Pick randomly one of the letters of your seed and click on the corresponding letter in the area 'Seed Letter'

 4.	Press the secret letter that is written below the seed letter in the area 'Secret Letter'. The resulting letter is displayed while the pointer button is down. As soon as you let go the result will disappear. This will reduce the possibility for screenshotting apps to catch it.

 5.	Press some random letters in the area 'Seed Letter' and 'Secret Letter' to confuse any screenshotting or click-catching apps

 6.	Optionally you can press the button 'Permute' to rearrange the letter images to confuse watchers.

Repeat steps 3 to 5 until you have completely encoded your seed phrase.

You can also use the right mouse button and type keys on the keyboard instead of clicking. Best is to mix typing and clicking because two different channels of input are much more difficult to observe than just one. But never do more than 50% by typing!

This system can be used to encode and decode any secret phrase containing only lowercase letters, also for example recovery phrases. If you know that always the first character of each word is a capital letter you can still use it by just treating it as a lowercase letter.

How about the security concerns, shouldn't a seed phrase never be brought in contact with a computer? Not necessarily. You just want to avoid that a spying app can listen to pressed keys, copy the full seed out of the clipboard, out of a textbox or make a screenshot of the whole seed. But with Seed Enigma's system this is nearly 100% guaranteed. How does it guarantee that?
 ◦	Seed Enigma™ uses images for the letters, not buttons, not text labels, not text boxes. Any spying app reading out controls would fail miserably.
 ◦	The images of the letters are ordered randomly and change at each window display. You can also do that on a button press.
 ◦	No key is pressed, only a mouse is clicked on a portion of the screen. Because the letter images change their positions frequently, a spying app is unable to find out which letter you pressed by just logging pointer positions. And it could not just ask for the text of a button because the letter is represented by an image. It would have to do OCR (Optical Character Recognition), which would even be disturbed by the overlaying pointer image.
 ◦	The displayed image object doesn't store any hint to the letter it displays. This info is hidden inside Mighty Desktop.
 ◦	Mighty Desktop is an obfuscated application. This means if someone would like to peek into it it would be quite hard and time consuming.
 ◦	A screenshotting app could see what image you click and get the letters visually. To counteract this, you don't encode your seed linearly from left to right but randomly (see step 3). Secondly, the pressing of several irrelevant letters between the real ones will confuse the screenshotting app. Thirdly, the resulting letter's image can be displayed only a very short time which makes it nearly impossible for a screenshotting app to get all of the letters.

In summary it's nearly impossible for a spying app to get your decoded seed. The probability numbers combining all these factors are extremely small:
 ◦	It would need an undetected screenshotter on your computer while you have a good and healthy antivirus solution running (see 'Test Antivirus' chapter above).
 ◦	The screenshotter is not detected indirectly by the high processor power that it would consume (just go to Mighty Desktop's 'Process List', push 'Refresh' and check the column '%')
 ◦	The screenshotter is not detected by sending a big amount of data over the internet (either it needs a lot of processing power, a lot of disk space or a lot of data bandwidth, but it needs one)
 ◦	The screenshotter must be extremely lucky to catch all of your decoded letters
 ◦	The screenshotter can magically distinguish the real ones from the fake ones
 ◦	The screenshotter can somehow figure out the correct permutation of the real ones. Compare that with the risk that your seed is lying around in plain text in an insecure safe where family members have access to.

	What are the advantages of this system:
 ◦	Adds an additional layer of protection to your wallet
 ◦	Only your brain and no one else's will be able to decode the seed and have access to the wallet resp. device
 ◦	The seed is personalized so only those people that know the secret password can access it
 ◦	You are not dependent on Mighty Desktop. You could perform the exact same procedure also on a piece of paper.
 ◦	You can choose to store the encoded version in a standard software password safe like KeePass or LastPass. This has the advantage of being transportable. Just put it on a USB stick or your smartphone. But be aware that there is a minimal risk that the encoded seed is caught by a keyboard logger while you are typing it into the software safe. But this probability is tiny in a system with a healthy virus scanner. Consider this: If this probability would indeed be high then every other password in the password safe would also be endangered, for example your bank accounts, credit cards, safe numbers aso. and nobody would ever use a password safe anymore.

	For the case that you don't have time for the whole security thing there is the second option in Seed Enigma™. You can encode or decode the whole seed phrase at once by entering it in a field. But we strongly advise against that. It should only be used if a) you are in a hurry or b) you intend to change the seed phrase shortly after.

What should you know about it:
 ◦	This encoding is cryptographically not very hard to crack. It will not withstand a sophisticated attack with big computing power. So protect the encoded version the same way as you would your plain text seed. But it's still tremendously better than no protection.
 ◦	The secret phrase you used should never be forgotten. Seed Enigma™ can't help you if you don't remember.
 ◦	If an attacker knows both, the original seed and the encoded version, he could calculate back your secret phrase. So be sure to completely destroy the plain text seed after encoding, for example by snipping, burning or flushing it in the toilet. Note that trash cans are like an open book for spies.
 ◦	If you want to be extremely safe you shouldn't use your master password of your password safe application as your secret phrase. Even deriving the secret phrase from your master password by appending something or similar is not recommended. Just take a completely different secret passphrase. You can still store this passphrase inside your personal password safe program.
 ◦	Copying anything to the clipboard is a big risk! It's quite easy for a program in your system to listen to the clipboard. See also function 'Flush Clipboard' below.
 ◦	The width of the 'Result' field is intentionally limited so a spy can't see the whole result at once.

 •	Erase Unused Space: Deleted data can be left over in unused blocks on a drive. These can be made readable by spying programs. This function erases it by writing random data over it. Warning: Minimize usage on SSDs or USB sticks because it will reduce their life span a little bit. Please note that other processes working with the drive at the same time may crash because there will be no space available on the drive for a short time.

 •	Emptying the trash of a single drive: Sometimes you would like to free space on just one drive but not lose all the stuff in the trash of the other drives. This function can do that and it will display how much space was freed up. The function can also be activated on a drive icon in the file explorer or via icon in the Windows notification area. 

 •	Flush Clipboard: Copies many times a random sequence of words to the clipboard. Since clipboard tracking spy programs typically have a limited history what they can track it will flush all previous copied personal data out of their cache or it will at least force them to increase their database storage which could make it too big to transfer out or it could bust the programs by their big CPU usage if you watch the '%' column closely in 'Process List'. To make it difficult for the spying program the copied string is of different length and looks exactly like normal text.

Tip: Whenever you copy a password try not to copy it in full length. Make two or three parts leaving away some characters. Then paste the parts in random order to the destination and finally add the missing characters by typing them. This assures that an attacker never gets to see the full password neither from the clipboard nor from the keyboard. After this procedure apply the Flush Clipboard function to purge the clipboard. The function can also be activated by the icon in the Windows info area.

 •	Run 'Autoruns': Microsoft programmed a tool named 'Autoruns' which can scan your computer and display any software that is started if you start your computer. This can reveal malicious programs that installed themselves in your computer. Mighty Desktop automatically downloads a fresh copy after one month. You can force a fresh download by holding down [Alt].

 •	Run 'Process Explorer': Microsoft's 'Process Explorer' tool displays any currently running software whether it could be a threat for your system. Mighty Desktop automatically downloads a fresh copy after one month. You can force a fresh download by holding down [Alt].

 •	Run 'Process Monitor': Microsoft's 'Process Monitor' tool displays all currently running file and access operations. This could reveal a malicious program. Mighty Desktop automatically downloads a fresh copy after one month. You can force a fresh download by holding down [Alt].

 •	Repairing (un)installation problems: If you got an error installing or uninstalling a program there is a Microsoft repair tool that can sometimes help. This button downloads the newest version and runs it.

 •	Fix Windows Update runs Microsoft's built-in DISM tool to fix common problems that can occur during installation or deinstallation of a Windows Update package.

 •	ClipboardGuard™: Can warn you if the clipboard content is replaced immediately after a copy. This trick is known to be used by some malicious programs. They replace a cryptocurrency payment address that you just copied to send it to a payer by one of their own. ClipboardGuard™ can execute one of the Mighty Actions defined in the 'Actions' tab (see chapter) if it detects that. This works not only for texts but also for images, if for example a QR code for a cryptocurrency payment was replaced by a fake one.

 •	Network Connectivity Status Indicator (NSCI): Windows often sends a query to Microsoft for detecting whether your network is connected. For the privacy of your IP address it can be helpful to switch this off. But be warned that a few third party apps can display an invalid internet connected status after that. 

Verify Integrity Tab of System Safety Tab

This dialog verifies whether the integrity embedded in a binary data file (usually *.zip or *.exe) was compromised (the file modified). It matches the signature or checksum (hash) that is provided in a separate textual file (usually *.sig or *.asc). The operation can do several things:
 •	When you enter a file the corresponding integrity pathname will be looked up by first appending and then replacing the extension by one of these: '.sig', '.txt', '.hsh' or '.asc'.
 •	In the case of a PGP signature the *.sig file will be expected either to have a block starting with "-----BEGIN PGP SIGNATURE-----" inside or to contain directly the binary signature. It will then be searched for gpg.exe (a part of the free GnuPG package at https://gnupg.org/index.html) by consulting the PATH environment variable (see tab 'Environment Set') and if not found, in the default installation folders of gpg. gpg will then be passed the two files for processing the verification. Note that the signature process needs the public key of the signatory to verify it. If gpg is saying "Signature can't be checked: No public key found" you will have to import the public key of the creator of the data file into your machine's gpg keystore with the button "Import Keys". See chapter below.
 •	If the signature file is a textual file that contains a line like "SHA256: AABBCC..." with a hash value 'AABBCC..' Mighty Desktop will compare the hash of the file by either scanning it immediately or, if the data file is bigger than the threshold, it will add a 'File Scanner' process to the Process Queue. Mighty Desktop can even be restarted while a huge file is scanned. Accepted format of the line:
 ◦	Blanks, '-' and TABs in the line will be ignored
 ◦	Any of the hash types in the dropdown box of the 'File Scanner' tab can be processed
 ◦	The first line with a hash value will be used. You can reorder the lines if multiple hashes are present.
 ◦	Letter case is irrelevant for the comparison.
 •	Also a signature file in the form
Hash: SHA256

b1b09fc9c4868f....1424a0097f7696ecfdb3ee <FileName>
can be read. The right column must contain the filename of the data file with or without path, the left column the hash code, or vice versa.
 •	If no signature file is specified, it is assumed that the data file should be verified using previously imported PGP keys. The command specified in the settings is used for this purpose, but the "{Sig}" part is removed from it beforehand.
Notes:
 •	You can configure which PGP program to use and how it should be called in the 'Settings' tab.
 •	Mighty Desktop automatically corrects a mixed character set output of the tool (necessary for gpg).

Importing keys 
Usually you can look up the public key on the signatory's web site, or download it from a public key server using the provided functions inside the PGP key manager tools. A public key starts with the line "-----BEGIN PGP PUBLIC KEY BLOCK-----". Some key files contain multiple public and/or private keys in a sequence. These can also be imported. You can just drop a file onto the text box. 
Notes: 
 •	You can configure the command for importing keys in the Settings tab. 
 •	Mighty Desktop automatically corrects a mixed character set output of the tool (necessary for gpg). 

File Monitor Tab of System Safety Tab

File Monitor was created to improve the safety and transparency of your system:
 •	Did you ever fear that a malicious program could go over your personal files and send everything out to a foreign internet address?
 •	Did you ever fear that a malicious process could make constant screenshots from everything you do on your computer?
 •	Did you ask yourself where the saved state of your game (save game) is stored? 
 •	Were you ever wondering whether the frozen looking setup program is still doing something?
File Monitor helps to answer all these questions and to uncover what's really going on in your system. It protocols each access to a file on each and every local drive and also connected USB drives resp. plugged USB sticks. You will see a list of the pathnames, which operations are performed (created, modified, renamed, deleted, stamp changed, access rights changed) and the time. If you double click on it you can get a peek inside, even into binary files, or just show them in File Explorer.

File Monitor has its own Settings window where you can configure the filtering. This includes specifying multiple patterns how the file- and folder paths must look like and/or narrowing the operations down which will be monitored.

Another usage of File Monitor is, to see where settings are stored on your drive. If you go into a program, change the settings and save them, the settings file will show up in File Monitor and you can see where it is located. Especially for games you can make a backup of the savegame files and carry them over to another machine to continue your game there (see chapter "Determining the path of a saved game state"). An easy way is provided by just marking the found files and push the button 'To File Copier'.

You can configure File Monitor to execute any action from the 'Actions' Tab if any operation on certain pathnames are detected. This filter is totally independent from the one for the listing. To avoid getting too much executions at once it will be limited to getting one action per 5 seconds at max. Displays of the configurable event message box are already by itself limited to 1 at maximum.

Notes:
 •	You can add files to the list directly from the popup menu in File Explorer
 •	I would have loved to see exactly which event triggered a modification but the .NET Framework doesn't provide enough info, sadly. Also, I would have loved to see simple read operations on a file. But this is also not possible with the given interface provided by the .NET Framework. This is on the ToDo list for future extensions of Mighty Desktop. It would possibly require to inject a system driver dll.

Binary File Viewer Tab of System Safety Tab

Sometimes there are suspicious files in your system that are filled with binary data. Executable files contain a mix of characters and executable code while database files contain a mix of characters and other binary numbers. Binary File Viewer lets you safely view the content of any file in your system by filtering the printable characters and displaying them in a textbox. If you are not sure what an executable does, as in the case of malicious code, the strings inside can reveal what the actual purpose of the file is. The list of used Windows calls will show up and if they have nothing to do with the title of the app, GOTCHA!

View Content
Unicode sequences as well as ASCII strings will be decoded and displayed. You can choose to only show ASCII characters (Codes 0..255) or only identifiers. Identifiers means that only characters typically used for program identifiers are filtered (in this case here without Umlauts) and only identifiers of at least 2 characters are interpreted as such to see better.

If the file is extremely big, more than 1 MB, only 500 kB of the start and end are listed. But you can get the whole text by writing it to a file.

View Strings
This only works for programs (exes, dlls) or program resource files.
 •	In case of an original Windows file (Win32), all strings in the file can be listed. All found strings (including resource names) are listed grouped by culture. The current culture or the first one with the same primary language is always listed on top. For example, if there are only strings of the culture "en-UK" (United Kingdom) and your Windows is "en-US" (United States), the UK strings will be listed first (similar language).
 •	You can also peek into .NET assemblies. All strings are listed first and then for some of the common other resources the name is shown.

Features:
 •	Hold [Ctrl] when pressing a button to export the result into a temporary file. In this case there are no limits on the size of the output.
 •	Texts like for example error messages can be copied out
 •	System calls are revealed
 •	Assembly-Manifests and Signatures are revealed
 •	Tight integration: You can start the viewer with just one click from the File Explorer and also from panels and file boxes inside Mighty Desktop.

File Protector Tab of System Safety Tab

Many people have very private files like password safes or cryptocurrency wallets on their computer. Usually their content is already protected against usage by other persons by means of encryption. But it's still possible for viruses, Trojan horses and powerful organizations  to read the file, copy it to their own web server and try to decode it there over months. It would also be possible to delete it which would, in the case of a wallet, result in a total loss of your hard earned money. Mighty Desktop's File Protector can block the access to such a file either for modifications or even completely by denying reading as long as it is running. Because Mighty Desktop is typically started during Windows boot and stays as a background process it will block access immediately after boot up to the shutdown. But wait, aren't there file rights to achieve this goal? Yes, sort of, but an administrator can easily remove such restrictions. In contrast, Mighty Desktop's method works by holding the files open in exclusive mode. This way even an administrator won't have access to it whatever he does.

Just be reminded that this system is not 100% safe, because there is a short time at boot and shutdown where the files are unprotected. Also it should be mentioned that every program that installs low level device drivers like Backup and Antivirus programs asf. can't be stopped from reading or writing these files. And thirdly, if Mighty Desktop is ended the files will be left unprotected. But, while Mighty Desktop's protection may not give you a 100% guarantee this is still 99 times better than nothing at all, right? And it's a whole lot easier than fumbling around with the complicated and slow access rights dialogs in Windows. In contrast Mighty Desktop can even do an automatic unlock when you start the official editor which is intended to edit these files.

Other usages of File Protector:
 •	Protect drive images of virtual machines against writing. This is necessary because read-only flags are not always respected by many third party applications and poof, the image is modified.
 •	Stress testing: Programmers can put a modify- or exclusive lock on any file they wish and then check how their application behaves if it encounters this file.

A `Modify Lock` means that a file's content can be read but not changed, and the file neither be renamed nor moved. In case of an `Exclusive Lock` nothing can be done with the file, not even reading. If a spyware doesn't know Mighty Desktop it will definitively be stopped by File Protector.

Easy unlocking

If you wish to access a file, for example a password safe file of KeePass, you have two different options:
 •	Add all programs that you are using to view or edit the file to the list in the column 'Unprotecting Processes'. You can also just drop a desktop shortcut onto the list. The list can contain multiple full paths to applications, each on one line. As soon as one of these apps is running Mighty Desktop will deactivate the protection of the file and when you close the app reactivate it. This way the protection isn't interfering with your work.
 •	Right-click Mighty Desktop's notification icon and activate "File Protector off for 15 minutes" (hold [Ctrl] to switch it off without time limit). No complicated rights dialog and waiting is necessary. With that you can unlock all files at once with just one click in the blink of an eye. The time limit helps avoiding to forget to lock the files afterwards (happened often to me). The duration is configurable in the 'Settings' tab.

One more, different protection approach is available: File Protector can make files in the list completely invisible by setting the two flags 'System' and 'Hidden'. After that the files can only be accessed by full path (so called "Security through obscurity"). Such files are even invisible on a machine that doesn't have the checkbox "Hide hidden files" set in File Explorer settings. But anyone who knows their name can still access it.

Notes:
 •	You can add files to the list directly from the popup menu in File Explorer
 •	A red warning will appear if you add a pathname more than once
 •	Take heed of suboptimally programmed third party programs. Some can just say "File not found" when they try to open a protected file or not even notice when a save failed.
 •	Only the first instance of Mighty Desktop, the Main Server, does activate the protections. Additional instances don't even try, they would get errors, just like any other third party program.

Backup Tab of System Safety Tab

Do you have some files in the cloud like I do? I only have a small number there, those that I change frequently and must be accessible from different locations. For better protection of the privacy I never put very private things in the cloud. Question: Do you trust your cloud company that these files will be stored safely and forever? You shouldn't! I had already two cases where files were lost or at least partially lost. One was when a company tried to extort payments for a service that was previously free of charge (which I can really understand as a software producer myself). But the extortion was ugly, done by denying functions of the service which made me lose data. Not nice! Another case was when files were not synchronized correctly and I ended up with two similar versions. This meant I had to merge files one by one by hand to reconstruct the original data. Took me quite some time, not funny! So, my recommendation: Perform automated backups of your cloud data once a while.

Mighty Backup can simplify and automate this for you. Besides you can also use this function to just copy multiple files, eg. server backups, merges aso. by a keystroke or click. Mighty Backup function features:
 •	Multiple named sets of files and folders to back up (called `Backup Set`)
 •	Pattern expressions to match a precise subset of files. Example: "C:\*.dll-C:\Windows\*+C:\Windows\Drivers\*" enumerates all files named "*.dll" in the C drive into depth, but skips all in "C:\Windows" except those in "C:\Windows\Drivers".
 •	A comparison is done and only changed files will be transferred. The comparison is primarily by different length and last modification date but you can also let it compare the full content. Date comparisons are very quick but sometimes not useful when the drive is not storing them with enough precision or you have to be really sure of the copy (cryptocurrency wallets).
 •	Interactive merge of text files by using any external tool of your choice, eg. WinMerge
 •	Protection for not copying an old file over a new one, and also protection for not copying a smaller file over a bigger one. Use this feature as a safety guard, for example for password safes which normally never get smaller or older. If they are, this could be a warning sign that you try to copy an older one over a newer one.
 •	A preview window shows what will be done in full details, before executing the backup. You get options for each single step that you can either remove or execute manually.
 •	The analysis is executed as a queue process and the transfers will also be executed by adding processes to the 'Queue'. This way you don't have to wait for completion if the files are huge.
 •	The transfers can be paused and continued by a button, even when the backup steps window is open
 •	Transfers are automatically suspended and resumed if the app is closed. The transfer will continue at the same location in the file when Mighty Desktop is restarted. This is very comfortable for huge files. No more waiting for the transfers to complete. Also, a shutdown or restart, for example by a Windows Update, is no problem. Mighty Backup is fire & forget.
 •	A verify after the transfer can be demanded which will be performed also by adding a separate verify process to the 'Process Queue'
 •	Multiple drives can automatically be ejected after a successful backup 
 •	Files protected by 'File Protector' are automatically unprotected for the operation.
 •	No 4 GB limit for the file sizes.

Mighty Backup is more versatile than many other products. It can handle all these cases:
 •	Specify in advance whether overwrites should be allowed. No annoying popups in the middle of the operation.
 •	Protection from copying an older file over a newer one for each item
 •	Protection from copying a shorter one over a longer one for each item
 •	If 'Read-Only' flags are set at the destination they will automatically be reset
 •	Copying of all kinds of files including hidden and system (you can exclude them in the 'Pattern')
 •	Copying or moving a file from one path name to a completely different one (renaming it)
 •	Copying/moving a folder to a renamed one
 •	Option to set the flags 'Read-Only', 'Hidden' or 'System' after transferring. Tip: Turn on all these flags when you back up your crypto wallet to a USB stick. This will make them completely invisible to any unsuspecting user.
 •	Only transferring files that match a specific pattern, and this either flat or into depth
 •	Automatic appendage of a number at the end if a file exists at the destination, resulting in a history of all previous versions (versioning). Especially useful for cryptocurrency wallets and password safes. This can be specified down to each single file.
 •	Files from multiple source folders can be combined to build up a destination folder (release building)
 •	Backups can be initiated at any conceivable time, at any conceivable recurrence interval, and based on any conceivable triggers. The Mighty Action resp. Mighty Command named 'Backup' can be used for this purpose. Mighty Actions can be initiated from many places in Mighty Desktop, especially to mention from the Scheduler.
 •	Checking in advance whether the parent folder of a destination path is already present and asking whether to create it. This is the optimal compromise between uncovering typos and creating new folders automatically even before the first file is copied. This avoids getting problems with access rights later during the transfer.
 •	A new destination folder can be specified in any depth without having to create it in File Explorer, eg. Drive\Folder1\Folder2\Folder3
 •	Option to automatically clear the destination folder before the first file is put into it (removing old garbage)
 •	Button to quickly replace a string in all source- and destination pathnames. Very useful for example when a removable drive gets assigned a different drive letter.
 •	Timestamps will automatically be ceilinged up to the next 2 second time interval for comparison. For example 10:31:01 will get 10:31:02. This is to counteract getting files with different timestamps after they were transported by other file systems. Windows' NTFS can keep timestamps very precisely, up to fractions of a second, but Linux usually only keeps them to the precision of one second, and the even older FAT file system (DOS) only up to a two second precision.
 •	In case of a move you can choose whether to delete the source at the end or just move it to the trash.

Tips:
 •	If you just want to find out the differences of two folders you can create a new backup set, enter the two folders as source and destination and push the "Backup…" button. Then you will get a window where you can either copy one file over to the other, merge the two files or compare them. When finished just close the window without executing the steps.
 •	If you specify a full pathname (folder and file) and switch on 'Into Depth' it will first split the pathname into folder and file, then scan the folder and all its subfolders for files with the given filename and back them up creating the same subfolder hierarchy on the destination (in analogy to specifying a pattern). Very handy for backing up configuration files for example.
 •	You can run one of the backup sets directly from Mighty Desktop's tray icon in the Windows Taskbar or by command line (maybe part of a command file). Hold [Ctrl] to run it quietly (without popups).
 •	You can use the Mighty Command 'Eject' (see 'Actions' tab) to eject a removable drive at the end. To do this, switch to the 'Actions' tab, select the command, enter the appropriate drive and add the action to the queue using the 'Add to Queue' button. Alternatively, you can also specify this action in the 'Queue' tab as action to execute when finished.

Color coding: The background of a backup step will point you quickly to the important things:
 •	Yellow: "Unusual, please take a look". Maybe everything is OK but it could also be problematic. One example is when the length of the source file is shorter than the one at the backup location and 'Prevent Older' is switched off.
 •	Orange: "Warning". A protection has triggered, for example when an older file would overwrite a newer one and you have 'Prevent Older' switched on. The 'Action' of the step was automatically changed to "None".
 •	Red: Serious problem. For example the file was not accessible.

Data Refresher Tab of System Safety Tab

The data bits on each drive lose a little bit of their strength each year. If you have disks or tapes based on magnetic technology which you don't use often you should be warned that such medias lose their informations after about 5..10 years depending on the storage conditions (temperature, treatment, quality). Flash memory can lose data after 10 years. Mighty Desktop can either refresh the whole drive or just punctually those files that were created before a certain date. The advantage is, that it can do that for any kind of drive independently of the brand and that the drive doesn't have to be taken offline for the procedure.

In some cases a refresh can even cure the problem of a very slowly mounting drive. I once had an external harddisk which took up to 30 seconds to show up in Windows after it was powered on. Then I used the Data Refresher on this disc and I was astonished that it appeared after just 2 seconds from then on.

During the refresh process only a single file is locked exclusively. You can continue to use the medium and even add, remove or change files inside a refreshed folder. The refresh process can easily take multiple hours depending on the size of the drive. Therefor it was built to be interruptible, as for example when Mighty Desktop is exited. The refreshing will just be resumed at the next start at the exact same position inside the refreshed file. If a removable drive is not online, it will just display a message in the description of the process and wait. After bringing the medium online you can kick-start it with a click on the button 'Continue' or just let the next start of Mighty Desktop resume the refresh process.

The refresh does by default not change any time stamps of files or folders (although you can choose to). To keep track of which files were already refreshed, you can specify the location for a textual control file (optional but recommended). It will record which elements were refreshed at which date in a human readable form. For example you can choose to only refresh files older than 5 years. If you do the next refresh one year later, again for 5 years back, the control file will remember which files were already refreshed, skip these and therefore increase the speed by a huge factor also avoiding unnecessary writes on flash drives.

Since the refresh process only covers existing files all the unallocated blocks could still be fading away. To avoid that you can check the box "Unused Space too?". This will add a second process to the Process Queue which will fill the unused space of the drive with random data. This is basically the same function as the button in the 'System Safety Functions' tab.

Notes:
 •	You can also use this operation on flash drives (SSDs and memory sticks). But be warned that it will add 2 write operations to the count of each block of data. Usually the lifetime of a cell is about 1000 write operations. So, do that only if really necessary, or you will degrade the lifespan of your flash drive.
 •	You should assert that you have the most possible rights on the drive. Optimally start Mighty Desktop in Administrator Mode (see 'About' tab) if you want to avoid locked files.
 •	Be informed that the recycle bin of the drive will be emptied
 •	The drive will be checked for file system errors before starting. This guarantees that your data will be safe at any time.
 •	If you refresh a drive that is in use you can enter a number like 10 or higher into the column 'Relax Delay' of the 'Queue'. This will give the other processes more breathing space.
 •	Tip: You can use the scan for 'Defects' of 'File Scanner' in the 'File Center' to check how much data was already lost on an old drive before starting the refresh.

Disclaimer: Mighty Desktop's method of refreshing single files - as opposed to the media as a whole - is very convenient because it produces nearly no interference with the normal operation of the drive during usage time. If files are refreshed this way it will automatically also update the directory blocks (because meta data like access times are changed). Still there will be a small number of blocks left that are not refreshed. If your data is extremely critical and you need to be really 100.00 % sure, it's a better strategy to either backup and restore the whole disk in a block-wise manner or use a specialized program to refresh the whole drive. But be informed that the latter is a much more complicated task because first you will have to find exactly the right program for your drive type, then the media will have to be mounted exclusively for a long time and a reboot will be required. In addition bad (broken) blocks will have to be managed actively by the tool (put in a skip list) which sometimes can be risky. Such an operation is usually very low level and manufacturer specific. If you have multiple drives of different manufacturers this can be a very time consuming and risky task.

Windows® Extensions Tab

Extensions Tab of Windows® Extensions Tab

 •	Add RegEdit Favorites: Mighty Desktop knows some useful favorites that nearly any RegEdit user could profit from (RegEdit is a low level administration tool for maintenance). The list is downloaded from the Atlas Server, so it can expand over time. A favorite will never be added more than once.

 •	Sort RegEdit Favorites: If you open the menu 'Favorites' in RegEdit you will see all favorites in the order they were added over time. For me this is not a practical solution, I always liked to have them arranged alphabetically. This function does that.

 •	Clean Temp Folders: Windows has a few folders where applications and Windows itself can store small files with temporary data, called the TEMP folders. Many applications forget to delete some temporary files so these folders get bigger and bigger. Temp-files shouldn't be deleted manually because an application could still need them. Only if all applications are exited it is safe to delete them, and only those who are older than a week (according to Microsoft). A folder is only deleted if ALL items inside are older. Mighty Desktop applies some sophisticated techniques to be able to delete files that are not easily deletable interactively and also to delete files with very long paths. Note that it may be necessary to start Mighty Desktop as Administrator to be able to get rid of certain files. There is a button in the 'About' tab to do this. By the way, you can choose to let Mighty Desktop execute this operation at each shutdown, see chapter "Suspend-Resume", or also scheduled at any time you wish (see chapter "Mighty Commands").

 •	Taskbar Settings: You can configure how many recently used items should be kept in the popup menu of an app in the Windows taskbar. My personal preference is 40, double the default of 20.

 •	Web Search in Windows Desktop Start Menu: Only used in Windows versions starting from 10. Toggles the automatic search on the web if you enter something in the search box of Windows Desktop. You can use the provided button in the 'About' tab to restart Mighty Desktop in admin mode to get the rights for changing it.

 •	File Explorer Popup Functions: If you deactivate this all the Mighty Desktop functions will be removed in File Explorer.

Environment Variables Tab of Windows® Extensions Tab

Windows has an internal list of `Environment Variables`, which are essentially a list of paths and simple string values stored under a certain name. Program installations sometimes change them but forget to remove them on an uninstall. Mighty Desktop's Environment Set Editor splits a concatenation of paths automatically in its parts and lets you edit them separately. This allows to easily check them and change file and folder paths.

Additional functions are available, for example removing paths to folders that don't exist anymore. This helps speeding up your system.

Environment Editor is, like any Atlas app, fully Drag & Drop enabled: You can add folders just by dropping them into the list or move entries around by dragging them around. You can also easily add new environment variables which is an extremely useful thing. It allows you to browse for a files and folders in a blink of an eye in any of Windows' browse dialogs. Example: Define your favorite text documents folder as a new variable 'tx'. Now in almost any file dialog box you can just enter "%tx%" and the dialog will navigate there. This will save you a lot of time in the future.

Environment Variable Editor is programmed with safety in mind. It detects carefully whether you are in progress to modify or even remove an already existing variable in which case you will be asked to confirm. Adding variables is totally safe, but removing existing ones can break the functioning of the application that added it, or even the system. For power users like system administrators the question can be disabled in the settings. In case of a modification the old value will be logged so it can be restored later if necessary. And there are more checks done before the set is saved.

Notes:
 •	Certain changes require Mighty Desktop to run in Administrator mode. There is a button for this in the 'About' tab.

Command Shell Tab of Windows® Extensions Tab

This seems nothing special since Windows has its own built-in Command Shell and also a second, more modern version, the PowerShell. But for simple tasks PowerShell is slow at startup and more difficult to learn. The old DOS style Command Shell is quite lightweight and good enough for nearly all daily tasks. I really like to keep working with it, but with improvements appropriate to the year 2021. Mighty Desktop provides this:

 •	Long lines can be displayed either as horizontally scrollable or wrapped around at the border of the window

 •	Text is edited in a better readable proportional font

 •	Normal text editing with the mouse is supported, also when wrapped

 •	Easy Copy&Paste with Ctrl-C, Ctrl-X and Ctrl-V, also for multiple lines

 •	Right-click-popup to explore a pathname

 •	Insert a file or folder path by dialog

 •	Unlimited undos which are kept even over the ending of the app

 •	Drag&Drop inside and from/to outside. Special support for dragging of one or more file system items into the box (automatic quoting and blanking between)

 •	Separate input box for the working directory in which the script should be executed, equipped with a history dropdown

 •	Choice of running the script as user or administrator

 •	Placeholders are supported inside the script (see chapter "Mighty Actions")

 •	Errorlevel permanently visible

 •	Standard and Error Channel either in separate fields or mixed, easy to copy out especially when wrapped

 •	Choice whether the script should be executed in an standard command shell window or directly in Mighty Desktop

 •	Choice whether the executed commands should appear in the output or not (ECHO ON/OFF by checkbox)

 •	Choice whether a pause should be done at the end of the run to view the output (PAUSE checkbox)

 •	No character set problems in any form because the character set can be chosen

 •	No arbitrary line splits at the right border of the output window

 •	Can be executed at any desired time and also repeatedly, using the Mighty Command 'Shell Script Command'

 •	A history of all executed scripts including all the settings is saved over the ending of the app. A reuse is a matter of two clicks.

 •	Execution is interruptible by stop button or Ctrl-Break even if the script itself doesn't check for it

 •	Button for starting a common Windows Command Shell in the selected folder.

Especially if you are experimenting with arguments for a command line program, you should remember this tab.

Notes:
 •	If a line has '^' at the end, the line below is appended at the end of this line for the execution. This allows you to spread long command lines over several lines of text to make them easier readable.
 •	If a program requests input you can click on the output field and press keys. But be warned that some prompts abort the execution if they see that they are not executed by a Windows command shell. In these cases it helps to switch the checkbox 'Window' on.

Locate Command Tab of Windows® Extensions Tab

Windows® OS has a built in logic to figure out which program should be executed if you type a file name without a path. Sometimes it's necessary to find out which pathname it took finally. This dialog can:
 •	Find out the full path of the exe, bat or cmd which would be started using the same strategy as 'cmd.exe'
 •	Both strategies of 'cmd.exe' are known, the one for 64-bit and the one for 32-bit programs
 •	Verbose log which locations are checked
 •	Detect errors like non-existing directories in the PATH and PATHEXT environment variables which slow down your system
 •	Brute search for executables and scripts located in any of the Windows program folders independently of any strategy.
 •	Display of the architecture of the found command (32-bit, 64-bit, ARM aso.)
 •	Display of all the properties that are available about the found candidate, for example creator company, version number and detailed description.

Example: You can use this in case you get the information of your firewall software that the program "Xyz.exe" wants to access the internet (besides, why doesn't it display the full path?) What is "Xyz.exe" and where is it?

Warning: .NET Framework manipulates the result of filename queries. Some special files are visible in a Command Shell and also in File Explorer but not returned by .NET calls. One such example is "C:\Windows\System32\igfxEM.exe". It's just not found by any calls. This is a natural restriction for Mighty Desktop which it can't circumvent because it's based on the .NET Framework. But as far as I know there are only a few of them.

Error Codes Tab of Windows® Extensions Tab

This is a comprehensive list of nearly all used error codes, their identifiers in programs and their descriptions in Windows programs. Ever wondered what a bluescreen error code says? Here you get your answer. You can filter by hex code, decimal code, origin, identifier or description in a blink of an eye. The description sometimes contains a recipe how to resolve the problem. If you identified the error you can directly show the corresponding info on the web by pushing the web button right of it.

The lists of the following origins are searchable and refreshed from time to time  from our web server (API = Application Programming Interface):
 •	Access, User and Group API
 •	CharDev API
 •	Configuration API
 •	Configuration Manager (cfgmgr.h)
 •	DDE (Dynamic Data Exchange)
 •	DMIN API
 •	Extended DOS (Disk Operating System)
 •	File Transfer Protocol (FTP)
 •	Gopher API
 •	HTTP (Hypertext Transfer Protocol)
 •	Internet
 •	Kernel
 •	Message Server
 •	Networking
 •	OLE (Object Linking and Embedding)
 •	Remote Access Service (RAS)
 •	Server API
 •	Service API
 •	Spooler
 •	UPS (Uninterruptible Power Supply)
 •	Use API
 •	Windows Drivers
 •	Windows Sockets API
 •	Workstation and Logon API

Notes:
 •	Some ranges of numbers are reused by Microsoft, for example 8007xxxx has the same meaning as 0000xxxx in most parts.
 •	Seamless integration: If you stumble on multiple error codes while working in another app, say a debugger or browser, you can just activate the checkbox "On Copy" and copy a string to the clipboard. Mighty Desktop will then automatically show the main window, switch over to the Error Codes tab, analyze the string and check either 'Hex', 'Decimal' or 'Identifier' depending on what you copied.

Diagnose Start Problems Tab of Windows® Extensions Tab

Sometimes Windows applications don't start even without showing a window. The cause is usually an incompatibility with the rest of the system. As a developer you can get this if your app is missing a DLL or resource, or loads the wrong one (so called "DLL hell"). Finding the cause can be very complicated and time consuming. This function starts the application in a heavily supervised environment. Each small step is protocoled. If another module is loaded this will also be supervised which will help to identify the culprit. Exceptions will be caught and displayed in full detail. The returned error code is automatically looked up in the list of all error codes (see tab 'Error Codes') and the explanation is displayed. This analysis will give you a hint what must be fixed.

This function can be used for .NET apps as well as Win32 apps and also for any standalone DLLs. It can therefor also be used as a tool to identify what kind of app an executable really is.

Notes:
 •	If you experience locked EXEs or DLLs a restart of Mighty Desktop can sometimes fix it. Reason: Assemblies are loaded into a so called AppDomain but the .NET concept of an AppDomain doesn't support unloading EXEs or DLLs. So a restart might be the only solution.
 •	Mighty Desktop itself is a x86 app (32-bit). This can have an influence on how 64-bit libraries are loaded.

Desktop Shortcut Tab Windows® Extensions Tab

You can place shortcut icons on the Windows Desktop that execute either a Mighty Action or Mighty Command (see tab 'Actions'). It's extremely useful for efficient work having some functions readily available at a double-click. For example I use "Mighty Shutdown" every day. You can choose to let the action run in admin mode. Since Mighty Actions are extremely powerful, you can make your computer do practically whatever you want on double-click. 

Hotkeys Tab of Windows® Extensions Tab

You can configure which action of Mighty Desktop should be executed anywhere in Windows (even another application) by just pressing a key or key combination. If you have a keyboard with F1..F12 keys this is extremely useful, but you can also assign that the action should be executed at combinations like Ctrl-Shift-C. Since Mighty Desktop distinguishes between the left and right modifier keys [Ctrl] and [Alt] this opens up a wealth of new possibilities. In short, you can do anything you want on the press of a key combination even when in another application (see chapter 'Mighty Actions').

These examples are already predefined if you start Mighty Desktop for the first time:
 •	RightCtrl-1 will copy the item to the clipboard which was copied last to the clipboard (see chapter 'Clipboard Recorder')
 •	RightCtrl-2 will copy the second last item
 •	......
 •	RightCtrl-0 will copy the 10th last item. You can use these key combinations to first copy multiple items to the clipboard, switch over to the receiving app and paste them there in a series without having to switch back and forth between programs.
 •	RightCtrl-F will switch to the 'String Hunter' tab and select the 'Find What' box
 •	RightCtrl-C will switch to the DualType Calculator™ and select the text in the input box
 •	RightShift-M will open the Windows tool 'Character Map'
 •	RightShift-S will open the Services control panel
 •	and many more.

Another example where the functions RightCtrl-1 can be very useful: In the Calcuverter dialogs. For example if you are in your browser and you see two numbers that have a lot of digits and you would like to know the difference, just make sure that 'Clipboard Recorder' is recording (for example by pressing RightCtrl-R), copy both numbers to the clipboard, press RightCtrl-C to switch to 'DualType Calculator', press RightCtrl-2 and Ctrl-V to insert the first number, type an operator like " - ", press RightCtrl-1 and Ctrl-V and Enter.

Notes:
 •	Mighty Desktop suppresses the execution of Hotkeys while the Hotkeys tab is the active window in Windows to avoid problems. You must first switch to another tab or activate another application to try them.
 •	Some hotkeys can only get caught by Mighty Desktop if the third party app is not "eating" (processing) the keys itself. To get around this limitation you can try to assign very rare key combinations, for example Ctrl-Shift-Alt-<Somekey>. Nevertheless there are some apps that eat any combinations. In this case, hotkeys cannot be used directly, you have to switch to another app first.
Process Queue Tab

Mighty Desktop adds processes that could take longer than a few seconds automatically to the `Process Queue`. This allows to continue using Mighty Desktop immediately without having to wait for completion. For file based processes the length limit for when this is done can be set in the 'Settings' tab. After a process has completed, the result will be shown in the horizontal tab 'Processing Results'. There is also a button to send the result to another tool such as an editor with just a single click of the 'Share' button.

Max. concurrent processes: The number of processes that are executed in parallel can be chosen. For example if you have multiple operations that copy files to an external drive in the queue it doesn't make sense to execute multiple of them at the same time because the transfer speed of the line is limited and the destination drive has more overhead when storing multiple files at the same time than only one. It's more efficient to run such transfers in sequence. It has also advantages in a disk full situation. It is therefor recommended to set the number to 1 for such cases.

Stopping processes: If you have multiple entries in the queue but would like to pause the processings without losing processing time, you can set the number of running processes to 0 and press 'Apply'. This will not have an immediate effect and no processes will be aborted, but no new processes will be started. After the current processes have finished processing you can quit Mighty Desktop. The process queue will never lose its content. After restarting all the interrupted processes will continue, most of them at the exact same position. So, for most of the running processes you won't have to wait for completion. You can just exit Mighty Desktop and they will be frozen in the middle (for example most file based operations) and resumed at the exact same point when Mighty Desktop is started the next time. But keep in mind that a few processes don't have this ability, it depends on the type of process. In such cases, the processing starts all over again.

Slowing down: Some processes put a heavy burden on your system. In Mighty Desktop you can either set the priority of the whole app with the three bar buttons below the list or individually slow down each process at your needs. There is a column named 'Relax', where you can enter a number of ticks (a tiny delay) the process should wait until the next chunk is processed. This can only be assigned to internal processes, it's disabled for external processes since Mighty Desktop has no control over those.The slowdown can give other processes more breathing room and the CPU also gets less hot.

Timed series of executions: You can choose to start time intensive processings at a later time. As an example you could copy huge backup files in a series at some time in the night. To do so, do the following:
1. Switch to 'Process Queue' and set the 'Maximum Processes' to 0.
2. Switch to the desired tab in Mighty Desktop and start all of the processings. They will now queue up in the Process Queue but display as sleeping.
3. Switch to 'Process Queue' and enter your desired starting times in the column 'Start At'.
4. Set 'Max. Processes' to the desired amount
5. Press 'Apply'
Each process will now wait until the entered time has come and then execute.

Notes:
 •	Mighty actions can also be added to the queue. For example, one could eject a drive or do other things.
 •	Processes can be reordered by Drag & Drop even while processing. This will only have an effect on the order the next ones will be started.
 •	At the start of Mighty Desktop the automatic starting of waiting processes is only done if a) it's enabled in the settings, b) this instance is the main one and c) it's not suppressed by holding [Ctrl][Shift][Alt].

Processing Results

When a process finishes it will be moved over to the 'Processing Results' list and a textual description of the result will be added. The finishing time and the duration will also be logged so you can estimate the duration of following processings more precisely.

You can easily view the output of the processing by pressing the play button. As a general rule, buttons with a green background do something with output files.

You have the option to send the result directly to another application with the 'Send' button. You can configure the call of this application and how the pathname is handed over to it in the 'Settings' tab.

Some processings support a "Continue & Restart" feature. You will get one more button which either continues the processing at the current position or, if the process was finished, restarts it. This is very comfortable in the case when you have changed something on the input files: A simple click and the whole processing is repeated with the exact same parameters.
Undoable File Operations
Mighty Desktop remembers file operations initiated by the user internally and can easily undo them afterwards, similar to File Explorer. With Mighty Desktop, however, more operation types are covered and multiple steps can be undone. Moreover, they are remembered even beyond the end of the application. All these operations are undoable:

 •	Move file
 •	Throw file into the trash: Note that the restore of an item will check whether at the destination is already something. If the size of this item (file or folder) is 0 it will be replaced without asking.
 •	Rename file
 •	Change file timestamp
 •	Create new file
 •	Delete empty file
 •	Move folder
 •	Throw folder into the trash
 •	Rename folder
 •	Change timestamp of the folder
 •	Create new folder 
 •	Delete empty folder

Read-Only flags

Mighty Desktop is equipped to deal in a respectful way with files or folders that have their read-only flag set. The intention of the R-flag was originally that an application isn't allowed neither to rename such a file nor to modify the content (think of a rock). Many applications out there don't care or just remove it. Mighty Desktop's (resp. all Atlas apps) philosophy is to respect the R-flag. If you do mass operations and such an element is encountered you will get a dialog where you can choose to either skip the processing, reset the flag temporarily, or reset it for all elements of the batch. Some dialogs even have a checkbox where you can choose to ignore the flag before you even start, so you won't be bothered with them.
Multiple Instances, Notify Icon, Client-Server

Mighty Desktop has a `Client-Server` architecture. It can be run in multiple instances (sessions) at the same time, but that's not really recommended because the settings are persisted only once. The settings from the last closed instance win, so you could loose changes made in other instances. To avoid this, the first instance acts as a the so called `Main Server` and will show a `Notify Icon` in the Windows® tray (you can change this behavior in the 'Settings'). Additional instances send their commands to the server and will display the results in their own environment, either as output in the command shell from where they were called or as a message box in the case of a File Explorer popup function.

If you start a second instance without arguments you will be asked whether you want to switch over to the first instance. You can refuse and still use multiple instances in parallel. This can be useful in rare cases. But remember that you will only have the state of the last closed instance later on, and this includes the Log.

One big advantage of such a client-server architecture is the very fast execution of multiple commands in sequence, for example if issued from a batch/command file or from the popup menu in File Explorer.

Note that you could start the first instance in administrator mode and later issue commands from instances that are running in user mode. This will require an account with admin privileges and can sometimes be useful for commands like 'Clean Temp Folders'.

Especially useful commands of the Notify Icon in the tray:
 •	File Center->Eject->Drive: Ejects one of the removable drives in a safe way. The device will be asked whether it is ready and can veto (does the same as the Mighty Command 'Eject'). The reason for the veto is displayed, unlike the command built into Windows, and a search for open files on the drive will be performed. Hold [Shift] to force the ejection as if it was unplugged.

 •	Desktop->Repair Off-Monitor Windows: This will call the Repair function (see 'Window List') for all windows that should actually be visible but are partially or entirely outside the main monitor. This happens sometimes after you rearranged the monitor configuration in Windows, or when displays are attached and detached from the display ports of your computer. It's sometimes an incurable problem without Mighty Desktop. But because the tray icon is visible on any monitor you can make reappear the lost windows easily.

Notes:
 •	Only the Main Server will do file protections (see 'File Protector')

File Lengths
 •	All of Mighty Desktop's functions are built to handle files and folders of huge lengths (no 4 GB limit)
 •	Mighty Desktop is especially equipped with functions to handle network file systems with case sensitive names. For example Linux and Unix are like that but Windows is not. Actually all Atlas apps support that (see The Atlas Xperience™).
Long Paths

As an element of The Atlas Xperience™ all Atlas applications support pathnames longer than 260 characters. In Windows this feature was introduced gradually over the last years, and several areas still can't do it. For example File Explorer doesn't fully support long pathnames, even in Windows 10. If an application has produced a nested folder with a long pathname, File Explorer will refuse to work with it and say something like "File not found", "Path too long" or just not react on a double-click. The start of an application doesn't succeed and you can't even delete such a folder. In addition the throwing into the trash doesn't succeed. You must first shorten the parent folder's names interactively. But you can use Mighty Desktop's function 'Delete' in its Notify Icon's menu (see above), this can do it.

While Mighty Desktop is fully long path enabled, the compatibility is still limited by the .NET Framework's and Windows' abilities. Windows 10 pretends to be fully compatible on paper while Windows 8.1 still has some non-compatible areas. But even in Windows 10 you can't start a program in a long directory neither can any program fetch its icon. In addition any commands based on the 'Shell' module of Windows are not long path enabled [up to this document's date]. This also includes the dialog for opening files. But there's a bypass solution: Thanks to the drag & drop features of Mighty Desktop you can drag such items directly from the browse dialog to Mighty Desktop's window behind.
File Expressions

Some input boxes allow the specification of a set of filenames similar to a calculator expression. You can use '+' and '-' to include or exclude some filenames matching a specified pattern. The expression will be evaluated from left to right. For example you could write "*-Thumbs.db" which would be interpreted as "First take anything and then remove all files with the name Thumbs.db". Or you could say "*.txt+*.rtf-Readme.*" to get all plain and rich texts and then remove all the ReadMes. You can also specify parts with their full path. File Expressions can even be evaluated in situations where the whole subfolder hierarchy is searched.

If an item's name contains a '+' or '-' character it must be enclosed in double quotes (eg. "Bill + Melinda").
Regular Expressions

Regular Expressions, abbreviated Regex, are supported on many locations. This is a globally standardized pattern system for string matching. It's extremely versatile, you could say the ultimate pattern matching system, but also a bit complicated to use. A good introduction can be found here.

Additional Functions in File Explorer

After installation of Mighty Desktop you will get a new menu "Mighty Desktop" in the popup menu if you right click on files, folders or drives in File Explorer. Depending on what you selected you can get these functions:

 •	Change Case to Title Case: Sometimes you get files or folders from other people that are written in "UPPERCASE LIKE THIS" or "lowercase like this". This function changes the case of all words in a file or folder name to first character uppercase and the rest lower. This is called `Title Case` and looks like this: "Titlecase Is Like This". A word is defined to be between boundaries of letter and non letter characters. The transformation will only be done if a word is all in lowercase or all in uppercase. This will protect special words like "SpecialWord" from being changed. You can undo the renames by the popup function 'Undo Last File Operations', even after restarting the app.

Example: CAPITAL_SONG23 will be split in the words CAPITAL, _, SONG and 23. Then the transformation is applied which will change them to "Capital", "_", "Song" and "23". This will result in "Capital_Song23".

To improve the precision Mighty Desktop downloads a list of known abbreviations like "U.S.A." from the Atlas server and it will automatically capitalize such words. If something is missing you can send us a feedback. 

 •	Replace '.' and '_' by Blanks: Replaces all dots and underscore characters by blanks in the item's name. The function is available for files as well as for folders. In case of a folder its name and all files and folders inside in any depth will be treated. Extensions are never changed. Read-Only flags are ignored. You can undo the renames by the popup function 'Undo Last File Operations', even after restarting the app.

General rules: Extensions are only considered as extensions if they are up to 5 characters long. This avoids having normal dots inside the name as being misinterpreted as extensions. Also, some common double extensions like ".mp4.cuts" are known, identified in a filename and therefor never replaced. The list of known extensions is downloaded from the Atlas server and can be extended. To improve the precision Mighty Desktop also downloads a list of known abbreviations like "U.S.A." and it will never replace dots in these words. If something is missing you can send us a feedback. 

 •	Replace '-' by Blanks: Replaces all minus characters in the file or folder name. Same comments as for the above function.

 •	Rename: Activates the Renamer in the File Center and puts the selected file or folder into the grid. Hold [Ctrl] to add also the content of the selected folders to the list.

 •	Open Command Shell here: Works on a single folder or file. Opens a command shell window (cmd.exe) that has its directory already set to this folder. If you hold the [Shift] key it will be started in Administrator Mode.

 •	Explore: This will open a File Explorer window and show the selected file or folder. You might think that this function is already present in Explorer and you are partially right, but yet sometimes it's not displayed. One example is when you are in an app and you want to save a file to a folder and now you would like to open the folder in File Explorer. If the destination folder only contains files the function of File Explorer is not there. Mighty Desktop's Explore function is present in any case.

 •	Trash Empty Items: To see more clearer it's sometimes useful to remove all empty files (having zero length) and empty folders (which contain none or only other empty folders and files). The selected files and folders will be checked whether they are empty and if they are, they will be moved to the trash. You don't have to delve deep into subfolders and find out if there is still something valuable inside anymore. As additional possibility you can declare some filenames to be always trashable in the Settings. The empty resp. trashable files will be trashed in a first batch and the folders in a second batch. This allows to restore them separately if necessary. This function is especially useful when browsing folders of a backup. And if you ever saw the message "Thumbs.db can't be deleted" this function will solve this problem too. Note that if there are hidden non-zero items inside a folder they will prevent it from being trashed.

 •	Place in own Folder: This works on one or multiple files. Each file is processed separately. It creates a new subfolder with the same pure name (extension removed) as the file and moves all files that have the same pure name inside that folder. For example if you have "Video.mp4" and "Video.eng.srt" and you execute this function on "Video.mp4" it will place both files into a new folder "Video". If a file with the same name is already present in the folder a warning will appear and nothing will be done. If a folder with this name already exists they will just be moved inside.
 ◦	Read-only flags are cleared automatically
 ◦	For videos, audios and subtitle files the similar function of our brother tool Atlas Subtitler is more suited because it specializes on such files.
 ◦	Can be undone by the popup function 'Undo Last File Operations' and even trashed folders will be brought back.

 •	Unwrap: This works on one or more folders. Each folder is processed separately. All items inside a folder will be moved up one level and the now empty folder will be trashed by the 'Trash Empty Items' function (see above).
 ◦	Read-only flags are cleared automatically
 ◦	Overwrite-Handling: If an item with the same name already exists at the destination a question will appear where you can say whether to skip, overwrite or append a number.
 ◦	A folder will only be moved to the trash if it gets empty. For example if a file is not movable the folder will stay.
 ◦	For videos, audios and subtitle files the similar function of our brother tool Atlas Subtitler is more suited because it specializes on such files.
 ◦	Can be undone by the popup function 'Undo Last File Operations' and even trashed folders will be brought back.

 •	Move Up and Trash Folder: Moves the selected files and folders up to the parent folder and finally trashes the folder of the items even if it’s not empty. All items must stem from the same folder. The use-case for this is mainly when an archive was extracted into a folder and you just want to pick a few items out of it.
 ◦	Read-only flags are cleared automatically
 ◦	Overwrite-Handling: If an item with the same name already exists in the parent folder a question will appear where you can say whether to skip, overwrite or append a number.
 ◦	Can be undone by the popup function 'Undo Last File Operations' and even overwritten items will be restored.

 •	Verify Integrity: If one or two files are selected it verifies whether the signature which is embedded in a binary data file (usually *.exe) matches the one in the signature file (usually *.sig or *.asc). The order of the files is irrelevant because the smaller file will be taken as the signature file, or if only one is specified the signature file is looked up as described in the 'Verify Integrity' tab.

 •	Add to Quick Items: Bundles the selected files and folders to a list and adds one new Quick Item to the 'Quick Items' tab without having to open Mighty Desktop. Hold [Ctrl] to switch to the tab and show the added item (see chapter).

 •	Trash: Moves the items to the trash after checking their read-only flags. The operation can be undone. Note that  this function is executed by Windows and therefor doesn't work for items with a Long Path (see chapter).

 •	Delete: In contrast to File Explorer's delete function this function does support long pathnames, also in Windows 10 (see chapter 'Long Paths'). What’s more, there are no problems like not deletable ‘Thumbs.db’ files anymore. Another advantage is when deleting a large number of files: The lengthy analysis phase of the File Explorer doesn't occur. And last but not least, you also get all the advantages of The Atlas Xperience™, which means a possibility to retry if locked, ask box for removal of possible read-only flags in any depth, crystal clear error messages when something goes sideways aso. Hold [Ctrl] to ignore the read-only flags.

 •	Who has this open?: You can use this if  the system can't access a file, for example after a delete failed. You can select either a file or folder. Then this pathname is put into the 'NameFilter' box of the tab 'Open Files' inside the tab 'Process Automation' and a scan is started.

 •	Compare: You can select one or two files that should be compared in a binary way by 'File Comparer'

 •	String Hunter: If you select a folder it will be put into the folder box of 'String Hunter'

 •	Analyze this Folder and Analyze the biggest files in this Folder: If you select a folder it will be put into the folder box of 'Folder Analyzer' and the corresponding analysis started.

 •	Scan / Checksum: Switches to 'File Scanner' and adds the selected files. For folders it will add all files in it. Hold [Shift] to add all files into depth.

 •	View Binary: If you select a file the 'Binary File Viewer' will be activated and the content of the file will be displayed

 •	Clean Duplicates: You can select one or two folders to put into the boxes of 'Duplicate Cleaner' and start a cleaning run. The contents are compared into depth. To compare only the names, hold down [Ctrl]. To not go into depth hold down [Shift].

 •	Truncate these Items: You can select multiple files and folders which will be treated by the 'Duplicate Truncator'. Without arguments it will just show the 'Duplicate Truncator' tab. Hold [Shift] to move the old contents to the trash instead of deleting.

 •	Truncate Duplicates: You can select one of the items of a duplicate series which will then put into the tab 'Duplicate Truncator' where you can specify the remaining parameters. Hold [Shift] to move the old contents to the trash instead of deleting.

 •	Empty Trash Bin: If you select one or more drives it will empty the trash of exactly those drives and no other.

You can choose if you would like to have these functions or not in the Settings. 

Notes:
 •	For unknown reasons sometimes modifier keys like [Ctrl] must be pressed BEFORE even Mighty Desktop’s popup menu is activated. Probably a File Explorer specialty.

 •	For copying the full pathname of a file or folder in Windows File Explorer you can select it, hold down the [Shift] key, do a right click and push "Copy as Path". This new function only appears with [Shift] pressed. The pathname will be enclosed in quotes. You can do that even for multiple items in which case each item will be put on a new line. 

Command line control
Mighty Desktop can be used as a tool directly from command line. This allows to be either called from an icon on the Windows desktop or as part of a batch/command line script (.bat/.cmd). Because it is a Windows-UI program (and not a console one) the command shell does by default not await the end of the program run. To wait for the results you must enclose it by a 'start' command like this:

C:>start /B /wait "" "Mighty Desktop.exe" comparefiles file1 file2

The empty string is the title the window will get. If you don't put it behind 'start /B /wait "" ' the output will still be displayed in the command shell but this is only a (rather sophisticated) helping hack. Also, ERRORLEVEL can't be returned this way.

The general rule for command lines is, that the first blank will separate the pathname of the exe from the arguments. So, if you have a pathname with blanks in it you must put it into double quotes. To specify a double-quote you must double it.

A pathname is then followed by `Arguments` and `Options`. Options can be specified anywhere on the command line up to the end.

Arguments can be given in the form
Name1:Value1 Name2:"Value with blanks" ...

'Value' specifies either a text delimited by a blank or double-quoted one like in Windows' DOS system. For example
/Name:"A ""B"" C"    will be received as one string of content    A "B" C   .

Boolean arguments accept a lot of notations like no, yes, n, y, false, true, off, on, 0, 1 aso. If a translation is active additionally in this language. To achieve worldwide compatibility it is advisable to always use the English words.

Number and date arguments should be specified in the current regional format (if not especially mentioned that dual-language is supported) and they understand also additional notations (so called `Mighty Notations`) like "January 2018". Check out 'DateTime Calculator' for more.

Example of a call: "Mighty Desktop.exe" CleanDuplicates FolderToClean:"C:\My Folder" IntoDepth:Yes

Options must be specified as "/Name1:Value1" or "/Name2".

If boolean values behind the name are omitted (as in "/Name2") they will be assumed as 'true'.

The possible arguments and options are listed in the file 'Command Line Help.txt' besides Mighty Desktop.exe or when you specify the option "/?". It uses EBNF notation: All the parts in brackets "[..]" are optional, parts in curly braces "{..}" can be repeated zero or multiple times.

Argument and option names are usually not case-sensitive but there can be exceptions.

Many commands support the option "/StayBefore". This means all the arguments are inserted into the dialog and then the UI is displayed but the processing is not yet started. This is very useful to see what input would have been processed.

Sometimes the option "/Q" (Quiet) is provided. This will suppress asking dialogs before the processing is started, and also the displaying of popups with the result at the end. This is perfectly suited to be used in command files.

Some commands support the option “/S” (Subdirectories) which will trigger applying the command to all files inside the specified folder, or if a pattern like “\Folder\*.txt” is specified, it is applied to all text files in ‘Folder’ and its subfolders.

Every non specified argument resp. option will be the used as in the last interactive run.

If the processing throws an exception they are logged in detail in the directory "%appdata%\Atlas Informatik\Mighty Desktop" and the app ends with ERRORLEVEL 1.

Note that the Command Line window integrated in Windows (cmd.exe) has some buggy behavior in conjunction with processing the sequence \" (escaped double quote).
Special functions

Note that a rename of a file or folder in File Explorer will automatically also rename this file resp. folder live in all datagrids of Mighty Desktop, for example 'File Copier', 'File Scanner', 'File Renamer', 'File Concatenator', 'File Stamper' aso. This will avoid broken paths in their lists. You don't have to modify these lists by hand after a rename.

Some additional functions can be obtained by holding a combination of [Ctrl], [Alt] or [Shift] keys if a function is executed:
 •	All the 'Auto' functions that react automatically if something is copied to the clipboard outside of Mighty Desktop only react if neither the [Alt] nor [Shift] key is down. You can use this to temporarily copy something to the clipboard without Mighty Desktop reacting.
 •	[Alt] when minimizing the app window will send it to the tray instead of just minimizing
 •	Ctrl+Alt+Shift at the start of the app will cancel the automatic restart of processes waiting in the 'Process Queue'
 •	Ctrl+Alt+Shift at a start of the app with argument "Startup" will cancel the auto resume process
 •	Ctrl+Alt+Shift during a resume will stop opening new applications
 •	Ctrl+Alt+Shift during any function that is in progress of opening multiple applications will stop the opening
 •	Space during the waiting for a window to change its style will skip the waiting delay
 •	Ctrl at the start (Alt and Shift NOT pressed) will send Mighty Desktop directly to the Windows Tray without opening the main window, regardless of the setting in the 'Settings' tab and regardless of the "/Stay" or "/Tray" options.
 •	Ctrl+Shift during the start of the app will force a license and live tables update from the Atlas Server.
If you start the app and there appears an error message about taking a settings backup, the latest settings file seems to have been corrupted. It can happen, but very rarely. To fix this issue Mighty Desktop stores the last 10 settings files in the folder "%appdata%\Atlas Informatik\Mighty Desktop" named "Settings <n>.bak". You can just take an older one, copy it to "Settings.xml" and try out which one will work.
File Lists, Copy & Paste, Drag & Drop

Many dialogs support file and folder lists in a textual form. This means you can create a plain text file, for example in a plain text editor like NotePad, or much better in the freeware Notepad++, and write multiple pathnames in it, each pathname on a line. Empty lines are ignored. Or you can select multiple rows in a datagrid and drag these to your text editor. Such a list can also be inserted in another datagrid by pasting or dropping. That can be used to save hand picked compilations of pathnames to be used later on repeatedly.

Mighty Desktop's Advanced Copy&Paste System puts an extended XML description of the copied rows on the clipboard as well as just a simple textual one. In case of a paste or drop it tries to extract data primarily out of the XML or else out of the textual description. For example you can copy a folder item in the Atlas app Multimedia Xpert and paste it in the 'File Scanner' tab. Since the tab knows that it can only accept files it will automatically scan the folder for files and add these to the list.

Take note of another goodie: If you are dropping Windows Desktop shortcuts into a file list where it doesn't make sense to have shortcuts in, Mighty Desktop will automatically resolve the shortcuts and instead add the targets. To give you an example: If you are in File Concatenator it makes no sense to add a shortcut. Nobody in the world would ever concatenate shortcuts. So Mighty Desktop assumes that you want to concatenate the files referenced by the shortcuts and adds these.

Another example where File Lists can be useful: Consider the case that you have converted a bunch of files to another data format with another extension, eg. *.avi to *.mp4. Now you have decided that the new files are good and you want to delete the old ones. The problem arises if these files are just a small subset of hundreds of files in the folder. How do you solve this? Up to now you had to select each one manually by Ctrl-Click, but this is prone with errors and boring too. Just copy the file list using the datagrid's row function "Copy", paste it in Notepad++, replace the extensions by a global replace, paste it in 'File Renamer' and click the "Trash selected" button. Easy, fast, robust, accurate.

Or, maybe you would like to get a list of some files with absolute paths in your text editor? Select them in File Explorer, Drag & Drop them in the 'File Scanner' datagrid, select the first row, Ctrl-A to select all and Ctrl-C to copy. Done.

Notes:
 •	Windows doesn't allow Drag & Drop between applications running in Admin mode and those not. For example you can't drag something from Windows Desktop to Mighty Desktop when Mighty Desktop is running in Admin mode. So, if the drop shows a minus icon this could be one of the reasons. Regarding the boot start you can configure whether Mighty Desktop is started in admin or user mode. We recommend in admin mode so that all functions can be executed unrestricted.
File Overwrite management
In the case where a destination file is already there you will get a comfortable dialog with several options. The standard with overwrite and abort is the usual, but you can also
 ◦	modify the proposed name
 ◦	let it automatically append a new running number " (n)" at the end
 ◦	skip all overwrites of the same pass, provided the files have the same length. This can greatly speed up a repeated transfer of many files if only a few source files have been changed. But it is important to know that it can fail if two files have the same length but are different.
Log Panel

The Log panel has some tricks in its sleeve too:
 •	Scans the output text for words like "Error", "Warning", "failed", "Problem" and also in their localized translations and paints it red or orange to draw attention.
 •	You can double click on a pathname and the log will open the corresponding file or folder. In case the automatic detection fails you can select a part of the text, right-click it and trigger the function "Start Selection". If the pathname is followed by a line and/or column number it will always be opened in the text editor you configured in the settings. In all other cases it will be run by the corresponding program. Example: An html file will be shown in the browser. But you can force the opening in your text editor by holding down [Shift]. 
 •	You can let a pathname (file or folder) be shown in a new File Explorer window in a similar way as the above described starting resp. activation of the pathname resp. selection. The menu item is "Explore Selection".
 •	Use Alt-double-click to select a word.
 •	Always Show End: The log will scroll to the last line if a new line is added
 •	Click in the first pixels of a line to go into line selection mode
 •	You can copy out any text.

Determining the path of a saved game state

As a gamer of PC games, one would like to have more control over the saved game states (SaveGame folder). This offers some advantages:

 •	Transferring the savegame to another machine, so that you can continue playing
 •	Protection against bugs in the game: I got more than once the savegame destroyed during a game update, or at least reset to an earlier time. Frustrating.
 •	Protection against drive problems and viruses: In between, and anyway before uninstalling a game, it makes sense to save the game state to a backup drive. This way, you won't lose the many days of "work" you invested before. Unfortunately, there are many reasons for this, for example drive problems or virus attacks (think of the WannyCry virus, which encrypts all data). Furthermore, it can happen that you get withdrawal symptoms from the game after a longer time and you want to play the game or special scenes again. If you have a backup, you can simply reinstall the game, copy the savegame into it and all scenes are selectable. One more tip: If you haven't saved any savegames yet, there are still savegames from other people on the net.
 •	If a game doesn't offer any save options, or only those with a too long intermediate part: Then you have to repeat scenes all the time, which you would consider as "completed". This can be really annoying. You can help by saving your progress by backing up the savegame folder and copying it back after a game over.
 •	If you decimate your hard-earned game currency by a too difficult passage. Just restore the backup and try again. Yes, of course, it's a cheat, but hey, the game is supposed to be fun, not punish the player with excessive money withdrawal. All games connected with real money prevent this anyway. So for the others it's ok. 

But where is the game state actually stored? This is specific to each game and user and therefore can't be easily looked up on the internet. Usually it is a single folder, which in turn contains a few files and subfolders. But how to find out the path? Without a plan it is not that easy. It can be anywhere, in the whole hierarchy of thousands of folders, and practically all games have different systematics.

Mighty Desktop has several ways to locate the game state folder:

 •	The easiest is to use File Monitor:

You activate it, start the game and go to the point where the action would continue. Then you switch back to Mighty Desktop and look at the file list. There should now be a file like "XxxxSettings" or "XXXConfig".

 •	As another possibility you can use the fact that every save of the game state must lead to newer access stamps. So you go into the game, and make a little progress. Then you leave it again (quit it). Next, you switch to Mighty Desktop and the Folder Analyzer tab, and run it over the whole drive. To increase efficiency, you could also run only the user directory %USERPROFILE% first. Starting with Mighty Desktop version 1.3, this is already predefined as an entry in the left pop-up menu of 'Folder'.

Then click on the head of the column 'Modification time of the newest file' so that the arrow points downwards. Now you have the most recently changed files at the top of the list. For some games, the SaveGame folder is not located there (contrary to the Windows standard), so it can't be found. Then you have to scan the whole drive.

In the end, you will find the folder with these methods in any case (if there is one). 
General considerations

If you alter the program language in the Settings, the names of the default items like actions, application states, icon position sets aso. will change their names to the localized version. In addition some file names can change. But it will not change the input format of numbers, date or times. These are controlled by the 'Region' control panel of Windows. Note that the functions added to File Explorer will only change their language after File Explorer (explorer.exe) was restarted. There is a button in the 'Desktop' tab that can do that, or else a restart of the PC will do.

Whenever you see an error message like "...no access...", "NoAcc" or "N/A" in Mighty Desktop it could be because it has not enough privileges. You can try to restart Mighty Desktop in Administrator mode and check if it works then. There is a button in the About tab to simplify this.

Mighty Desktop uses a lot of rarely used functions of Windows (Win32 API). These functions are plagued with bugs that were never corrected up to now. Some of the problem cases are WPF's 'FlowDocument', basic dialogs, the clipboard, the handling of images in general, network connections and hardware drivers. You will recognize 'FlowDocument' issues if you try to copy formatted text like RTF to the clipboard. Another point is that up to Windows 7 the task processing library of .NET had some flaws. If you can’t stop a running task by pushing the ‘Stop’ button try upgrading to a higher Windows version. Since Windows and .NET aren't Open Source I can't repair it, I can just catch the exceptions, and sometimes not even that (:<). Sorry, that's not Mighty Desktop's fault. It remains a constant source of problems that newer versions of Mighty Desktop will have to deal with and I had and will have to program around.

Foreign File Systems: If you enter paths to non-Windows file systems like Linux there are issues with the letter casing (capital or lowercase). Windows doesn't make a difference but these systems do. For example you could have a file "x" and a file "X" in the same folder. Because there is an information loss on the Windows side the drivers for foreign file systems have a very hard task. For example the Samba file system driver for the Dreambox/VU+ has multiple strange issues in that department. All Atlas applications contain complicated code to correct some of the problems. For example if you type a pathname in different casing, Atlas apps will automatically correct that as long as only one version of the name is present. This will improve the user experience greatly and also cure some non-understandable errors but can also reduce the efficiency. But in my opinion it is worth it.

Universal Windows Platform (UWP) apps: Windows 10 starts making use of a lot of the universal application apps. This means that many preinstalled apps like Microsoft Edge can’t just be started by executing an exe file. So the saving and re-executing of such applications’ states is severely limited. Mighty Desktop will make a try to include them in future versions. But it will take some time to figure that out.

Mighty Desktop is a highly complex application. It's sometimes hard to find the cause of something that doesn't seem right. For example if you start to experience longer delays on the UI or Mighty Desktop is not showing up at the start for some seconds, don't blame it. Try these things first:
 •	If pathnames in any lists of tabs like 'Watchdog' point to a not-connected network drive, IP addresses can't be resolved or internet is not available, a considerable startup delay can occur. This is because Windows is asking drives to spin up and waits for the answer. During this time the Windows UI is not well responsive.
 •	A common cause is too much data in the settings. For example try to clear big history lists by opening dropdown boxes and pressing [Ctrl][Delete] and also by switching to the 'Settings' tab and using the specially provided clear buttons. Also, some huge datagrids in 'File Copier', 'File Renamer', 'Folder Analyzer', 'String Hunter', 'Processing Results', the 'Log' aso. can put a heavy burden on Mighty Desktop. What's more you can change the maximum remembered items of history lists in the 'Settings' to a lower value.
 •	Examine the entries of all tabs that manage repeatedly executed tasks (eg. WindowBot, Watchdog, Scheduler aso.). A common cause is that there are too many expensive tasks (hard to calculate). That can result in delays. Try deactivating some of them or just switching them off temporarily. Use the provided 'Enabled' switches to do that.
 •	Try switching off constantly updating stuff like 'File Monitor', 'Clipboard Recorder' aso.
 •	Some tasks on remote drives can take a lot of time in Windows. For example if you scroll through a file list with files of a remote drive, the fetching of the icons can slow down the scrolling considerably.
 •	Some third party applications are, how to say that, not well programmed. If Mighty Desktop is asking them for their window title I noticed that some of them took several seconds to answer. This indicates that a long running task inside the application is performed without servicing the Windows Message Queue. Multitasking programming is one of the hardest things to do in software development, it is understandable that such delays can occur in some programs. Nevertheless the authors should think about embedding more calls to the system in long running loops. For example Atlas apps check repeatedly whether [Ctrl-Break] or [Pause] is pressed.

If icons of files or apps seem missing at first glance please note that Windows doesn't cache icons as it should, as for example Mac OS does, but instead fetches each one from the executable again and again. Because this is very slow, especially on network drives, in Mighty Desktop this had to be implemented as a background task. If many operations are synchronously running there will be no time left to load and display icons. Another reason can be that the file is not accessible with the rights of the current user. Try restarting Mighty Desktop in admin mode (see 'About' tab).

One more tip: At many locations you can switch on a field, checkbox or option named 'Verbose'. The corresponding process resp. task will then write detailed status messages to the 'Log' panel. This can help solve problems but it is also slowing down the speed.

Another point: There are basically millions of applications on the market. I can only test Mighty Desktop with a very tiny subset side by side. If something doesn't work as expected, please think first sharply what could be wrong with the input you entered or your other apps and only then send a feedback by the button in the About tab or by mail with the precise info about the application including as much details as possible:
 •	Name of other app
 •	Version number of other app
 •	32 or 64 bit
 •	Windows version
 •	What did go wrong
 •	What result did you expect
 •	Other Info that could help.
Then I will have a chance to fix it by installing the mentioned application on my computer and analyze it.

If your operating system is very old there can be some backward compatibility issues. Please try first updating your OS and install Windows Update patches and try again.

In any case, be patient! Thanks for your understanding and support.
Localization / Translation

Mighty Desktop is one of only a few apps on the market that can be fully translated on the user's side without any program changes. The main application is programmed in US English. Adding another language is as easy as adding an additional textual translation file beside the exe file, nothing more. Sounds easy at first but consider that for example if labels that are aligned vertically change their width and everything right of it must rearrange. Something like that was only possible with the flexibility of the new WPF technology. The feature of 100% translation on the customer side without any adjustment of the layout could maybe be a unique feature in the whole world, only available to Atlas software.

We would appreciate if you help us by creating a translation for your language if it's not there. It's as simple as opening the text file 'AppTranslation_xx.txt' in the app's program folder, duplicating it, setting 'xx' to your ISO language code (eg. either 'fr' or 'fr-FR') and translating the lower line of each pair. Please ask us beforehand whether we have this version already and then send this file to our e-mail address. You will get a free lifelong license and a mention in the ReadMe! Thanks in advance!

Note that in some areas of Mighty Desktop regional and US English words can be used side by side. For example if you enter language specific timespans in Scheduler and switch the application's language to another one, the regional words can't be interpreted anymore. In these cases it's advised to enter the timespans in US English. Later, if you switch back to the regional culture they can still be read. Briefly: US language timespans can be interpreted in both cultures but regional ones only when the app is switched to the concerned	 region.
Quality

As always Atlas Informatik commits to highest quality standards to provide The Atlas Xperience™, a software standard far above the average:

 •	Widespread Drag & Drop support, even in data grids (note that Windows doesn't let you drag & drop between programs of different privilege levels)
 •	File Explorer integration: The possibility to call functions directly from within File Explorer resp. the Windows Desktop by right clicking and on the other hand opening a File Explorer window on any pathname.
 •	Popup functions on path boxes to insert a file or folder's path. Note that you can hold [Shift] to insert the path without quote characters.
 •	File system scanning operations are done directly by Windows-Calls instead of .NET Framework's which makes them quicker by a factor of more than 20 compared to common .NET programs
 •	Lots of sophisticated checks are built in to discover input errors at the earliest point in time. For example all datagrids will be checked for duplicates and the letter case is updated according to the one that the file has.
 •	Resizable and zoomable windows wherever it is useful
 •	File operations with retry boxes in case a file is in use by another process
 •	Some file operations will automatically reconnect network drives that were disconnected by Windows or driver faults
 •	Saved inputs, even between closing and reopening the app. This includes also window sizes, zoom factors, datagrid column configurations and more.
 •	Multi-monitor awareness: Opened windows that are partially outside the monitor are automatically brought back. This works correctly even if you have multiple monitors of different resolutions joined to one big area. The monitor where the app was started from is the home monitor. Especially useful for presenters, and also when saved window states of another monitor configuration are reused.
 •	A clear and easily understandable UI that tries to join the user's thinking and presents him all functions that could be useful. Usable with the fewest keystrokes and clicks possible.
 •	A lot of tooltips everywhere which make the software intuitively usable and explain goodies
 •	Log output that makes the program's logic understandable and can be reviewed later on
 •	Far above average amount of meaningful error messages that explain in an understandable way why something could not be done
 •	Displayed output text wherever can be copied to the clipboard
 •	Tables that are downloaded from our server, improved on a daily basis
 •	Automatic update delivery system in the background, no manual checks necessary
 •	Online web pages with lots of informations
 •	Use of the most advanced programming language, most advanced UI technology and most advanced architecture scheme MVVM (C#, WPF, MVVM)
 •	Unit tested, failure proof and robust programming wherever possible, a software you can rely on
 •	Updates with new features and fixes over a long period of time
 •	Bug sending system (if you agree)
 •	Written by a long time professional, a certified senior software engineer of the highest degree.

See more at https://www.atlas-informatik.ch/theAtlasXperience.html
Support

If Mighty Desktop saved you a ton of time in your daily routine and you would like to have more functions and a bigger chance to get bugs fixed, please write me a message by the Feedback button in the About tab and/or kindly make a donation at https://www.atlas-informatik.ch/zahlung.html. We appreciate any donation, no matter how small, and are we are a great supporter of any cryptocurrencies!

Support for problems with Mighty Desktop can be found at  https://www.atlas-informatik.ch/mightyDesktop/support.html, for all Atlas applications in general at https://www.atlas-informatik.ch/support/support.html.
Disclaimer

Please note that Mighty Desktop is constantly evolving and it's a huge and complex program which means it needs a lot of testing which takes a lot of time. Please be aware that there can and will be bugs and that you are using it on your own risk. But it's definitively worth it.

We would like to say many thanks to these very useful open source projects:

 •	Bouncy Castle Cryptography API
(https://www.bouncycastle.org/csharp/)
 •	NLog Project (https://nlog-project.org/)
 •	7-Zip (https://7-zip.org/)
 •	SharpShell ( https://github.com/dwmkerr/sharpshell )
 •	Thanks to the great graphics artists which gave us the permission to use their beautiful icons/graphics:
 ◦	https://www.creativefreedom.co.uk
 ◦	https://www.doublejdesign.co.uk
 ◦	http://www.fatcow.com/free-icons
 ◦	http://glyphish.com (Joseph Wain)
 ◦	https://icons8.com
 ◦	https://www.virtuallnk.com
 ◦	https://www.visualpharm.com
 ◦	https://p.yusukekamiyamane.com
 ◦	Led24.de
Some graphics were used unmodified, some were edited.
 •	Parts of this product are governed by "The Code Project Open License (CPOL) 1.02" at https://www.codeproject.com/info/cpol10.aspx
 •	Parts of this product are governed by "Microsoft Public License (MS-PL)" at https://opensource.org/licenses/MS-PL

Recommended video player (Open Source):
 •	VLC Media Player (https://www.videolan.org/vlc/)

Recommended Subtitle Downloader and Synchronizer:
 •	Atlas Subtitler (https://www.atlas-informatik.ch/subtitler)

Recommended Video/Audio/Subtitle Processing Program:
 •	Multimedia Xpert (https://www.atlas-informatik.ch/multimediaXpert)

Recommended plain text editor:
 •	Notepad++ (https://notepad-plus-plus.org/)

Recommended plain text merge tool:
 •	WinMerge (https://winmerge.org/)

Recommended PGP processing tool (Open Source):
 •	GnuPG (https://gnupg.org/)

Recommended Browser because open source and community based:
 •	Mozilla Firefox (https://www.mozilla.org/firefox)

Recommended E-Mail-Program because open source, community based and with integrated PGP encryption:
 •	Mozilla Thunderbird (https://www.thunderbird.net)

That's all folks. Now have fun with Mighty Desktop!

Andres Rohr
Certified Senior Software Engineer ETH
Atlas Informatik

Contact: mail [at] atlas-informatik.ch
WebSite: https://www.atlas-informatik.ch/mightyDesktop