Назначение каталога файлов одной переменной

Xfce имеет рабочих мест/рабочих столов . Compiz, однако, имеет окон просмотра вместо рабочих мест/рабочих столов . Существует только один рабочий стол, размер которого увеличивается по мере добавления новых рабочих столов.

Xfce переключает рабочие столы, а compiz перемещает окна просмотра. В compiz части окна могут быть видны на двух гранях куба, в то время как в xfce окно всегда видно только в «своей» рабочей области (липких окон в стороне ).

Вы можете запросить количество рабочих столов с помощьюwmctrl -d:

В xfce с четырьмя рабочими столами это дает вам:

0  * DG: 1920x1080  VP: 0,0  WA: 0,0 1920x1032  Workspace 1
1  - DG: 1920x1080  VP: N/A  WA: 0,0 1920x1032  Workspace 2
2  - DG: 1920x1080  VP: N/A  WA: 0,0 1920x1032  Workspace 3
3  - DG: 1920x1080  VP: N/A  WA: 0,0 1920x1032  Workspace 4

Это говорит о том, что

  • есть четыре рабочих стола
  • каждый размером с мой экран
  • у каждого есть рабочая -область (WA )размер моего экрана
  • первый рабочий стол активен и имеет область просмотра с позицией0,0

При переходе на второй рабочий стол активный рабочий стол меняется:

0  - DG: 1920x1080  VP: N/A  WA: 0,0 1920x1032  Workspace 1
1  * DG: 1920x1080  VP: 0,0  WA: 0,0 1920x1032  Workspace 2
2  - DG: 1920x1080  VP: N/A  WA: 0,0 1920x1032  Workspace 3
3  - DG: 1920x1080  VP: N/A  WA: 0,0 1920x1032  Workspace 4

Однако после запуска compiz вы получите

0  * DG: 7680x1080  VP: 0,0  WA: 0,0 1920x1032  Workspace 1

Это говорит о том, что

  • есть только один рабочий стол
  • ширина 7680 пикселей
  • область просмотра -имеет ширину 1920 пикселей, размер моего экрана
  • рабочий стол в четыре раза шире окна просмотра
  • окно просмотра расположено в 0,0, т.е. крайний левый

При повороте ко второй грани куба окно просмотра -положение меняет свою координату x -, в то время как все остальное остается неизменным:

0  * DG: 7680x1080  VP: 1920,0  WA: 0,0 1920x1032  Workspace 1

При запуске compiz количество рабочих столов устанавливается равным 1. При запущенных демонах xfconf это изменение распространяется на xfconf и сбрасывает счетчик рабочего пространства xfce _на 1.

Я не знаю, можно ли что-нибудь с этим поделать, но обычно это не большая проблема. Меня это беспокоило только потому, что я использую xfdesktop для рисования значков и хотел иметь разные обои для каждой грани куба. Я настроил xfce соответствующим образом, но внутри compiz я установил обои первого рабочего стола на всех гранях куба.

Я не знаю, почему ваш список окон не работает. Мой также (правильно )перечисляет все окна на одном рабочем столе, но выбор окна работает нормально и вращает куб, если окно находится на другой грани куба.Он работает как со средним -окном -списка xfdesktop, так и с пунктом меню окна панели xfce4 -.

1
07.04.2020, 06:03
2 ответа

Сделайте что-нибудь подобное. Этот один вкладыш -создает массив для всех .txtфайлов в папке /root/tmpdir:

.
[root@localhost ~]# export LIST=() ; for file in `find /root/tmpdir -name *.txt -exec readlink -e '{}' \;` ; do LIST+=($file) ; done
[root@localhost ~]# echo ${LIST[*]}
/root/tmpdir/newdir/file.txt /root/tmpdir/file.txt
[root@localhost ~]#

Или вы можете просто создать переменную, содержащую имена файлов, разделенные,:

[root@localhost ~]# export LIST; for file in `find /root/tmpdir -name *.txt -exec readlink -e '{}' \;` ; do LIST=$LIST$file, ; done
[root@localhost ~]# echo $LIST
/root/tmpdir/newdir/file.txt,/root/tmpdir/file.txt,

П.С.

Оба примера ищут расширение файла .txt, а не содержимое. Кроме того, этот поиск является рекурсивным, вы можете изменить аргументы, чтобы он выполнял поиск только в одной папке.

-1
28.04.2021, 23:18

Если вам нужны имена, вам, вероятно, лучше всего присвоить их массиву.

names=( *.txt )

Если вам нужно содержимое, то

contents="$( cat *.txt )"
1
28.04.2021, 23:18

Теги

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