LINUX.ORG.RU

Избранные сообщения Faiver

«Blender. Настольная книга» доступна онлайн

Новости — Документация
Группа Документация

«Blender. Настольная книга» — инициатива по созданию руководства для начального обучения основам работы в свободной программе Blender 2.7X, изначально принадлежащая журналу «FPS» (глав.ред. Тимур Гафаров).

«Blender. Настольная книга» — это открытый проект по созданию полноценного русскоязычного электронного руководства по основам работы в Blender. Книга будет представлять собой сборник статей, охватывающих различные аспекты использования Blender, скомпонованных по принципу «от простого к сложному». К участию в проекте приглашаются все желающие: вы можете написать новую статью или улучшить существующую. Все материалы книги распространяются по лицензии Creative Commons BY-SA.

Читать онлайн



>>> Репозитарий на Github'е

>>> Подробности

 , , ,

atsym
()

Помогите допилить управлялку расположения и геометрии клиентов с клавиатуры

Форум — Desktop

Год и два года назад как-то поднимал уже эту тему, но не срослось.

Демка гифка, чтобы не читать много текста ниже: http://i.imgur.com/cpKRBXM.gif

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

Например: есть фокус-клиент, я нажимаю на mod4 + 9 на нампаде, т.е. верхнюю правую кнопку (KP_Prior), что означает, что клиент должен переместиться в верхний правый угол текущего дисплея и иметь геометрию четверти дисплея:

+---------------------+  +---------------------+  +---------------------+
| +---------+         |  | +-----------------+ |  |         +---------+ |
| |    7    |         |  | |         8       | |  |         |    9    | |
| |         |         |  | |                 | |  |         |         | |
| +---------+         |  | +-----------------+ |  |         +---------+ |
|                     |  |                     |  |                     |
|                     |  |                     |  |                     |
|                     |  |                     |  |                     |
|                     |  |                     |  |                     |
+---------------------+  +---------------------+  +---------------------+
+---------------------+  +---------------------+  +---------------------+
| +---------+         |  | +-----------------+ |  |         +---------+ |
| |         |         |  | |                 | |  |         |         | |
| |         |         |  | |                 | |  |         |         | |
| |    4    |         |  | |        5        | |  |         |    6    | |
| |         |         |  | |                 | |  |         |         | |
| |         |         |  | |                 | |  |         |         | |
| |         |         |  | |                 | |  |         |         | |
| +---------+         |  | +-----------------+ |  |         +---------+ |
+---------------------+  +---------------------+  +---------------------+
+---------------------+  +---------------------+  +---------------------+
|                     |  |                     |  |                     |
|                     |  |                     |  |                     |
|                     |  |                     |  |                     |
|                     |  |                     |  |                     |
| +---------+         |  | +-----------------+ |  |         +---------+ |
| |    1    |         |  | |         2       | |  |         |    3    | |
| |         |         |  | |                 | |  |         |         | |
| +---------+         |  | +-----------------+ |  |         +---------+ |
+---------------------+  +---------------------+  +---------------------+
Управление кнопками нампада в целом такое (расположение / геометрия), mod4+:

  • 1  — левый нижний угол / пол длины / пол высоты
  • 2  — нижняя часть / вся длина / пол высоты
  • 3  — правый нижний угол / пол длины / пол высоты
  • 4  — левая часть / пол длины / вся высота
  • 5  — максимизация (типа mod4+M, но без переключения режима floating)
  • 6  — правая часть / пол длины / вся высота
  • 7  — левый верхний угол / пол длины / пол высоты
  • 8  — верхняя часть / вся длина / пол высоты
  • 9  — верхний правый угол / пол длины / пол высоты

Для одно-мониторной конфигурации я запилил уже давно:

local wa = screen[mouse.screen].workarea -- текущий screen
local ph = 22 -- высота панели
local ww = wa.width -- длина текущего screen
local wh = wa.height -- высота текущего screen

