Advertisement
marioq

mywmctrl

Nov 7th, 2017
290
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.33 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. FIND_THIS="$1"
  4. if [ -z "$FIND_THIS" ] ; then
  5.     echo "Argomento mancante"
  6.     exit 1
  7. fi
  8.  
  9. TIME_OUT=45
  10. TIME_START=$(date +"%s")
  11. TIME_END=$TIME_START
  12. SHOW_TIME=0
  13.  
  14. INFO="Attendo l'apertura di una finesta \"$FIND_THIS\" per $TIME_OUT secondi "
  15. # INFO=""
  16.  
  17. # Window ID
  18. WID=""
  19. wid(){
  20.     WID="$(wmctrl -lx | grep -m 1 -i "$FIND_THIS" | awk '{print $1}')"
  21.     echo "$WID"
  22. }
  23.  
  24. while [ -z "$WID" ] ; do
  25.     WID="$(wid)"
  26.     if [ ! -z "$WID" ]; then
  27.         sleep 1.5
  28.         # test
  29.         TEST_WID="$(wid)"
  30.         if [ "$TEST_WID" != "$WID" ]; then
  31.             unset WID
  32.         fi
  33.     fi
  34.     sleep 0.3399
  35.     TIME_END=$(date +"%s")
  36.     TIME_DIFF=$(($TIME_END-$TIME_START))
  37.     if [ $TIME_DIFF -ge $TIME_OUT ]; then
  38.         echo -e "\\n$TIME_DIFF secondi. Tempo di attesa esaurito"
  39.         exit 1
  40.     elif [ ! -z "$INFO" ]; then
  41.         if [ -z "$WID" ]; then
  42.             echo $INFO
  43.             INFO=""
  44.         fi
  45.     elif [ $SHOW_TIME -lt $TIME_DIFF ]; then
  46.         if [ -z "$WID" ]; then
  47.             echo -n "-$TIME_DIFF"
  48.         fi
  49.         SHOW_TIME=$TIME_DIFF
  50.     fi
  51. done
  52.  
  53. x=`xrandr -q | grep "*" | awk '{print $1}' | awk -Fx '{print $1}'`
  54. y=`xrandr -q | grep "*" | awk '{print $1}' | awk -Fx '{print $2}'`
  55.  
  56. if [ -z "$x" -o -z "$y" ]; then
  57.     WIDx=970
  58.     WIDy=620
  59. else
  60.     WIDx=`echo ".75 * $x / 01 + 10" | bc`
  61.     WIDy=`echo ".75 * $y / 01" | bc`
  62.     WIDy=`echo "$y / 2 + 100" | bc`
  63. fi
  64.  
  65. # echo -e "\n----"
  66. # echo x=$x
  67. # echo y=$y
  68. # echo WIDx=$WIDx
  69. # echo WIDy=$WIDy
  70. # echo WID="$WID"
  71. # echo TEST_WID="$TEST_WID"
  72. # echo ----
  73.  
  74. WMCTRL="wmctrl -ir"
  75. WMCTRLerror=0
  76.  
  77. $WMCTRL $WID -b remove,fullscreen ; WMCTRLerror=`expr $WMCTRLerror + $?` #-v ; echo -- $? --
  78. $WMCTRL $WID -b remove,maximized_vert ; WMCTRLerror=`expr $WMCTRLerror + $?` #-v ; echo -- $? --
  79. $WMCTRL $WID -b remove,maximized_horz ; WMCTRLerror=`expr $WMCTRLerror + $?` #-v ; echo -- $? --
  80. $WMCTRL $WID -e 0,65,45,$WIDx,$WIDy ; WMCTRLerror=`expr $WMCTRLerror + $?` #-v ; echo -- $? --
  81. # $WMCTRL $WID -R $WID ; WMCTRLerror=`expr $WMCTRLerror + $?` #-v ; echo -- $? --
  82. wmctrl -iR $WID ; WMCTRLerror=`expr $WMCTRLerror + $?` #-v ; echo -- $? --
  83. # $WMCTRL $WID -b add,maximized_horz ; WMCTRLerror=`expr $WMCTRLerror + $?` #-v ; echo -- $? --
  84. # $WMCTRL $WID -b toggle,shaded ; WMCTRLerror=`expr $WMCTRLerror + $?` #-v ; echo -- $? --
  85. # wmctrl -k on
  86.  
  87. if [ $WMCTRLerror -eq 0 ]; then
  88.     echo -e "\n finestra \"$FIND_THIS\" gestita "
  89. else
  90.     echo -e "\nQualche problema?? WMCTRLerror=$WMCTRLerror"
  91. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement