AwesomeWM, получить массив всех управляемых клиентов

Можно ли (и как) получить массив всех управляемых клиентов в awesomeWM?

В настоящее время я делаю это, используя сигнал managed, добавляя клиента в массив, к которому я могу получить доступ позже. Но я только наполовину удовлетворен этим решением. Действительно, я не знаю никакого эффективного способа использовать объект client, переданный в качестве аргумента сигналом unmanage, чтобы удалить его из моего массива. Поэтому в моем массиве есть и убитые клиенты. Это не удобно.

Наконец, есть ли встроенная функция или другой способ получить этот массив?

Моя версия: awesome v3.4.15 (Never Gonna Give You Up)


person loxaxs    schedule 21.09.2014    source источник
comment
Каков тип аргумента для управляемого сигнала? Является ли ваша проблема удаления тем, что у вас есть массив? Будет ли хеш работать для вашего использования? Это позволит простое удаление. Если нет, вы всегда можете использовать массив дважды и сохранить индекс массива как значение для клиента в хеш-части таблицы (т.е. ind=5; arr[ind] = client; arr[client] = ind)   -  person Etan Reisner    schedule 21.09.2014


Ответы (1)


Функция client.get() дает вам таблицу, содержащую всех управляемых клиентов, а client.get(1) дает вам всех клиентов на экране 1.

http://awesome.naquadah.org/doc/api/modules/client.html#get

person Uli Schlachter    schedule 22.09.2014