Dual Monitor Tools
Silent install package for Dual Monitor Tools
2.13-1
System and network
System and network
Preprod packages are packages built on LUTI.
They remain in PREPROD usually for 5 days, after which a second VirusTotal scan is performed to verify that the status has not changed.
If the package passes this last check, it is promoted to PROD and published on the store.
- package: tis-dual-monitor-tools
- name: Dual Monitor Tools
- version: 2.13-1
- categories: System and network
- maintainer: WAPT Team,Tranquil IT,
- licence: opensource_free,wapt_public
- target_os: windows
- architecture: all
- signature_date:
- size: 753.78 Ko
- homepage : https://sourceforge.net/projects/dualmonitortool/files/dualmonitortool/
package : tis-dual-monitor-tools
version : 2.13-1
architecture : all
section : base
priority : optional
name : Dual Monitor Tools
categories : System and network
maintainer : WAPT Team,Tranquil IT,
description : Tools for Windows users with two or more monitors. Includes keyboard shortcuts for moving windows, restricting mouse/cursor movement between screens, an application launcher, a wallpaper creator and changer, and a screen capture tool
depends :
conflicts :
maturity : PREPROD
locale :
target_os : windows
min_wapt_version : 2.3
sources :
installed_size :
impacted_process :
description_fr : Outils pour les utilisateurs Windows avec deux ou plusieurs moniteurs. Comprend des raccourcis clavier pour déplacer les fenêtres, restreindre le mouvement de la souris/du curseur entre les écrans, un lanceur d'applications, un créateur et un changeur de fond d'écran et un outil de capture d'écran
description_pl : Narzędzia dla użytkowników systemu Windows z dwoma lub więcej monitorami. Zawiera skróty klawiaturowe do przenoszenia okien, ograniczania ruchu myszy/kursora między ekranami, uruchamiania aplikacji, tworzenia i zmiany tapet oraz narzędzie do przechwytywania ekranu
description_de : Tools für Windows-Benutzer mit zwei oder mehr Monitoren. Enthält Tastenkombinationen zum Verschieben von Fenstern, zum Einschränken der Maus-/Cursorbewegung zwischen den Bildschirmen, einen Anwendungsstarter, einen Hintergrundbild-Ersteller und -Wechsler sowie ein Screenshot-Tool
description_es : Herramientas para usuarios de Windows con dos o más monitores. Incluye atajos de teclado para mover ventanas, restringir el movimiento del ratón/cursor entre pantallas, un lanzador de aplicaciones, un creador y cambiador de fondos de escritorio y una herramienta de captura de pantalla
description_pt : Ferramentas para utilizadores do Windows com dois ou mais monitores. Inclui atalhos de teclado para mover janelas, restringir o movimento do rato/cursor entre ecrãs, um lançador de aplicações, um criador e alterador de papel de parede e uma ferramenta de captura de ecrã
description_it : Strumenti per utenti Windows con due o più monitor. Include scorciatoie da tastiera per spostare le finestre, limitare il movimento del mouse/cursore tra gli schermi, un lanciatore di applicazioni, un creatore e modificatore di sfondi e uno strumento di cattura dello schermo
description_nl : Hulpmiddelen voor Windows-gebruikers met twee of meer monitoren. Bevat sneltoetsen voor het verplaatsen van vensters, het beperken van muis/cursorbewegingen tussen schermen, een applicatie launcher, een wallpaper maker en wisselaar, en een screen capture tool
description_ru : Инструмент для пользователей Windows с двумя и более мониторами. Включает сочетания клавиш для перемещения окон, ограничения перемещения мыши/курсора между экранами, программу запуска приложений, программу создания и смены обоев, а также инструмент для захвата экрана
audit_schedule :
editor :
keywords :
licence : opensource_free,wapt_public
homepage : https://sourceforge.net/projects/dualmonitortool/files/dualmonitortool/
package_uuid : e5b0a594-da6d-4e49-a16a-dd1d30342675
valid_from :
valid_until :
forced_install_on :
changelog :
min_os_version :
max_os_version :
icon_sha256sum : 2aa85f123ae73bebbe745929bc9841ba20b525a8835ce874672aee61efdda09a
signer : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date : 2026-09-21T09:36:18.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature : hR6hJWfqwhuwlNX84Dkz9PI/+nmquVya0U2VypEF41tvgM7dKKI2lvDVFnimuP2cxX1R9JaTfxJvZBo+DdTZeF6vqOI3Vxhxm67g4jzJOki35haYkuO4cSNsjdf5Qv/EDza9OO9ssgNAvdCWqjxVkMEAXv+9P8K3+gMC6/L/aQ9JM60KR8Afe8j03hjMDcCQb3znwkyUxrgIuNtxu0ZQr6mdQ6U3yibSMUE7h30KDscWiQKO61reH2A8QNk1olpbouQKuyHawLEuMOGKGM1F3PuvyLv+dyNG4StA90msl2fR2KS9cY2nRJ6JtTccCZ45Nb9uIHvttRbP/PF8SdzF2A==
# -*- coding: utf-8 -*-
from setuphelpers import *
r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()
"""
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
def install():
# Declaring local variables
bin_name = glob.glob('DualMonitorTools-*.msi')[0]
# Installing the software
install_msi_if_needed(bin_name)
# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
import requests
def update_package():
# Déclaration des variables locales
package_updated = False
proxies = get_proxies_from_wapt_console()
if not proxies:
proxies = get_proxies()
arch_dict = {
"windows":".msi",
}
url = "https://sourceforge.net/projects/dualmonitortool/files/dualmonitortool/"
response = requests.get(url)
headers = bs_find_all(url,"th","headers")
if headers:
first_header = headers[0]
a_tag = first_header.find("a")
if a_tag:
first_link = a_tag['href']
version = first_link.split('/')[-2]
print(f"First version found: {version}")
# Trouver tous les éléments <tr> avec la classe file et le titre correspondant à la version
requet = requests.get(url + version).text
rows = bs_find_all(requet, "tr", class_name="file")
target_title = f"DualMonitorTools-{version}{arch_dict[control.target_os]}"
download_link = None
for row in rows:
if row.get('title') == target_title:
a_tag = row.find("a", title=f"Click to download {target_title}")
if a_tag:
download_link = a_tag['href']
break
if download_link:
print(f"Download link found: {download_link}")
latest_bin = target_title
download_url = download_link
# Downloading latest binaries
print("Download URL is: %s" % download_url)
if not isfile(latest_bin):
print("Downloading: %s" % latest_bin)
wget(download_url, latest_bin,proxies=proxies)
else:
print("Binary is present: %s" % latest_bin)
# Changing version of the package
if Version(version, 4) > Version(control.get_software_version(), 4):
print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
package_updated = True
else:
print("Software version up-to-date (%s)" % Version(version))
control.set_software_version(version)
control.save_control_to_wapt()
# Validating update-package-sources
return package_updated
# # Changing version of the package and validating update-package-sources
# return complete_control_version(control, version)
7a68c711bf427ad9e7c92f7c277359612df596ddef90585ce5b08353ff303254 : DualMonitorTools-2.13.msi
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
1134c9119fea9dcf895fdc234372ccc25cdb4bd271499d3cf1eeb23940162f12 : WAPT/control
2aa85f123ae73bebbe745929bc9841ba20b525a8835ce874672aee61efdda09a : WAPT/icon.png
9a40e8b876ebaff19f5fd6d1987a75ba516314aec677e63857f2be5fed66a60e : luti.json
d5b91636cc44dbff496577dad93e287501bbc1f23759d87959b76a524346aae1 : setup.py
6b715e7f3cbb9a5d8816fb9eaac1cc081d1f4c1c44c80649904abe12c0797df8 : update_package.py