[Bureau 1.2.3.4] associer 1 appli par bureau

Questions et astuces concernant l'installation et la configuration d'archlinux
Avatar de l’utilisateur
banditblue
Elfe
Messages : 617
Inscription : dim. 10 janv. 2010, 10:19

[Bureau 1.2.3.4] associer 1 appli par bureau

Message par banditblue »

Salut la team,

Je souhaite appliquer un script au démarrage afin de lancer une (ou des) application(s) dans un des 4 bureaux, afin de ne pas les avoirs tous sur le 1er.

Comment écrire ce script ?
La connaîssance n'a pas de limite.
Mais sa valeur, est d'autant plus grande, une fois partagé
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17529
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Bureau 1.2.3.4] associer 1 appli par bureau

Message par benjarobin »

Bonjour,
Quel bureau parles tu (KDE, Gnome, ...) ?
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
banditblue
Elfe
Messages : 617
Inscription : dim. 10 janv. 2010, 10:19

Re: [Bureau 1.2.3.4] associer 1 appli par bureau

Message par banditblue »

En parlant de bureau me suis mal exprimé, c'est le gestionnaire de fenêtre compiz
il y a 4 fenêtres et c'est dans l'un d'entre eux que je voudrais déplacer l'application lancé au démarrage
La connaîssance n'a pas de limite.
Mais sa valeur, est d'autant plus grande, une fois partagé
Avatar de l’utilisateur
dmganges
Hankyu
Messages : 27
Inscription : ven. 04 nov. 2022, 03:22

Re: [Bureau 1.2.3.4] associer 1 appli par bureau

Message par dmganges »

Bonjour,

J'utilise le paquet xdotool mais en Xfce, je ne connais pas compiz
A toutes fins utiles :

Il y a pas mal de possibilités :

Code : Tout sélectionner

Available commands:
  getactivewindow
  getwindowfocus
  getwindowname
  getwindowclassname
  getwindowpid
  getwindowgeometry
  getdisplaygeometry
  search
  selectwindow
  help
  version
  behave
  behave_screen_edge
  click
  getmouselocation
  key
  keydown
  keyup
  mousedown
  mousemove
  mousemove_relative
  mouseup
  set_window
  type
  windowactivate
  windowfocus
  windowkill
  windowclose
  windowquit
  windowmap
  windowminimize
  windowmove
  windowraise
  windowreparent
  windowsize
  windowstate
  windowunmap
  set_num_desktops
  get_num_desktops
  set_desktop
  get_desktop
  set_desktop_for_window
  get_desktop_for_window
  get_desktop_viewport
  set_desktop_viewport
  exec
  sleep
Pour cliquer quelque part (enrouler Firefox par exemple) :

Code : Tout sélectionner

/usr/bin/xdotool mousemove $1 $2
/usr/bin/xdotool click 1
Et pour aider à gérer le pointeur de souris :

Code : Tout sélectionner

#> xdotool getmouselocation
x:561 y:760 screen:0 window:33554484
Avatar de l’utilisateur
banditblue
Elfe
Messages : 617
Inscription : dim. 10 janv. 2010, 10:19

Re: [Bureau 1.2.3.4] associer 1 appli par bureau

Message par banditblue »

merci dmganges je vais tenter de voir ce que ca donne
La connaîssance n'a pas de limite.
Mais sa valeur, est d'autant plus grande, une fois partagé
Avatar de l’utilisateur
banditblue
Elfe
Messages : 617
Inscription : dim. 10 janv. 2010, 10:19

Re: [Bureau 1.2.3.4] associer 1 appli par bureau

Message par banditblue »

est ce qu'il y à une ligne de commande pour lancer une application sur l'espace de travail que j'aurais choisi (exemple le 3eme bureau)
cette ligne de commande serait lancé au demarrage dans startx.sh (ou autre nom de mon fichier)
La connaîssance n'a pas de limite.
Mais sa valeur, est d'autant plus grande, une fois partagé
Avatar de l’utilisateur
dmganges
Hankyu
Messages : 27
Inscription : ven. 04 nov. 2022, 03:22

Re: [Bureau 1.2.3.4] associer 1 appli par bureau

Message par dmganges »

Bonjour banditblue,
Désolé je n'ai pas reçu de notification lors de ton dernier message.

Pour ta question, visiblement il y aurait les commandes :

Code : Tout sélectionner

 set_num_desktops
  get_num_desktops
  set_desktop
  get_desktop
Mais là je suis dans des environnements d'essai, j'ai du mal à tester.
J'ai fait quelques essais :

1) Sur Arch :

Code : Tout sélectionner

# xdotool getmouselocation
# https://www.onworks.net/fr/programs/xdotool-online
# https://manpages.ubuntu.com/manpages/xenial/man1/xdotool.1.html
# https://man.freebsd.org/cgi/man.cgi?query=xdotool&apropos=0&sektion=1&manpath=FreeBSD+8.1-RELEASE+and+Ports&format=html
# https://community.unix.com/t/wildcard-with-xdotool/375038/14

/usr/bin/firefox-esr -P default-esr &
sleep 3s
/usr/bin/xdotool mousemove 1841 10
/usr/bin/xdotool click 1

/usr/bin/xfce4-terminal --default-working-directory=/root/MK_Rescue/sysresccd & > /dev/null 2>&1
WID=$!                                                                                                                  
echo $WID
WID=$(xdotool selectwindow)
xdotool type "$(printf 'date')"
xdotool key "Return"