clientkeys = awful.util.table.join(

awful.key({modkey}, "KP_Left",  function (c) c:geometry( { width = ww / 2, height = wh, x = 0, y = ph } ) end),
awful.key({modkey}, "KP_Right", function (c) c:geometry( { width = ww / 2, height = wh, x = ww / 2, y = ph } ) end),
awful.key({modkey}, "KP_Up",    function (c) c:geometry( { width = ww, height = wh / 2, x = 0, y = ph } ) end),
awful.key({modkey}, "KP_Down",  function (c) c:geometry( { width = ww, height = wh / 2, x = 0, y = wh / 2 + ph } ) end),
awful.key({modkey}, "KP_Prior", function (c) c:geometry( { width = ww / 2, height = wh / 2, x = ww / 2, y = ph } ) end),
awful.key({modkey}, "KP_Next",  function (c) c:geometry( { width = ww / 2, height = wh / 2, x = ww / 2, y = wh / 2 + ph } ) end),
awful.key({modkey}, "KP_Home",  function (c) c:geometry( { width = ww / 2, height = wh / 2, x = 0, y = ph } ) end),
awful.key({modkey}, "KP_End",   function (c) c:geometry( { width = ww / 2, height = wh / 2, x = 0, y = wh / 2 + ph } ) end),
awful.key({modkey}, "KP_Begin", function (c) c:geometry( { width = ww, height = wh, x = 0, y = ph } ) end),

)
Всё отлично работает, но когда два дисплея, начиная каша малаша, почему-то не хочет считать геометрию и расположение фокусного скрина, от чего плясать нужно? Не screen[mouse.screen]? Тогда что? Помогите допилить, может и вам (это очень удобно, отвечаю!) пригодится и вашим родственникам и друзьям.

sudo cast actionless, Worron, fjfalcon, zhuravlik, Faiver, r3lgar; (простие, если вы бог осома, а я вас запамятовал).

Спасибо.

 , ,

kep
()

Конфиг, который ещё не готов

Галерея — Скриншоты

Сейчас моё допиливание дошло до такого состояния , что вроде бы всё , что нужно уже есть , но ощущение недоделанности ещё присутствует. Из TODO запилил уже половину, осталось только то, что мне больше всего лень делать, при этом оно не принесёт особой пользы. Другие полезности в голову не лезут, так что адекватная критика и предложения , что можно добавить или перепилить , приветствуются.
В итоге мы имеем:

  • WM: awesome v3.5.6 (lua 5.3)
  • Compmgr: compton v0.1_beta2
  • Term: terminator v0.97
  • Shell: zsh v5.0.8
  • FM: pcmanfm v1.2.3
  • Editor : sublime text 3 (build 3083)
  • Browser: mozilla firefox v38.0.5 c темой chromefx [LOR (со стилем LOR Tango Gray и скриптом от Эдика)] [homepage (взял отсюда)]
  • Вместо стандартного prompt'a rofi v0.15.5
  • Как меню выключения служит obshutdown v0.1-rc1
  • Дату и время отображает conky-lua v1.9.0, пока другого назначения для коньков не придумал, а точнее возникли трудности с созданием красивого конфига.
  • Иконки
    • GTK: AnyColorYouLike
    • Иконки для панели взял из конфига Worron
  • ШГ
    • GTK: Terminus Re33 Bold 16
    • awesome
      • theme.font : Terminess Powerline Bold 14
      • kbwidget , memwidget , textclock : Terminess Powerline Bold 15
      • theme.tasklist_font : Snap 12
    • Obshutdown : Open Sans Regular 14
    • Firefox
      • UI: Open Sans Regular 14
      • Web:
        • С / без засечек (не люблю засечки): Arial 16
        • Моноширный: monospace 12
        • Homepage: Verdana 14
    • Sublime Text: Terminus Re33 11
    • Conky: Terminus Re33 44 и 74
  • GTK
    • Firefox,obshutdown: Numix Ocean
    • Всё остальное: перекрашеный Numix Ocean
  • Если на теге не открыто приложений и я на нём не нахожусь в данный момент, он скрывается из списка. В этом мне помогает eminent.
  • На сочетание modkey+tab назначена функция, перелистывающая все окна на теге, а не только 2 последних.
  • Находясь в floating layout'e окна можно перемещать сочетанием modkey+срелки

Обоина
Все скриншоты: [1] [2] [3] [4] [5] [6] [7]

