Рейтинг:1

Autokey Создание глобальной переменной

флаг ae

В автоключ, как я могу создать глобальную строковую переменную, которую могут использовать все скрипты?

Видите ли, иногда мне нужно изменить эту строку, которую я использую во многих скриптах. Когда я это делаю, это требует много работы, потому что мне приходится изменять эту строку в многочисленных сценариях автоключей. Если бы я мог создать глобальную переменную, я мог бы изменить эту строку в одном месте, и это автоматически повлияло бы на все сценарии, которые ее используют. Мне нужно это!

Я нашел это в документация:

set_global_value (я, ключ, значение)
    исходный код 

Сохранить глобальное значение

Использование: store.set_global_value (ключ, значение)

Значение, сохраненное с помощью этого метода, будет доступно для всех скриптов.

Но куда бы я это поместил? Должен ли я просто сделать один скрипт автоключа, предназначенный для установки глобальных переменных?

Сохранятся ли эти глобальные переменные после перезагрузки или мне придется запускать этот сценарий после каждой загрузки, прежде чем другие сценарии смогут использовать созданную мной глобальную строку?

Lonnie Best avatar
флаг ae
Я думаю, что, возможно, мне следует просто создать переменную среды в bash, а затем просто получить доступ к этой переменной среды из моих сценариев Autokey. Это, вероятно, сработает, но я бы предпочел использовать лучшие практики Autokey вместо этой хакерской идеи.
Lonnie Best avatar
флаг ae
Я также прошу совета здесь: https://github.com/autokey/autokey/discussions/653
Рейтинг:1
флаг cn

AutoKey хранит глобальные пары ключ/значение в экземпляре словаря класса Store. Когда вы работаете с этими парами ключ/значение, вы указываете AutoKey работать с этим экземпляром словаря независимо от сценария, который вы используете для взаимодействия с ними. Ваши глобальные пары ключ/значение запоминаются AutoKey до тех пор, пока вы не сообщите AutoKey изменить или удалить их. К каждой паре ключ/значение можно получить доступ из любого скрипта. Это означает, что вам не нужно возвращаться к сценарию, который вы использовали для создания глобальной пары ключ/значение, чтобы прочитать, изменить или удалить ее.

Lonnie Best avatar
флаг ae
Итак, основываясь на том, что вы сказали, я могу сделать вывод, что эти глобальные пары ключ/значение выдерживают перезагрузку. Поэтому мне нужно создать скрипт, который устанавливает эти глобалы, запустить его один раз, и тогда эти глобалы всегда будут доступны для моих скриптов даже после перезагрузки компьютера.
Lonnie Best avatar
флаг ae
Я проверил это. Это работает фантастически. Большое спасибо, что развеяли мою неуверенность.
Little Girl avatar
флаг cn
Похоже, вы уже разобрались. Да, они переживают перезагрузки. Все пары "ключ-значение" сохраняются после перезагрузки.Единственная разница между локальными и глобальными парами ключ/значение заключается в том, что локальные пары ключ/значение доступны только из сценария, который их создал, тогда как глобальные пары ключ/значение доступны из любого сценария.
Lonnie Best avatar
флаг ae
Да, я это заметил. Мне очень нравится, как это работает; это хороший материал.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.