/usr/bin/xfce4-terminal --default-working-directory=/root/MK_Rescue/sysresccd & > /dev/null 2>&1
WID=$!                                                                                                                  
echo $WID
WID=$(xdotool selectwindow)
xdotool type "$(printf 'date')"
xdotool key "Return"

/usr/bin/xfce4-terminal --default-working-directory=/root/MK_Rescue/sysresccd & > /dev/null 2>&1
WID=$!                                                                                                                  
echo $WID
WID=$(xdotool selectwindow)
xdotool type "$(printf 'date')"
xdotool key "Return"
ça fonctionne sauf :
- qu'il faut faire un clic n'importe où sur l'écran, et entre chaque création de terminal, pour que le résultat de la commande xdotool type "$(printf 'date')" s'affiche
- que le premier xdotool type "$(printf 'date')" est interprété en anglais dqta :( je ne sais pas pourquoi
Mais c'est un Arch depuis un SystemRescue customisé...

2) Alors je suis passé sur un Linux Mint à peine installé, là :

Code : Tout sélectionner

# xdotool getmouselocation
# https://www.onworks.net/fr/programs/xdotool-online
# https://manpages.ubuntu.com/manpages/xenial/man1/xdotool.1.html
# https://man.freebsd.org/cgi/man.cgi?query=xdotool&apropos=0&sektion=1&manpath=FreeBSD+8.1-RELEASE+and+Ports&format=html
# https://community.unix.com/t/wildcard-with-xdotool/375038/14

/usr/bin/firefox-esr -P default-esr &
sleep 3s
/usr/bin/xdotool mousemove 1841 10
/usr/bin/xdotool click 1

/usr/bin/x-terminal-emulator & > /dev/null 2>&1
WID=$!                                                                                                                  
echo $WID
WID=$(xdotool selectwindow)
xdotool type "$(printf 'date')"
xdotool key "Return"

/usr/bin/x-terminal-emulator & > /dev/null 2>&1
WID=$!                                                                                                                  
echo $WID
WID=$(xdotool selectwindow)
xdotool type "$(printf 'date')"
xdotool key "Return"

/usr/bin/x-terminal-emulator & > /dev/null 2>&1
WID=$!                                                                                                                  
echo $WID
WID=$(xdotool selectwindow)
xdotool type "$(printf 'date')"
xdotool key "Return"
- Là le xdotool type "$(printf 'date')" est correctement interprété
- Mais même comportement il me faut faire un clic entre chaque création de terminal, pour que le résultat de la commande xdotool type "$(printf 'date')" s'affiche :(

- J'ai essayé tous les Return et sync possibles...
- J'ai parcouru le net dans tous les sens, visiblement c'est une sinécure pour faire un <Return> en xdotool !

Pour l'instant je ne peux pas en dire davantage, mais le sujet m'intéresse...
Donc si j'ai des nouvelles je reviendrai.

Désolé aussi pour les fautes, dans cet environnement non paramétré je suis corrigé en anglais :!:

Je n'ai pas l'habitude de ce forum, là je vais bien cocher Recevoir une notification lorsqu’une réponse est publiée
Pourtant :
Image
:!: :?: :!:
@+
Avatar de l’utilisateur
banditblue
Elfe
Messages : 617
Inscription : dim. 10 janv. 2010, 10:19

Re: [Bureau 1.2.3.4] associer 1 appli par bureau

Message par banditblue »

je ne comprend pas ce que tu veux me faire faire je laisse tomber cette solution
ec que je veux c'est simplement afficher une application sur un des autres espaces de travail sachant que j'en ai 4 sur lequels je peut par exemples afficher firefox sur l'espace n°2 la music sur le n°3 et ainsi de suite et ca en ligne de commande dans mon startcompiz.sh au demarrage du pc
La connaîssance n'a pas de limite.
Mais sa valeur, est d'autant plus grande, une fois partagé
avi3000
Chu Ko Nu
Messages : 405
Inscription : dim. 19 juin 2011, 18:53
Localisation : dans le neuf trois

Re: [Bureau 1.2.3.4] associer 1 appli par bureau

Message par avi3000 »

Bonjour,
Il faut écrire un script bash qui contient 2 commandes, la première pour changer de bureau, la seconde pour lancer le programme :

Code : Tout sélectionner

xdotool key "la touche qui te permet d'aller sur un bureau spécifique"
le_programme_a_lancer
Si tu utilises les touches fonction F1...F4 pour changer de bureau (cas simple) :

Code : Tout sélectionner

xdotool key F2
navigateur_internet
lancera ton navigateur internet sur le bureau 2.

Si tu utilises des touches composées du style Ctrl shift 1..4 :

Code : Tout sélectionner

xdotool key ctrl+shift+2
navigateur_internet
fera la même chose.

Si tu veux rester sur le bureau initial après avoir lancé la commande, il faut suffixer celle-ci avec "&" et lancer un second xdotool pour revenir sur le bureau initial :

Code : Tout sélectionner

xdotool key F2
navigateur_internet &
xdotool key F1
Sur certains gestionnaires de fenêtres, des "sleep" et l'option xdotool --delay seront peut-être nécessaires.

dwm et d'autres windows managers permettent d'associer un bureau à des fenêtres d'application.
Je suis sur devuan avec sysvinit et kbwm
Répondre