
Dual Monitor Tools
Paquet d’installation silencieuse pour Dual Monitor Tools
2.12-1
- package: tis-dual-monitor-tools
- name: Dual Monitor Tools
- version: 2.12-1
- categories: System and network
- maintainer: WAPT Team,Tranquil IT,
- licence: opensource_free,wapt_public
- target_os: windows
- architecture: all
- signature_date:
- size: 729.39 Ko
- homepage : https://sourceforge.net/projects/dualmonitortool/files/dualmonitortool/
package : tis-dual-monitor-tools
version : 2.12-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 : PROD
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 : 269bc9c3-3ada-49fd-9f39-d256c91767e2
valid_from :
valid_until :
forced_install_on :
changelog :
min_os_version :
max_os_version :
icon_sha256sum : 2aa85f123ae73bebbe745929bc9841ba20b525a8835ce874672aee61efdda09a
signer : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date : 2025-08-29T09:00:21.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 : t9kZ7gLn61KUJ0WCnV2rFaqu58KRn/Tx2lX5xo9EcyBJULU+ds/e5Ad28mEedux8VNFZt7+276y8aOqkgql+UtPopUzp2TBRz7yha6GbEtbn/AFYsG1l25IAnFmw8YIJ8lf70rsqws2oOWLbbnq106CR4uQrpWAveTJWyMDKJPuC+wCU1dxH/4S1RPitbcFp3SHYIi6Fa+yiU5tpFQu4QrJ8l0YoaLOwA+EIKysR48skYJ3GfuBeZWwEDfAnODjl322AQDqM8BXiJVTeb5nvxXakAifqG/keeurMfZlschZK8TzIqZk1cmvGQUP8mexqz8jqwj6u/WuOOOLY/53rFg==
# -*- 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)
382db114fcb9a7e64f712d458ae06eeb657c3f998ec3aca0826407fc80d127df : DualMonitorTools-2.12.msi
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
c390b9c35da627f6ddf74ec0b693cb24ff4b696bfca727c477bfbc4035b853d6 : WAPT/control
2aa85f123ae73bebbe745929bc9841ba20b525a8835ce874672aee61efdda09a : WAPT/icon.png
8c2db337ab89b62d646e995e40b8d5b7ce7f186c2043462209108909db156d36 : luti.json
d5b91636cc44dbff496577dad93e287501bbc1f23759d87959b76a524346aae1 : setup.py
6b715e7f3cbb9a5d8816fb9eaac1cc081d1f4c1c44c80649904abe12c0797df8 : update_package.py