Tree File Menu/ru



Примечание: Данный скрипт проверялся на работу с Lua 5.1 и awesome 3.4

Этот скрипт на python script создает модуль lua, который обеспечивает файловое меню для любого каталога, который вы хотите. Этот код также предоставляет возможность ассоциировать программы для открытия файлов в вашем меню, Скрипт.

Установка
Скопируйте скрипт в какой либо файл, затем отредактируйте следующие строки:

path = '/home/your-user-name/' filetosave = open('/home/your-user-name/.config/awesome/myplacesmenu.lua', 'w')
 * 1) Измените следующие строки в соотвествии с вашей конфигурацией

Замените  своим именем пользователя. Сохраните и запустите скрипт. Он создаст файл myplacesmenu.lua в ~/.config/awesome/. Для использования нового файла меню сделайте следующее:

require("myplacesmenu")

добавьте код в начале файла ~/.config/awesome/rc.lua и затем добавьте слудующую запись в меню

{ "files", myplacesmenu.myplacesmenu},

Пример: myawesomemenu = { { "files", myplacesmenu.myplacesmenu}, { "manual", "urxvt -e man awesome" }, { "edit config", "urxvt -e vim /home/michaelmath/.config/awesome/rc.lua.new" }, { "restart", awesome.restart }, { "make default", "/home/michaelmath/scripts/rcmv.sh"}, {"debug", "urxvt -e /home/michaelmath/scripts/Awdebug.sh"}, { "quit", awesome.quit }, { "Log out", "/home/michaelmath/scripts/shutdown_dialog.sh"} }

Каждый раз при запуске скрипта, файл myplacesmenu.lua будет перезаписываться, поэтому вызов скипта из файла .xinitrc может потенциально привести к проблемам, так как myplacesmenu.lua может находится в процессе записи при старте awesome.

Lua версия
Здесь приведена Lua версия этого скрипта. Вам необходимо установить luafilesystem для его работы. Он работает немного по другому, например, он не сохраняет меню в файл.

Установка
Для установки luafilesystem используйте luarocks: luarocks install luafilesystem Затем вам необходимо скачать скрипт lua здесь, поместить его в папку с другими файлами конфигурации. И затем вам необходимо подключить его (require) в файле rc.lua, если вы поместите файл в .config/awesome, вам потребуется добавить : require('filesmenu') в файл rc.lua. Затем просто добавить записи в ваше меню awesome с каталогом, который вы хотите отобоазить в файловом меню, например так: { 'Documents', genMenu('/home/pata/Documents/')} И это все. Помните, что это может несколько замедлить работу awesome при запуске, особенно для больших папок. Также в скрипте есть несколько дефолтных действия с файлами, не стесняйтесь добавлять свои, или изменять существующую таблицу фильтров.