Конфиги по просьбе moddi3

  • rc.lua
  • theme.lua
  • .obshutdown.rc (закинуть в хомяк)
  • Конфиг compton (называть как угодно, кидать куда угодно, compton запускать с опцией --config <path_to_config> )
  • Скрипт для запуска rofi (Требует пакет xkb-switch .Закинуть куда угодно , в конфиге поставить значение rofi="<path_to_script>". Скрипт не забыть сделать исполняемым. Забиндить на удобный хоткей (у меня mod+r))
  • Архив со шрифтами Terminus Re33 и Snap с русскими символами. (Закинуть в ~/.fonts , если не устанавливается шрифт Snap , то вам сюда)
  • Содержимое папки ~/.config/awesome в архиве.
  • .conkyrc

Остальные конфиги выложу по требованию.

>>> Просмотр (1920x1080, 1080 Kb)

 

sudopacman
()

Делимся полезными кусками из ~/.vimrc и показываем свои статусные строки 2015 тред

Форум — General

Как говорили древние отцы-основатели редактирования текстов: « Damnosa quid non imminuit dies¹ ? »

Но мы им отвечаем: « Tempora mutantur et nos mutamur in illis² ! »

Делимся полезными и интересными кусками из своих конфигов, а также демонстрируем, кто на какой статусной строке в данный момент остановился и использует. Также это касается не общеизвестных плугинов или настройки/интеграции общеизвестных и общеиспользуемых. В общем синтастик или ЗадротДерево сюда не нужно, наверное, писать.

Я могу предложить (кое-что известное, но будет полезно новичкам, если такие есть):

  • Автопаста — не нужно нажимать :set paste перед пастой, чтобы сохранялись отступы, работает автоматически, добавить и забыть навсегда.
  • Кайфовставка — позволяет по хоткею кушающему моушины «замещать», т.е. заменять целевое слово (или моушин-цель) на то, что сейчас в буфере, с трудом вспоминаю, что я делал без этого хоткея.
  • Более лучший фолдинг — информация про к-во сложенных линий теперь справа + добавляет % от всего документа, картинка с этим и без.
  • Пипетка для верстальщиков — по хоткею вызывается пипетка (в зависимости от ОС — разная, на линуксе это zenity или Yad) с текущим значением на курсоре и авт. меняет при изменении.
  • Автопереключение раскладки — при переходе в normal mode и обратно, после настройки включает английский язык когда переходим в normal mode из insert mode, где был включен другой язык. Очень удобно, уже давно привык.
  • Удобно двигать строки/блоки — придумал чем занять бесполезные стрелки, используется vim-move, кстати предлагаю особо наглым упороться hardmode.
  • tmux-complete — комплитит в виме (добавляет в omnicomplete, т.е. безразлично какой комплитер используете neocomplete/YCM/etc) содержимое окон/панелей/сессий тмукса, в которых необязательно вим, может быть другое приложение либо просто выхлоп.
  • Переход на средину строки — текущей реальной (не виртуальной).
  • Режимо-зависимые курсоры — для тех, кто использует GUI-версию вима, я лично не использую.

А теперь по статусной строке. Почти два года сидел на airline, но вот недавно перешел на lightline, которая быстрее стартует и легче кастомизируется, а также не содержит кучу неиспользуемых (лично мной) возможностей. Попробовал еще ezbar, но японец пилит его под себя, хотя там есть кое-что интересное, насчет скорости:

lightline: 229.019  000.003: 
ezbar:     250.312  000.002: 
airline:   276.823  000.003: 
(если что, у меня еще около ~80 плагинов подгружаются), powerline не имеет смысла сюда рядом ставить, там секунды вместо миллисекунд :)

Вот такая у меня статусная строка: картинка, настройка здесь и здесь. Середина прозрачная, выведен размер файла, имя файла справа, голубой квадратик с + это модифицированный, но не сохраненный файл.

Показывайте ваши ништяки.

--------

¹ - лат. что не изменит губительное время
² - лат. времена меняются и мы меняемся с ними

 , ,

redhat
()

Vim airline

Форум — General

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

Шрифт «Droid Sans mono» выставлен в настройках xfce4-terminal Vimrc тут

Решение:

let g:airline_left_sep = '❱'
let g:airline_right_sep = '❰'
Не совсем то что хочется, но хоть получше стало.

 ,

Dron
()

чтобы wm не козлил играм

Форум — General

как лучше оформить пользователя, чтобы запускались только иксы и игра?

 , ,

