Как узнать, отображено ли окно X (видимо )или нет?

mv перемещает или переименовывает файлы и каталоги и создает их резервные копии; переименовать просто переименовывает файлы.

mv имеет больше возможностей и опций. Посмотрите на переключатели на справочных страницах для каждого, чтобы увидеть различия в возможностях. Давайте посмотрим, используя man в Ubuntu 18.04LTS (ваш пробег может варьироваться в зависимости от версии каждого пакета):

параметры mv (без справки и версии)

   --backup[=CONTROL]  
          make a backup of each existing destination file  

   -b     like --backup but does not accept an argument  

   -f, --force  
          do not prompt before overwriting  

   -i, --interactive  
          prompt before overwrite  

   -n, --no-clobber  
          do not overwrite an existing file  

  If you specify more than one of -i, -f, -n, only the final one takes effect.  

   --strip-trailing-slashes  
          remove any trailing slashes from each SOURCE argument  

   -S, --suffix=SUFFIX  
          override the usual backup suffix  

   -t, --target-directory=DIRECTORY  
          move all SOURCE arguments into DIRECTORY  

   -T, --no-target-directory  
          treat DEST as a normal file  

   -u, --update  
          move only when the SOURCE file is newer than the destination file or when the destination file is missing  

   -v, --verbose  
          explain what is being done  

   -Z, --context  
          set SELinux security context of destination file to default type  

параметры переименования (опуская справку и версию)

   -s, --symlink   
          Do not rename a symlink but its target.  

   -v, --verbose  
          Show which files where renamed, if any.  

   -n, --no-act  
          Do not make any changes.  

   -o, --no-overwrite  
          Do not overwrite existing files.            
0
17.04.2020, 10:04
1 ответ

В некотором смысле файлы можно рассматривать как простой способ хранения глобальных переменных, глобальных, чтобы они были видны отовсюду. Таким образом, состояние (отображено/не отображено )может быть сохранено в виде строки в файле.

Не самая изящная вещь, но этот скрипт (с именем xctl )пока должен подойти.

#!/usr/bin/env zsh

# This file serves as a global variable value holder showing if the windows are mapped or not.
state=/tmp/state

for process in ${@:1}; do
    case $1 in
        (show) xdotool search --class $process windowmap %@ windowraise %@;;
        (hide) xdotool search --onlyvisible --class $process windowunmap %@;;
        (*) break;;
    esac
done

[[ $1 == toggle ]] && {
    [[ -f $state ]] && [[ `cat $state` == show ]] && xctl hide ${@:1} || xctl show ${@:1}
} || echo $1 > $state

Чтобы переключить набор окон, запустите xctl toggle window1 window2....

Сценарий должен находиться в пути к оболочке.

0
19.03.2021, 02:28

Теги

Похожие вопросы