Кедоночь
- FreeBSD 10.0
- KDE 4.10.5
- Compiz 0.8.4
Всего сообщений: 95
Задумал как-то сделать себе свистящий десктоп. В качестве DE взял MATE, ну а WM - Compiz (думал взять kwin, но c его склонностью постоянно падать, кедовыми демонами и адовыми зависимостями я передумал).
Свистоперделки компиза типа куба, дрожащих окон и крутых анимаций сворачивания, естественно, присутствуют (а нафиг нужен Compiz без них?). На панели присутствуют два индикатора из убунты (sound и messages - спасибо
Darth_Revan за инструктаж).
В качестве дока юзаю Plank. Пока лучшее, что я видел из доков. Ну в общем, в итоге вышло что-то похожее на свистящую бубунту 10.04.
MOAR!Раньше пользовался тёмными цветами, но если заставить Firefox подгонять цвета под системные, то подавляющее большинство сайтов выглядят мерзко. Поэтому пришлось найти оптимальный баланс между светлыми цветами сайтов и системной схемой, чтобы глазам не было больно при переключении окон.
Попытался подогнать тему GTK3 (окно dconf) под QtCurve, получилось не очень.
Рейтинг песен вытягивается из Amarok'а.
Gentoo x86-64, KDE 4.11.1, compiz 0.8.8
PNG (dropi.ru) почему-то заливаться не захотел, так что жипег.
С предыдущим скрином, пожалуй, поспешил, т.к. основная часть текущего допила произошла ещё до его подтверждения:D Отличия по сравнению с предыдущим скрином:
Остальное вроде так всё и осталось: GTK - Numix Holo, ШГ - Droid Sans, DE - Xfce, WM - Compiz.
//Извиняюсь за частоту, двух недель даже не прошло, но я человек консервативный, так что новые скрины от меня вы вряд ли скоро увидите:D
Обещанное продолжение макозакоса.
Итак, после долгих блужданий в поисках того самого идеального оконного менеджера я, вдохновившись этим скриншотом, и отчаявшись в попытках завести хоть какое-нибудь globalmenu, решил реализовать свою давнюю идею, которую сперва отвёрг по причине отсутствия готовых нужных апплетов. Обо всём по порядку:
А теперь, собственно, о реализации сабжа. Перенести функционал заголовка на практике оказалось просто - кнопки - просто лаунчеры с иконками. wmctrl оказался слишком ограниченным по функционалу (по рабочим столам (которыми я вообще не пользуюсь) им можно таскать окна очень удобно и динамично, но вот из стандартных операций можно только закрывать окна). Я порылся в репозитории и нашёл нечто получше. С помощью xdotool можно посылать активному окну в принципе любой хоткей. Собственно, я прописал нужные хоткеи в настройках Compiz и повешал на кнопки команды вида
xdotool key Alt+F4 --delayА вот с заголовком и монитором трафика без скриптов не обошлось. К счастью, для Xfce-panel есть плагин «Общий монитор», через который с заданной периодичностью можно выводить выхлоп любого скрипта. Погуглил, нашёл примерно то, что нужно, и основательно подпилил.
Заголовок (обрезается до 75 символов, чтобы апплеты не уползали за экран):
#!/bin/bash
MAX_LENGTH=75
wnd_focus=$(xdotool getwindowfocus)
wnd_title=$(xprop -id $wnd_focus WM_NAME)
lookfor='"(.*)"'
if [[ "$wnd_title" =~ $lookfor ]]; then
wnd_title=${BASH_REMATCH[1]}
if (( ${#wnd_title}>$MAX_LENGTH )); then
wnd_title=${wnd_title:0:$MAX_LENGTH}...
fi
echo $wnd_title
fi#!/bin/bash
RX=`cat /sys/class/net/ppp0/statistics/rx_bytes`
TX=`cat /sys/class/net/ppp0/statistics/tx_bytes`
RX=`echo "$RX / 1024576" | bc`
TX=`echo "$TX / 1024576" | bc`
echo ${RX}M/${TX}MUPD:
Обоина (hi-res версии не делал, сорри).
Достал тиринг xfwm4, поставил compiz. Доволен как слон :)
Тема:
- GTK — подправленная на счёт квадратности Peaceful-Dust (с поддержкой GTK-3.6);
- metacity — Simple Slim;
- иконки — Matrilineare (добавил пару десятков типов);
- обоина — это сами знаете.
Оформление (GTK, metacity, icons, panel background, firefox userChrome.css) — скачать
Linux Mint 13 Maya
десктоп: MATE
панелька внизу: awn
текстовый редактор: Kate
окна: emerald+compiz
шрифты: дефолт
обои:
http://s60.radikal.ru/i169/1212/ee/2f1ffec38109.jpg
http://s002.radikal.ru/i198/1212/77/aa5fb266eb58.jpg
еще пара скриншотов:
http://s020.radikal.ru/i711/1212/ae/7492855a641b.png
http://s42.radikal.ru/i097/1212/8e/0e53049ef183.png
http://s61.radikal.ru/i173/1212/6e/f89a1b0bee00.png
Не спрашивайте - зачем. Просто так, потому что можно. Ну и к тому же можно ссылаться на этот топик в ответ на вбросы бздунов насчёт «а этот ваш Линукс умеет ZFS?». Умеет, как видите.
Краткий мануал по красноглазию:
1) Создаём раздел для ZFS. После этого потребуется создать пул. Пул - это что-то вроде виртуального устройства.
zpool create zero /dev/sda2«zero» - это моё название пула. У вас оно может быть любым другим. Просто создать пул как-то неинтересно, поэтому повключаем всякие разные плюшки ZFS. Включаем дедупликацию:
zfs set dedup=on zeroи сжатие:
zfs set compress=lzjb zeroи отключаем обновление временных меток:
zfs set atime=off zeroну и отключаем монтирование средствами самой ZFS дабы избежать неудобств на стадии сборки системы в chroot:
zfs set mountpoint=legacy zero2) Теперь у нас есть чистый пул, но пул - это ещё не ФС. Чтобы установить туда систему, нужно создать файловые системы на этом пуле. Прелесть ZFS в том, что на одном пуле можно создать кучу ФС, каждой из которых можно задать свои опции. Например, я создал ФС для корня (и уже при создании говорим zfs, что монтировать создаваемые ФС мы будем вручную через mount):
zfs create -o mountpoint=legacy zfs/systemЭта ФС унаследовала все опции (дедупликация, сжатие) от пула, потому что для корня такие опции, в общем-то, неплохи. Далее я создал ФС специально для дерева portage, оверлеев и каталога с исходниками ядра:
zfs create -o mountpoint=legacy zfs/srcТак как на этой ФС будет куча текстовых файлов, обращаться к которым придётся сравнительно редко, здесь имеет смысл задействовать несколько иные опции. Например, усилить сжатие (после дефиса указана степень сжатия, диапазон - от 1 до 9, по умолчанию 6):
zfs set compress=gzip-9 zero/srcи отключить дедупликацию (мне подумалось, что дедупликация на ФС с тоннами мелких файлов будет сильно отжирать ресурсы, да и сильное сжатие вполне экономит место):
zfs set dedup=off zfs/srcОтдельная ФС для /home:
zfs create -o mountpoint=legacy zero/homeОпции пусть будут унаследованы от пула. Далее я перестраховался и создал отдельную ФС для /var, потому что в какой-то там рассылке видел упоминание каких-то багов при дедупликации на /var. Посты были датированы ещё прошлым годом, с тех пор утекло много воды, но бережёного случай бережёт:
zfs create -o mountpoint=legacy zero/var
zfs set dedup=off zero/var3) Далее у нас стандартная сборка Gentoo. Монтируем будущий корень:
mount -t zfs zero/system /mnt/systemи остальные ФС:
mount -t zfs zero/src /mnt/system/src
mount -t zfs zero/home /mnt/system/home
mount -t zfs zero/var /mnt/system/var
mount /dev/sda1 /mnt/system/bootПосле чего монтируем нужные виртуальные ФС (proc, dev, sys), монтируем хранилище архивов с исходниками пакетов, в общем, всё по хэнбуку, поэтому не стану заострять на этом внимания. Внимание требуется на этапе установки и сборки ядра. Устанавливать нужно это милое ядрышко (перед этим нужно будет включить флаг zfs, я думаю, разберётесь сами):
layman -a init6
emerge geek-sourcesНа этапе сборки ядра нужно учесть некоторые детали. Например, в мануалах написано, что нужно включить опцию CONFIG_KALLSYMS и отключить CONFIG_PREEMPT (т.е. установить её в значение «Server») Первую-то я включил, а отключать вторую меня жаба задавила (эта опция влияет на отзывчивость ядра), тем более что на Гитхабе я читал, что в последних версиях zfsonlinux проблемы с этой опцией ядра устранены. После этого, конечно, включаем SPL и ZFS. Первая опция находится прямо в корне конфигуратора, а вторая - в секции «File systems». А вот далее важно не пойти на поводу мануалов Гитхаба, ибо это чревато феерическим ментальным трахом. В мануалах тех написано, что нужно добавить указанный там оверлей и установить оттуда особые версии dracut и genkernel для сборки initramfs с поддержкой ZFS, ибо даже жёсткое включение ZFS в ядро не позволяет загрузить систему с корня ZFS (нужны утилиты для работы с ZFS, которые должны находиться в initramfs). Собственно, я так и сделал. После чего на протяжении дня сношался с кривоглючным dracut, упорно не желавшим включать утилиты ZFS в initramfs. Я даже вытягивал какие-то древние версии dracut и устанавливал их через make install, потом уже добавлял нужные файлы в initramfs вручную - чего я только ни делал! А оказалось, что нужно было тупо забить на эти горе-мануалы и установить самый стандартный genkernel из официального дерева. И всё правильно собирается следующей командой:
genkernel all --no-clean --makeopts=-j16 --zfs --bootloader=grub2вот и вся недолга. Если перед этим вы успели собрать и установить Grub2, то genkernel сам добавит в grub.cfg нужные опции (укажет ФС, с которой грузить систему, в моём случае это zero/system).
На стадии формирования списка загружаемых демонов нужно сделать следующее:
rc-update add zfs boot
rc-update add zfs-shutdown shutdown4) Монтирование файловых систем ZFS. Вообще, монтировать их можно двумя способами: посредством утилиты zfs через задание точки монтирования:
zfs set mountpoint=$DIR $FSили через fstab с предварительным отключением автомонтирования:
zfs set mountpoint=legacy $FSЗапись в fstab для, например, корня, не содержит ничего сверхъестественного:
zero/system / zfs noatime 0 0Способ монтирования выбирать вам. Следует лишь иметь в виду, что при монтировании через fstab zfs-shutdown будет ругаться при выключении.
5) Вообще это нужно делать раньше, но, в принципе, пофиг:
hostid > /etc/hostid (это в chroot)
cp /etc/zfs/zpool.cache /mnt/system/etc/zfs6) Если у вас меньше 2 Гб оперативки, то ZFS своим кэшем может сожрать всю раму и завесить систему. Поэтому имеет смысл ограничить её аппетиты:
echo "options zfs zfs_arc_max=512M" > /etc/modprobe.d/zfs.confЯ выставил 1 Гб.
7) Отмонтируем все ФС, делаем
zpool export zeroи перезагружаемся в свежую систему. Не знаю, как получится у вас, а лично у меня initramfs не может импортировать пул и потому вываливается в busybox. Не проблема, входим в его шелл и импортируем пул вручную:
zpool import zero
exitи система далее нормально загружается.
Какие профиты? Ну, она явно быстрее ранее используемой мной Btrfs. Опять же, на Btrfs нет дедупликации, и сжатие можно применить/отключить только на весь раздел. Сжатие lzjb не так заметно экономит место (это просто быстрый алгоритм), а вот gzip-9 сжал дерево portage с 350 Мб до 256 Мб, а каталог исходников ядра - так вообще в 2 раза, с 800 с лишним Мб до 400 с лишним. Причём на скорости сборки ядра это практически не отразилось (замерял через time). А ещё в ZFS есть контрольные суммы, так что о целостности системы можно вообще не беспокоиться. Но самое главное, конечно - это снапшоты. Я, попробовав раз снапшоты ещё в Btrfs, так и не смог от них отказаться.
Маленькое дополнение: почитав преисполненные страха комментарии про снижение скорости из-за дедупликации я её таки отключил на всех ФС. И ещё: возможно, я что-то не так делал, но монтирование ZFS посредством утилиты zfs я так и не осилил нормально. В итоге я просто выставил legacy на все ФС, внёс их в fstab и выкинул zfs-shutdown из скриптов выключения.
Предыдущая расцветка как-то уж сильно выедала глаза, поэтому решил сделать гамму поспокойнее. Заодно сменил тему Emerald и конфиг коньков - теперь они ненавязчиво висят вверху, перекрывая заголовок распахнутого окна.
Накануне играл в Galactic Civilization 2 и мне очень понравился тамошний интерфейс с фиолетовой расцветкой. Попробовал чисто эксперимента ради сделать что-то похожее в KDE4. Вид якобы из кабины звездолёта. Жаль, что панель всё портит, но чем её заменить я так и не придумал.
Система gentoo (подойдет и calculate-linux с профилем default/linux/x86/10.0)
Ядро gentoo-source-3.0.17-r2 (отсутствует 'заморозка' системы при свопинге)
Рабочее окружение LXDE (легкое и с некоторыми программами удобнее работать, чем в XFCE)
Pcmanfm полностью вытеснен spacefm, хотя еще не успел перевести интерфейс на русский
Композитный менеджер окон Compiz (потому что вне конкуренции), либо обычный Openbox, входящий в состав LXDE
Стиль оформления GTK2, исключительно. GTK3 пока не в состоянии предоставить нормально настраиваемое оформление
Тема оформления элементов управления Shiki-Dust
Декоратор окон Emerald (удобно и полная интеграция с compiz)
Тема декораций A-New-Hope (rightside)
Значки Magog White v.9.5 (хорошая коллекция значков, но устраивает не во всем, частично изменена)
Попытка установить другие курсоры не привела к успеху, наполовину работает новый, наполовину стандартный. Отложил до лучших времен
Шрифты в основном PT, местами Liberation, включая коньки
Управление цветом dispcalGUI
Размер системы менее 3 Гб с полным набором основных программ, включая libreoffice, gimp и пр.
P.S.
Все работает летает на asus n10j. Пока еще задумки осуществлены частично.
привел к одному виду эмеральд, гтк и джини (ну и qt, конечно, там GTK+ GUI Style в qtconfig). Иконки — AwOken.
радугу не вижу, сразу скажу.
вверху коньки, альбом — тоже коньки (скрипт опрашивает демон shell-fm'а по поводу текущей песни и выдирает из сайта last.fm обложку).
cлева — cairo-dock (используется только как ланчер),
внизу — lxpanel с выпиленными иконками таскбара.
есть еще второй монитор, но там фокс на весь экран с документацией, так что показывать нечего.
довольно давно уже пользуюсь этой темой, имхо, если проводишь много времени за компом, то темные темы — самые ненапряжные для глаз. главное, чтобы не вырвиглазно было.
http://rghost.ru/36496247 — Dark Emerald theme (распаковать в ~/.emerald/themes)
http://rghost.ru/36496563 — Dark Equinox theme (в ~/.themes или в системную)
http://rghost.ru/36496315 — Geany filedefs (в ~/.config/geany)
Все это живет на USB HDD в режиме «все свое ношу с собой», в основном между домом и работой. Другими словами, LiveUSB на классической электромеханике с полноценным разбиением на разделы - boot, root, swap, home, vmdata.
Цвета и шрифты - не тема, зато в конце делюсь конфигом compiz...
Вместо описания скриншота - критерии, зачем так сделано.
Здоровья лишнего не бывает. Азбука
Хороший десктоп отличается от плохого количеством лишних телодвижений, но для глаз наоборот - они устают именно от тупняка в одну точку.
Идеал мышевозильного десктопа - одна рука за спину, в другой мышь. Противоположная теория - вслепую десятью пальцами, минуя меню. Отличный десктоп поддерживает обе теории, и в разных комбинациях ;)
Правила охраны труда ;)
1)
убираем с экрана всё. Обои - туда же, вслед за иконками.
Остается самый мизер - системный трей, док-меню приложений,
и переключалка пространств. Остальное - на скрывающиеся панели.
2)
Осознаем, что у нас, приматов, наиболее естественное движение - загребать.
Это означает, что если ты правша и в руке мышь,
то курсор должен тусоваться в левой верхней части экрана,
а внизу и справа кликать должно быть просто нечего.
Ибо туннельный синдром не шутка.
3)
На экранах 16x9 дефицит пикселей по вертикали.
Но это только повод искать альтернативные варианты ;)
Оказывается, размещение индикаторов по вертикальным краям выгодно дважды -
и внимание не рассеивает, и глаза упражняет...
4)
Главное - заканчиваем виндузятничать и разучиваем модель point-to-focus.
Она заставляет кликать в два и более раз реже.
Да, к ней придется вернуть кое-что,
утерянное неосиляторами за последние лет 15,
хотя бы горячие клавиши на операции
"window lower" и "window raise".
В том же IRIX они были и в меню 4Dwm,
и на кнопках Alt-F3 и Alt-F1.
Почему unity и gnome-shell лишние
Функциональное поведение unity достигается путем настройки awn и остатков gnome2 в gnome3. Аналогично с gnome-shell - самые важные элементы оформления и настройки (включая горячие клавиши), удивительным образом совпадают с тем, что есть в compiz, и было там до ;)
Итого
Достаточно было предложить набор профилей, а не учинять революцию.
IMHO unity архитектурно такая же кривая, как и gnome-shell -
оба намертво склеены с оконным менеджером, и проблемы в каком-либо из них
оставляют мало шансов спасти запущенные приложения...
Функционально управление окнами в compiz побогаче и гибче, а действительно нового и полезного в gnome-shell буквально две вещи, и их несложно портировать обратно IMHO.
Compiz не только для забавы
Ниже экспорт рабочего конфига compiz, без побрякушек.
P.S
В следующем посте, в ответ на этот - сага про дёр колючек из кактуса Fedora16 для получения изображаемого на скриншоте ;)
[commands]
s0_command0 = synfix -0
s0_command1 = synfix -1
s0_run_command0_key = <Super>F2
s0_run_command1_key = <Super>F3
[core]
s0_active_plugins = core;composite;opengl;compiztoolbox;copytex;decor;imgpng;move;place;regex;resize;scale;expo;mousepoll;notification;resizeinfo;snap;wall;workarounds;gnomecompat;extrawm;splash;commands;ezoom;staticswitcher;
s0_edge_delay = 2
s0_click_to_focus = false
s0_raise_on_click = false
s0_autoraise = false
s0_autoraise_delay = 500
s0_focus_prevention_level = 2
s0_raise_window_key = <Alt>F1
s0_lower_window_key = <Alt>F3
s0_minimize_window_key = Disabled
s0_maximize_window_key = Disabled
s0_maximize_window_vertically_key = F10
s0_window_menu_button = <Alt>Button2
s0_show_desktop_key = Disabled
s0_toggle_window_maximized_key = <Alt>F10
s0_toggle_window_maximized_vertically_key = <Control>F10
s0_toggle_window_shaded_key = Disabled
s0_hsize = 1
s0_vsize = 4
[decor]
s0_shadow_radius = 11.000000
s0_shadow_x_offset = 0
s0_shadow_y_offset = 0
s0_command = gtk-window-decorator --replace
[move]
s0_opacity = 95
[resize]
s0_initiate_button = <Alt>Button3
s0_mode = 2
[scale]
s0_speed = 2.500000
s0_timestep = 0.100000
s0_initiate_all_edge = BottomLeft|BottomRight
s0_initiate_all_key = <Super>w
[expo]
s0_next_vp_button = Button4
s0_prev_vp_button = Button5
s0_zoom_time = 0.400000
s0_expo_immediate_move = true
s0_vp_distance = 0.050000
s0_multioutput_mode = 1
s0_reflection = false
[ezoom]
s0_zoom_factor = 1.050000
s0_minimum_zoom = 0.250000
[put]
s0_put_left_key = Disabled
s0_put_right_key = Disabled
s0_put_top_key = Disabled
s0_put_bottom_key = Disabled
s0_put_topleft_key = Disabled
s0_put_topright_key = Disabled
s0_put_bottomleft_key = Disabled
s0_put_bottomright_key = Disabled
[scaleaddon]
s0_title_bold = true
s0_window_highlight = true
[shift]
s0_ground_color1 = #b3b3b3cc
s0_ground_color2 = #b3b3b300
[snap]
s0_snap_type = 0;1;
s0_edges_categories = 0;1;
s0_resistance_distance = 5
s0_attraction_distance = 4
[staticswitcher]
s0_prev_key = Disabled
s0_mouse_select = true
s0_saturation = 0
s0_brightness = 75
s0_opacity = 75
s0_highlight_rect_hidden = 2
[wall]
s0_show_switcher = false
s0_miniscreen = true
s0_slide_duration = 0.500000
s0_no_slide_match = (class=Avant-window-navigator) | (class=Gnome-panel)
s0_mmmode = 1
[workarounds]
s0_legacy_fullscreen = true
s0_firefox_menu_fix = true
s0_notification_daemon_fix = true
s0_aiglx_fragment_fix = false
s0_sticky_alldesktops = true
[gnomecompat]
s0_main_menu_key = <Control>F1
s0_command_screenshot = gnome-screenshot -d 3
s0_run_command_terminal_key = <Alt>x
[extrawm]
s0_toggle_fullscreen_key = <Shift>F11
Со времен моего последнего скриншота прошло уже довольно много времени, долго думал, выкладывать или нет свою «работу над ошибками», но когда посмотрел на то ШГ с прошлого скриншота - решил все же показать текущее состояние дел :)
В общем, масштабы переделок следующие:
Ну, вот как бы и все... Единственное что на данный момент мозолит глаза - некорректно работающая сенсорная кнопка mute (работает в инверсном режиме, сволочь, уже замучался искать где прописываются ее состояния). В остальном все работает ок.
Ругайте, комментируйте, интересно знать ваше мнение :)
Включил и настроил куб рабочего стола. Люблю кеды)
тема, похожа на оформление из фильма «крепкий орешек 4»
скрин 1 - http://rghost.ru/21064721
справа какая-то громоздкая штука, похожая на conky, но надобности в нем не возникало
скрин 2 - http://rghost.ru/21064801
иконки конечно не похожи, зато сочетаются с темой
на скринах макось? на иконки оффтопика не похоже
тема gtk - diehard4 http://rghost.ru/21063381
emerald - diehard4 http://rghost.ru/21062661
иконки - gTango http://rghost.ru/21063251
обои http://rghost.ru/21063591
p.s. я уже спрашивал в Desktop , спрошу еще здесь
настройки прозрачности в compiz
Normal | Dialog | ModalDialog | Utility | Toolbar | Fullscreen
http://rghost.ru/21065701
какие правила нужно добавить, чтобы iceweasel,opera,vlc запускались без прозрачности?
тема гтк: Equinox Glass иконки: gnome шрифты Liberation
ну, правда, она не знает, что это такое «FreeBSD», и у нее просто копия моей системы со своими настройками, но это не важно :)
Update для критиков: :) я ей компьютер купил, потому что она просила новости в интернетах читать, ей все равно, как оно выглядит и как называется. у нее при логине открывается фокс на весь экран с панелью закладок. какие там иконки?
Update 2: Иконки теперь AwOken 2.1. получилось даже в тему. заодно и себе вечную фаензу заменю.
Знаю, говно, зато сразу 3 человека побежали сносить винду) Вот, чем можно привлечь девушку) дешево и сердито)))
Очень долгое время сидел на опенбоксе (даже запилил вариант установки с ним), но в один прекрасный день он мне надоел. Последней каплей стало моргание (хоть и на долю секунды, но все же) экрана при использовании xcompmgr на смене обоины рабочего стола (меняются рандомно каждые 2 часа).
До этого давно зрела мысль запилить Compiz в качестве независимого оконного менеджера, и вот этот момент наконец-то настал.
Теперь о самом скриншоте:
Вот в общем-то и все что хотел показать, жду комментариев :)
вот так.
на скрине: kde4.6.3, compiz wm, emerald decorator.
тема эмеральда: achromatic
тема плазмы - air
иконки - elementary, мои любимые, после того как oxygen-icons изуродовали
шрифты - ubuntu8, библиотеки с патчами ubuntu.
| ← предыдущие | следующие → |