Категории раздела |
|
Автомобильные гаджеты, ремонт...
[144]
|
Безопасность IT
[404]
|
Блоки питания, Power Banks, зарядки...
[512]
|
Видеорегистраторы
[188]
|
Гаджеты для спорта и здоровья...
[191]
|
Гаджеты, аксессуары...
[627]
|
Измерительная техника, инструменты
[446]
|
Накопители данных
[233]
|
Нетбуки, Ноутбуки, Ультрабуки
[691]
|
Мультиварки, блендеры и не только...
[164]
|
Планшеты
[764]
|
Радар-детекторы
[26]
|
Роботы-пылесосы
[40]
|
Своими руками
[366]
|
Сети, сетевые технологии, оборудование...
[273]
|
Смартфоны
[4963]
|
Фотокамеры, объективы, искусство фотографии..
[541]
|
Умный дом
[53]
|
Электронные книги
[102]
|
CB, LPD, PMR- связь...
[170]
|
DECT, IP-телефоны
[18]
|
Drones, boats, cars...
[109]
|
electric cars
[35]
|
GPS-навигаторы, трекеры...
[51]
|
Linux и не только
[3983]
|
mini computers и не только...
[412]
|
News IT, Это интересно, ликбез...
[1121]
|
Smart TV, UltraHD, приставки, проекторы...
[416]
|
Smart Watch
[269]
|
Sound: наушники, плееры, усилители...
[619]
|
Windows 10...
[301]
|
Windows 11
[37]
|
| |
|
|
| | |
| Главная » 2014 » Март » 3 » Моё знакомство с WM Awesome. Часть 1
15:51 Моё знакомство с WM Awesome. Часть 1 |
Моё знакомство с WM Awesome. Часть 1
Разговор пойдёт о моём первом знакомстве с таким оконным менеджером,
как Awesome. Долгое время я использовал Gnome2, потом пробовал Gnome3,
решил испробовать kde, но ничего из этого не удовлетворило меня. Да, к
слову, у меня Gentoo. Да, статья ориентирована на таких же как и я
новичков — дабы упростить жизнь.
В официальной ветке портажа стабильной является версия 3.4.15, но я
решил поставить последнюю доступную — 3.5.2-r1, с USE флагом «dbus». В
качество логин менеджера я выбрал SLiM. После сборки всех необходимых
пакетов открываем /etc/conf.d/xdm и устанавливаем SLiM в качестве
менеджера по умолчанию:
DISPLAYMANAGER="slim"
Далее необходимо сделать небольшие изменение я /etc/slim.conf
# login_cmd exec /bin/sh - ~/.xinitrc %session
login_cmd exec /bin/bash -login ~/.xinitrc %session
# login_cmd exec /bin/bash -login /usr/share/slim/Xsession %session
В этом конфиге также можете выбрать понравившуюся тему, которые лежат в
/usr/share/slim/themes. Я обхожусь дефолтной. Так же там есть ещё пару
интересных параметров, но я их не трогал — нет необходимости.
Терминал я решил использовать urxvt. У меня он собран:
rxvt USE="xgetdefaults"
rxvt-unicode USE="256-color focused-urgency font-styles mousewheel perl startup-notification vanilla xft"
Чтобы, собственно, запустился наш wm нужно вмести изменения в файл ~/.xinitrc (если его нету — то создать), ниже привожу свой:
urxvtd --quiet --opendisplay --fork &
pulseaudio --start &
exec ck-launch-session dbus-launch awesome
Первая строка — запускаю демон urxvt (в дальнейшем клиент вызывается
urxvtc), ну, во второй понятно запускаем pulseaudio, и в последней
запускаем сам awesome. Стоит отметить, что если у вас systemd, а не
consolekit — то у вас вызов awesome вроде как отличается, но я не
использую systemd, поэтому не берусь утверждать.
Запускаем xdm:
sudo /etc/init.d/xdm start
Логинимся и наблюдаем вот такую вот картину:
Я долго лазил по разным форумам в поисках красивых темок, конфигов,
виджетов для awesome. Наткулся на такого пользователя unligic (у него
много статей и интересных вещей на github)
И более новая версия его темы:
Меня это очень впечатлило и я решил поставить себе его тему — но это не
увенчалось успехом. Тема просто не работало. При исправлении одной
ошибки появлялась новая и т.д. Позже я увидел его пост, содержание
примерно такое «ставить новичку не советую, так как там много костылей,
потратите кучу времени и не факт, что заработает». Собственно так и
получилось. Тогда я решил писать конфиг сам. Знаний в Lua у меня не было
вообще, но гугл всегда помогает.
Конфигурационный файл лежит в /etc/xdg/awesome/rc.lua — но его я трогать не советую, просто скопируем его
cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua
(У кого-то директории .config может не оказаться, не пугайтесь — просто создайте.
mkdir ~/.config
mkdir ~/.config/awesome
Начнём конфигурацию. (Да, я, пользуясь многими статьями, просто переписал его)
Тут мы перечисляем все подключаемые библиотеки
local gears = require("gears")
local awful = require("awful")
local vicious = require("vicious")
awful.rules = require("awful.rules")
require("awful.autofocus")
local wibox = require("wibox")
local beautiful = require("beautiful")
local naughty = require("naughty")
local menubar = require("menubar")
local dbus = require("dbus")
Вроде всё понятно :)
os.setlocale("ru_RU.UTF-8")
Эту часть оставляем без изменений - это обработчик ошибок
if awesome.startup_errors then
naughty.notify({ preset = naughty.config.presets.critical,
title = "Oops, there were errors during startup!",
text = awesome.startup_errors })
end
do
local in_error = false
awesome.connect_signal("debug::error", function (err)
if in_error then return end
in_error = true
naughty.notify({ preset = naughty.config.presets.critical,
title = "Oops, an error happened!",
text = err })
in_error = false
end)
end
Я взял за
основу тему zenburn (лежит в /usr/share/awesome/themes/zenburn). И решил
её немного поменять под себя (практически не значительно, пока что)
beautiful.init("/home/worm2fed/.config/awesome/themes/worm2fed/theme.lua")
Параметр -nw в последней строчке позволяет запускать emacs в терминале
terminal = "urxvtc"
browser = "google-chrome-stable"
editor = os.getenv("EDITOR") or "emacs"
editor_cmd = terminal .. " -nw" .. editor
Отступы ужасно съехали, но в редакторе оно всё красиво. Клавиша
модификатор — её ещё называет супер, клавиша с логотипом шиндоуса. Чаще
всего это Mod4, но может и отличаться. И далее коды кнопок мыши и нужных
в конфиге клавиш. Для проверки кодов мыши:
xev | grep 'button'
Для клавиши модификатора и остальных клавиш:
xev | grep 'keycode'
Коды кнопок и клавиш
modkey = "Mod4"
left_button = 1
wheel_button = 2
right_button = 3
plus_button = 4
minus_button = 5
wheel_left_button = 6
wheel_write_button = 7
key_V = "#55"
key_Z = "#52"
key_Y = "#29"
key_J = "#44"
key_K = "#45"
key_N = "#57"
key_M = "#58"
key_F = "#41"
key_R = "#27"
key_L = "#46"
key_C = "#54"
key_W = "#25"
key_X = "#53"
key_Q = "#24"
key_H = "#43"
key_Tab = "#23"
key_Tilda = "#49"
key_U = "#30"
key_E = "#26"
key_T = "#28"
key_P = "#33"
key_O = "#32"
key_Return = "#36"
key_Left = "#113"
key_Right = "#114"
key_Esc = "#9"
key_Print = "#107"
key_Alt_R = "#108"
key_Alt_L = "#64"
key_Space = "#65"
key_Ctrl_R = "#105"
key_Ctrl_L = "#37"
key_Home = "#110"
key_F1 = "#67"
key_Mute = "#121"
key_Vol_Down = "#122"
key_Vol_Up = "#123"
Здесь я выбрал нужные мне разметки окон
local layouts =
{
awful.layout.suit.floating,
awful.layout.suit.tile,
awful.layout.suit.tile.bottom,
awful.layout.suit.fair,
awful.layout.suit.spiral.dwindle,
awful.layout.suit.max,
awful.layout.suit.magnifier
}
Тут всё ясно
if beautiful.wallpaper then
for s = 1, screen.count() do
gears.wallpaper.maximized(beautiful.wallpaper, s, true)
end
end
Имена тегов могут быть абсолютно любыми — я выбрал греческие буквы — как
на скрине unligic. Каждому отдельному тегу я присваиваю своё макет,
которые мы определили выше.
Тэги
tags = {
names = { " α ", " β ", " ζ ", " Θ ", " Ξ ", " ς ", " ψ "},
layout = { layouts[1], layouts[2], layouts[3], layouts[4], layouts[5],
layouts[6], layouts[7]
}}
for s = 1, screen.count() do
tags[s] = awful.tag(tags.names, s, tags.layout)
end
Собираем менюшку (не знаю зачем она нужна, так ни разу и не использовал)
internet_menu =
{
{" Firefox", "firefox-bin", beautiful.firefox_icon},
{" Chrome", "google-chrome-stable", beautiful.chrome_icon},
{" Pidgin", "pidgin"}
}
editors_menu =
{
{" Eclipse", "eclipse-bin-4.2"},
{" Emacs", "emacs"}
}
office_menu = {
{" Word", "libreoffice --writer"},
{" Exel", "libreoffice --calc"}
}
main_menu = awful.menu({
items = {
{" Интернет", internet_menu},
{" Редакторы", editors_menu},
{" LibreOffice", office_menu},
{" "},
{" Перезагрузка", "reboot", beautiful.reboot_icon},
{" Выключение", "halt", beautiful.poweroff_icon},
{" Выход", awesome.quit, beautiful.logout_icon}
}
})
launcher = awful.widget.launcher({ image = beautiful.gentoo_icon, menu = main_menu })
А вот это так и не понял для чего
menubar.utils.terminal = terminal
Статья вышла очень большой, поэтому пришлось разбить на части...
http://habrahabr.ru/post/214411/
|
Категория: Linux и не только |
Просмотров: 997 |
Добавил: laptop
| Рейтинг: 0.0/0 |
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
| |
| | |
|
Волк слабее льва и тигра, но в цирке волк не выступает!
Волк - единственный из зверей, который может пойти в бой на более сильного противника.
Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...
Внимание! |
|
Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
| |
|
|