Alyssa
()

Печать кирилицы из Vim

Форум — General

В Виме могу нормально редактировать файлы, содержащие русские буквы, но при попытке их напечатать (hardcopy) на бумаге появляются вопросительные знаки. Путем hardcopy > file с дальнейшим hexdump-ом полученного postscript-файла выяснил, что все русские буквы являются одним и тем же байтом (bf). Т.е. проблема не в драйверах принтера, а вим изначально неправильно генерирует PS-файл.

Как заставить Вим печатать кириллицу?

 , , ,

Klymedy
()

Как запретить перемещение курсора на другие дисплеи?

Форум — Desktop

$заглав

Неудобно, когда курсор попадет на отдельные дисплеи, хотелось бы по хоткею тоґлить эту возможность, например по-дефолтному в таких случаях Scroll Lock.

Погуглил вики наквадах и арчвики, там такого нет.

Подскажите пожалуйста, кто настраивал себе.

 

redhat
()

Rate me. Awesome wm network widgets.

Форум — Desktop

После перехода на netctl появилась необходимость в виджете вафли, а ничего хорошего реализовано не было поэтому и сабж. Github

 , ,

plotnikovanton
()

Arch Linux и Bash[РЕШЕНО]

Форум — General

В общем, собрал минимальную систему арч, настроил под себя и все дела, но есть одно «НО» - это то,что в командной строке(основной шелл - Bash) у меня как бы строка неполная(не до конца экрана) и при вводе символов, доходя до границы строки, баш начинает печатать на той же строке только в начале и как бы перепечатывает старые символы на новые. Так только с 1ой и втрой строкой, затем он доезжает до конца экрана и нормально переносит строки

 , , , ,

vikt3r
()

Яндекс.Погода + conky [Arch]

Форум — Desktop

Решил засунуть погоду от Яндекса в коньки. Перерыв пол-интернета в поисках решения, понял, что быстрее написать все лично. Может, кому пригодится=)

 #!/usr/bin/python
import re
import sys
import urllib

from urllib.request import urlopen
html = urlopen("https://pogoda.yandex.ru/nizhny-novgorod")
htmls = html.read().decode('utf-8')
tempera=re.compile(r'<div\ class="current\-weather__thermometer\ current\-weather__thermometer_type_now">(.*?)</div>')
temp=tempera.findall(htmls)[0].replace("&thinsp;","").replace("°C","")
windera=re.compile(r'<div\ class="current\-weather__info\-row\ current\-weather__info\-row_type_wind"><span\ class="current\-weather__info\-label">Ветер:\ </s$:\ </span>\ (.*?)<abbr')
wind=windera.findall(htmls)[0]
kompasera=re.compile(r'<abbr title=".*?">(.*?)</abbr>')
kompas=kompasera.findall(htmls)[0]
ftemp = open(r'/home/osabio/weather/temp', "w+")
ftemp.write(temp)
ftemp.close()
ftemp = open(r'/home/osabio/weather/wind', "w+")
ftemp.write(wind)
ftemp.close()
ftemp = open(r'/home/osabio/weather/kompas', "w+")
ftemp.write(kompas)
ftemp.close()

В коньках, соответственно просто запуск скрипта ${execi cat ~/bin/weather.py} и вывод из файла ${execi 60 cat ~/weather/temp} (wind, kompas).

Камнями прошу не кидать - на питоне пишу впервые.

<зануда on> время поиска решения ~2,5 часа, чтение манов и написание скрипта - ~25 мин.

время выполнения скрипта ~500 мс, за вычетом пинга ~470 мс. <зануда off>

 , , , ,

Deleted
()

Вопросы по Vim

Форум — Development

Выбрал Vim в качестве IDE (C-подобные языки) на слабом компьютере.

Почти все настроил, только не приходит в голову, как можно реализовать следующие вещи:

* Автодополнение скобок — привык к нему после QtCreator. Хотелось бы, чтобы после { автоматически появлялась следующая модель:

{
<Tab>
}
с курсором после Tab;

* Возможно ли выводить ошибки компиляции непосредственно в Vim, допустим в окне, отделенном split?

* Последнее — скрытие фрагментов кода по отступам, ну тут думаю все ясно

 , , ,

Daiquiri
()

awesome titlebar с боку

Форум — Admin

Как сделать заголовок с боку?

awesome такое вообще может?

 

GGUseR
()

Новый формат хранения изображений BPG - потенциальная замена JPEG

Новости — Мультимедиа
Группа Мультимедиа

Фабрис Беллар, широко известный как разработчик проектов QEMU, FFMPEG и JS-эмулятора x86, представил новый формат хранения изображений, BPG. Формат основан на подмножестве алгоритмов из видеокодека HEVC, и при сильном сжатии демонстрирует разительное отличие в качестве изображения с JPEG. Средства работы с новым форматом включают в себя библиотеку кодека libbpg, утилиты командной строки bpgenc и bpgdec, и JS-декодер, имеющий в сжатом формате размер всего 55Кб.

Основные преимущества:

  • Высокая степень сжатия исходного изображения. Файлы гораздо меньше при сопоставимом с JPEG качестве.
  • Наличие JS-декодера позволяет быстро реализовать поддержку формата в любом современном браузере.
  • Основан на открытом стандарте сжатия видео HEVC.
  • Поддерживает те же форматы представления цвета, что и JPEG (ч/б полутоновый, RGB, YCgCo, CMYK, YCbCr 4:2:0, 4:2:2, 4:4:4) с целью уменьшения потерь при конвертации. Альфа канал тоже поддерживается.
  • Поддерживает от 8 до 14 бит на канал, для достижения широкого динамического диапазона.
  • Поддерживает режим сжатия без потерь.
  • Возможно встраивание в изображение метаданных различных типов (EXIF, ICC profile, XMP).

>>> Подробности

 , , ,

vovan72
()

sed и кодировки

Форум — General

не большой вопрос
локаль системы utf-8
документ для sed с заменой подстрок идёт в кодировке cp1251
по идее кириллица для седа будет выглядеть как неправильный ютф-8, но вопрос, выхлоп будет в cp1251 и/или кириллица будет убита?

 ,

Zhopin
()

Наконец-то запилили нормальный Alt-Tab

Форум — Desktop

xwinmosaic, cyclefocus, особенно первый - полезные и годные реализации, но как-то, лично я, не был удовлетворен и в душе всегда не терял надежды, что запилят нормальный Alt-Tab.

И это наконец-то свершилось: http://i.imgur.com/t3910Xg.png

Недавно появилось, небоян:

там можно кастомизировать, нормальный запилить себе дезигн.

 ,

vim
()

Как отрендерить текст заданной ширины

Форум — General

День добрый.

Дан текст (небольшой, но произвольной длины, скажем 2 или 4 буквы), дан шрифт (установленный в системе, доступный по названию, не моноширинный, векторный, например ttf).

Как отрендерить этот текст, чтобы он по ширине занимал заданное количество пикселей?
Т.е. программа должна подобрать кегль (высоту букв), кернинг оставить дефолтный.

Желательна консольная программа. Желательно, чтобы сразу в png рендерила.

 , ,

Tayler
()

Awesome disable DPMS when fullscreen: solution

Форум — Desktop

В общем, надоело, что монитор гаснет при просмотре фильмов через браузерный флеш и когда играешь в вайне с геймпадом.

Сделал правило для awesome, которое вызывается когда окно входит или выходит в фуллскрин/из фуллскрина. Если есть окна в фуллскрине - DPMS отключается. Если нет окон в фуллскрине - включается.

Может кому пригодится:

client.connect_signal("property::fullscreen", function(c)
    local fullscreened = false
    for key,value in pairs(client.get()) do
        if(value.fullscreen == true) then
            fullscreened = true
            break
        end
    end
    if fullscreened then
        disable_powersaving()
    else
        enable_powersaving()
    end

end)

function disable_powersaving()
        awful.util.spawn("xset s off")
        awful.util.spawn("xset -dpms")
end

function enable_powersaving()
        awful.util.spawn("xset s on")
        awful.util.spawn("xset +dpms")
end

Lua не знаю совершенно, да.

Эта штука лучше lightsOn.sh тем, что у меня оный не заработал, и он, вроде как, заточен только на флешик.

Две недели пользую на двумониторной конфигурации, полёт нормальный.

Засовывать в ~/.config/awesome/rc.lua

 , , ,

NeverLoved
()