LINUX.ORG.RU

Сообщения lv

 

i3 panel (polybar?) как сделать фиксированное расположение виджетов

Форум — Desktop

Всем привет!

В polybar настройка местоположения виджетов - относительное. То есть они все распихиваются вправо/влево/по-центру один за другим. И если изменяется объём выводимой информации в одном из них - часть виджетов дружно сдвигается. Хотелось бы избавиться от этого дёрганья - чтобы можно было, например, задать каждому виджету фиксированный размер. Тогда он будет занимать на панели строго своё, отведённое ему место.

Использую в i3 polybar, но это не принципиально - может посоветуете что другое, поддерживающее описанный функционал.

 ,

lv
()

Обозначение неймспейсов имён переменных и функций

Форум — Development

Здравствуйте!

При написании c++ кода придерживался правила «всегда писать перед членами класса this->». Так мне проще потому, что всегда сразу вижу, что вот это вот член класса, а не локальная/глобальная переменая или ещё что. Ну и никаких «using namespace ...» - всегда его с :: приставляю.

Мой гораздо более опытный товарищ, сказал, что мой «вислый» код это не есть хорошо и вобще чаще встречается иная практика - если перед именем ничего нет - это член класса (или локальная переменная, да). А чтобы обозначить глобальные имена нужно писать ::var и ::func(). Но тут засада с именами параметров методов, если они совпадают с членами класса. Переданный x имеет приоритет над членом класса и нужно писать, например, this->x = x.

Какой подход вам видится более последовательным и удобным? Не обязательно один из представленных выше. Может есть описанный кодстайл, в котором этот вопрос рассматривается.

 ,

lv
()

Пентагон интригует (обещает раскрыть данные об НЛО)

Форум — Talks

Видео от пентагона с НЛО уже выкладывалось в паблик. То есть по крайней мере есть уверенность, что не фотошоп: https://edition.cnn.com/2020/04/27/politics/pentagon-ufo-videos/index.html

Теперь вот пообещали ещё какие-то данные раскрыть: https://www.rbc.ru/society/25/07/2020/5f1bd2889a7947c5ef24a33c

Что по этому поводу думает/знает в основном технически грамотное сообщество ЛОРа? Может кто анализировал видео или может поделиться ссылкой на такой качественный анализ? Как думаете, какая инфа будет раскрыта? Навряд ли «мы так ничего и не нашли», может что-то типа «установлено, что это физические объекты, но природа их пока неизвестна». Вобщем, кто что думает? Тема-то потенциально очень интересная.

 

lv
()

Рамочка вокруг окошечка в качестве индикатора раскладочки

Форум — Desktop

Захотелось своеобразного - видеть что сейчас за раскладка активна по цвету рамки активного окна.

FVWM2. После недолгого поиска, решение видится мне следующим: Запилить демона, который будет хватать события от xorg - xkb и при смене layout сигналить в сокет. А для fvwm - модуль, повисающий на этом сокете и меняющий рамку по событию.

Ну или организовать ловлю события xkb в модуле FVWM. Но на сайте либы x11 для перла написано, что там всё как-то переусложнено, медленно стартует и т.д. Так что может лучше легковесный демон на Си.

FvwmEvent - не умеет ловить нужное событие. Из х-тулзей тоже не нашёл ничего подходящего.

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

 , ,

lv
()

Минимализм на FVWM прошедший через года.

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

Привет, Лор!

Мой этап ковыряний FVWM давно позади, уже выкладывал скрин процесса в галерею с описанием вот здесь: FVWM для на ноуте

Начинал с экспериментов с fvwm-crystal, написал некоторое количество модулей на perl, но постепенно отказался от различных элементов окружения из-за ощущения их ненужности.

Позже сформировал для себя концепцию десктопа и живу с ней уже больше 10 лет. И вот стало интересно — что в её рамках можно ещё улучшить?

Из обыденного десктопного, но как по мне - ненужного:

  • Значки на рабочем столе — не нужны, так как для запуска/деиконификации/иконификации основных используемых программ есть хоткеи. А для неосновных есть менюшка и rofi. Ну и когда всё свёрнуто, приятнее на чистую-красивую обоину втыкать.
  • Несколько десктопов — не нужно, так как монитор всё равно один. И каждый раз на фуллскрин запущена какая-то конкретная прога. Нет смысл по хоткею идти на другой деск, когда по хоткею же можно развернуть другую прогу в текущей рабочей области.
  • Тайлинг - не нужен, так как проще переключаться между полноэкранными приложениями - в моём воркфлоу не встречается ситуаций, когда мне нужно видеть сразу два окна разных приложений.
  • Заголовки окон — не нужны, так как все действия с окнами удобнее совершать хоткеями.
  • Бары со значками для запуска приложений — не нужны как и значки на рабочем столе.
  • Бары с инфой о системе или вывод её поверх обоины (конки) — не нужно, так как можно открыть окно с такой инфой по хоткею (тот же конки) — пусть обоина остаётся чиста, а стороны дисплея — не заняты.
  • файловый менеджер — не нужен, так как для большинства задач достаточно консоли с ls, cd и вот этим вот всем, а когда недостаточно (файлопомойка, где желательно видеть превьюхи картинок), использую xnview

Итого в остатке:

  • Для часто используемых приложений есть хоткеи. По хоткею приложение если не запущено — запускается и максимизируется, если запущено и активно — сворачивается, если свёрнуто — разворачивается.
  • Приложения разбиты на «группы исключений». Если разворачивется приложение из группы А, то если есть другое развёрнутое из этой же группы, то оно сворачивается. Но разворачивание аппы из А никак не сказывается на приложении группы Б. Удобно, допустим, все терминалы загнать в группу А, а браузер, в группу Б. Тогда упрощается совместное использование браузера и терминалов. Браузер может быть открыт всё время, а разными хоткеями открываю различные терминалы. После открытия нового терминала остальные сворачиваются, а окно браузера остаётся на месте. Для реализации таких групп написан модуль FvwmUpWindow.
  • Приложения на хоткеях: conky, rofi (drun,run), skype, libreoffice, evince, xnview, chrome, calcoo, smplayer, audacious, urxvt. На 4 хоткея забито восемь отдельных сессий терминалов (win+U, win+I, win+O, win+P, win+shift+U …). Восьми терминалов «хватит всем», так что screen/tmux посчитал лишней сущностью. Бэкграунд терминалов подсвечен разными цветами, чтобы не путаться какой сейчас апнут.
  • Так же на хоткеях изменение громкости, гаммы, движение, ресайз и прочее с окнами (завязано на hjkl) на тот случай, если не устраивает maximazed вариант.
  • По хоткею — WindowList — увидеть, что уже запущено, что-то развернуть, закрыть.
  • По хоткею — менюха с основными приложениями. Там и те, что заслужили хоткей и те, что нет, но тоже быстрый доступ удобен. Можно в принципе всё через rofi организовать и десктоп файлы, но пока влом.
  • Compton — для спецэффектов: постепенное сворачивание окон, небольшая прозрачность на терминалы.

В ленивом туду:

  • Сделать автомонтирование через udiskie
  • Прикрутить dunst для оповещений - того же автомонтирования, может чего ещё.
  • Ииии… всё. Фантазия закончилась. Вроде всё работает и всё устраивает. Возможности FVWM задействованы по-минимуму (~250 строк конфиг и ~100 — модуль на перле), и можно бы от FVWM отказаться, но не вижу смысла, да и иметь эти возможности про запас кажется разумным. Но вот стало интересно — куда в описанной парадигме можно двинуться дальше и чего такого удобного-прикольного замутить?

PS. Конфиг fvwm, compton, модуль, обоина и скрипт для старта, а также конфиг conky и .Xdefaults с конфигом urxvt - в архиве: https://drive.google.com/file/d/1IGeNjQGs3_oSPqZj8DW0FXOypYb72kwA/view?usp=sharing

>>> Просмотр (1920x2160, 1792 Kb)

 , ,

lv
()

[GIT] Накидайте советов фанбою.

Форум — Development

Здравствуйте.
Использую гит в работе над проектом. Репозитарием пользуются два человека. Есть сервер, на котором в gitosis лежит ветка master, в которую и сыплются все изменения. Недавно запоганили историю (rebase у себя по уже выложенному на сервере не рулит), но её я уже привёл к линейному виду. В связи с чем возник вопрос - как после rebase восстановить имя автора коммита? А то теперь много где моё имя фигурирует, хоть эти изменения и не я вносил. Ну и просьба поделиться опытом - кто как гит использует и что неожиданно полезного в нём для себя открыл. Сам изучал по http://progit.org/book/ Тут много чего интересного - может кому пригодится. Интересуют моменты из личного опыта, не охваченные этим источником. Интересные ссылки также приветствуются :)
Спасибо.

 

lv
()

[arm][C] Отлов утечек памяти.

Форум — Development

Здравствуйте.
Есть приложение, крутящееся на арме. Оно где-то течёт. Какую тулзу для отлова утечек посоветуете?
Спасибо.

 ,

lv
()

[sofia-sip] Указать используемый транспорт.

Форум — Development

Здравствуйте.
Просьба откликнуться тех, кто использовал/использует библиотеку sofia-sip.
Нужно указать для разных nua_handle использование различных портов для отправки сообщений. То есть что-то помимо стандартного 5060. В документации написано, что NUTAG_URL() в применении c nua_set_params может дать такой эффект.
http://sofia-sip.sourceforge.net/refdocs/nua/nua__tag_8h.html#c6ee462a0dd5ac1...
Проверил - не работает.
Указание SIPTAG_CONTACT тоже не даёт такого эффекта.
Что делать? :(
Спасибо.

lv
()

[kernel] Пересылка UDP минуя user space

Форум — Development

Здравствуйте.
Есть необходимость пересылать UDP-пакеты внутри kernel space, не занимаясь их получением в user space`е и последующей отправкой на сокет. Нужно это для повышения производительности (избавляемся от копирования данных kernel -> user -> kernel).
Как мне представляется, нужно написать драйвер, которому задаются через ioctl параметры сокетов, портов, TOS, что-то ещё при желании. И этот драйвер должен заниматься тем, что будет пересылать пакеты с сокета на сокет внутри ядра.

Предполагаю, что для написания этой радости мне нужно ознакомиться с LDD разделом «Сетевые устройства» и ковырять ядро в части реализации сокетов и всего, что с ними связано. Может что ещё посмотреть присоветуете? Может даже какие-то готовые реализации уже есть?
Спасибо.

 

lv
()

[аларма] Дать отпор вендотроллям.

Форум — Talks

На одном из форумов вендотроль подкинул это: http://articles.org.ru/blog/item/1033/catid/12#1 там многабукв и самостоятельно всё рассматривать и, при необходимости, опровергать нет ни желания ни времени. Может кто поделится ссылкой на "контр-статью"?

lv
()

[C, socket] Как узнать какой объём данных доступен для чтения?

Форум — Development

У Стивенса есть про fcntl с cmd FIONREAD. Но, похоже, это не везде реализовано. А чем можно узнать длину сообщения, лежащего в приёмном буфере сокета?
Спасибо.

lv
()

[C, mktemp] Что на замену?

Форум — Development

Здравствуйте.
GCC говорит, что
warning: the use of `mktemp' is dangerous, better use `mkstemp'
В мане сказано, что
Never use mktemp(). Some implementations follow 4.3BSD and replace XXXXXX
by the current process ID and a single letter, so that at most 26 differ‐
ent names can be returned. Since on the one hand the names are easy to
guess, and on the other hand there is a race between testing whether the
name exists and opening the file, every use of mktemp() is a security
risk. The race is avoided by mkstemp(3).

Но mkstemp нужен не просто для генерации уникального имени - он тут же открывает файл с таким именем (в то время как мне, например нужна просто генерация для клиентского sockaddr_un.sun_path, то есть файл такой создавать не нужно).

Есть ещё tempnam и tmpnam - но там кругом "never use this function".

Как лучше поступить? :)
Спасибо.

lv
()

[уголок гентушнега] cat /var/lib/portage/world

Форум — Talks

Здравствуйте, братья во генте. Предлагаю выкладывать свои ворлды.
Может кому что интересным и полезным покажется -
какими-то программами кто заинтересуется.. а кто-то кому-то скажет что он ламо, да ещё и аргументирует это интересными способами..

app-admin/conky
app-admin/cpulimit
app-admin/sudo
app-admin/syslog-ng
app-arch/p7zip
app-arch/rar
app-arch/unrar
app-arch/unzip
app-arch/zip
app-cdr/cdrtools
app-dicts/aspell-ru
app-dicts/myspell-ru
app-dicts/stardict
app-doc/doxygen
app-editors/vim
app-emulation/wine
app-misc/screen
app-office/openoffice-bin
app-portage/deltup
app-portage/eix
app-portage/elogv
app-portage/emerge-delta-webrsync
app-portage/genlop
app-portage/gentoolkit
app-portage/getdelta
app-portage/layman
app-portage/portage-utils
app-shells/gentoo-bashcomp
app-text/acroread
app-text/tree
app-vim/colorschemes
app-vim/taglist
app-vim/vim-spell-en
app-vim/vim-spell-ru
dev-lang/lua
dev-lang/python
dev-libs/nss
dev-lisp/clisp
dev-perl/Chart
dev-perl/DateTime
dev-perl/gtk2-perl
dev-util/ccache
dev-util/colorgcc
dev-util/ctags
dev-util/diffstat
dev-util/git
dev-util/indent
dev-util/pkgconfig
dev-util/scons
dev-util/strace
dev-util/subversion
games-arcade/kobodeluxe
games-fps/quake3
games-misc/fortune-mod
games-misc/fortune-mod-sp-fortunes
mail-client/mutt
mail-filter/procmail
mail-mta/msmtp
media-fonts/corefonts
media-fonts/cronyx-fonts
media-fonts/font-cronyx-cyrillic
media-fonts/font-misc-cyrillic
media-fonts/font-screen-cyrillic
media-fonts/font-winitzki-cyrillic
media-fonts/freefont-ttf
media-fonts/freefonts
media-fonts/intlfonts
media-fonts/terminus-font
media-gfx/gimp
media-gfx/gqview
media-gfx/imagemagick
media-libs/mesa
media-sound/alsa-tools
media-sound/alsa-utils
media-sound/mpc
media-sound/mpd
media-sound/ncmpc
media-sound/setmixer
media-sound/sonata
media-video/mpeg2vidcodec
media-video/mplayer
net-analyzer/netcat
net-analyzer/nmap
net-analyzer/sniffit
net-analyzer/tcpdump
net-analyzer/traceroute
net-dialup/minicom
net-firewall/iptables
net-fs/mount-cifs
net-ftp/easyftp
net-ftp/tftp-hpa
net-im/centerim
net-im/gajim
net-im/licq
net-libs/xulrunner
net-mail/fetchmail
net-misc/dhcp
net-misc/urlview
net-p2p/linuxdcpp
net-wireless/iwl3945-ucode
net-wireless/wireless-tools
sci-calculators/pcalc
sci-visualization/gnuplot
sys-apps/fbset
sys-apps/halevt
sys-apps/hdparm
sys-apps/iproute2
sys-apps/lshw
sys-apps/parted
sys-apps/pciutils
sys-boot/grub
sys-devel/distcc
sys-devel/gcc
sys-fs/progsreiserfs
sys-fs/reiserfsprogs
sys-kernel/module-rebuild
sys-kernel/vanilla-sources
sys-libs/glibc
sys-power/cpufrequtils
sys-power/pm-utils
sys-process/htop
sys-process/vixie-cron
virtual/libc
virtual/perl-Archive-Tar
virtual/perl-Module-Build
www-client/links
www-client/opera
www-plugins/adobe-flash
x11-apps/intel-gpu-tools
x11-apps/mesa-progs
x11-apps/xbacklight
x11-apps/xconsole
x11-apps/xfontsel
x11-apps/xkbprint
x11-apps/xlsfonts
x11-apps/xsetroot
x11-base/xorg-x11
x11-drivers/xf86-input-keyboard
x11-drivers/xf86-input-mouse
x11-drivers/xf86-video-intel
x11-libs/xosd
x11-misc/dmenu
x11-misc/driconf
x11-misc/habak
x11-misc/xbindkeys
x11-terms/rxvt-unicode
x11-themes/licq-themes
x11-wm/fvwm

lv
()

[Специалистам] Изучение английского.

Форум — Talks

Здравствуйте.
Имею желание подучить и попрактиковаться в английском языке. Текущий уровень (pre-?)intermediate + большой опыт разбирательства с технической документацией. Для этого богоугодного дела сейчас качаю "the big bang theory" в оригинале с сабами, пойду в книжный - прикуплю учебников, ну и потом, после самостоятельного изучения, планирую обратиться к профессиональным преподавателям. У нас в Новосибирске заинтересовали:
1. Big Ben http://bigben-nsk.ru/teaching-novosibirsk/
2. YES http://novosibirsk.yescompany.ru/
3. English First http://www.englishfirst.ru/summeradult/
Желаемый для достижения уровень - IELTS на 9 баллов.
Может поделитесь опытом, посоветуете чего? :)

 

lv
()

Выбор принтера

Форум — Linux-hardware

Здравствуйте.
Хочу приобрести принтер, но так как под линуксом ещё ни одного принтера не запускал, решил выбор модели начать здесь.
Использоваться будет для печатанья большого количества текста -> хочу взять лазерный ч/б. Использоваться будет в домашниих условиях, так что наличие сетевого интерфейса хоть и желательно, но не обязательно. Никаких прочих наворотов не нужно - просто недорогая лазерная печать текста.
Посоветуйте, основываясь на собственном опыте пользования, модель, нормально работающую в linux и какое-нибудь how-to как всё это настроить и запустить.
Спасибо.

lv
()

Big history

Форум — Talks

У кого что есть по сабжу? Наткнулся вот недавно на сей феномен.. решил побольше инфы собрать.
http://www.ogoniok.com/4923/28/
Ъ:
В подмосковной Дубне прошел международный симпозиум со скучным названием «Процессы самоорганизации в Универсальной истории». Договорились о том, что история человечества заканчивается прямо у нас на глазах и мир уже начал необратимо изменяться
....
Например, Дэвид Кристиан, профессор Университета Сан-Диего. Именно он 10 лет назад дал название новой науке, которую на симпозиуме переводчики окрестили почему-то Универсальной историей. Дэвид придумал термин Big History — Большая история. Именно под этим лейблом самую модную науку современности знают в мире.

Большая история — междисциплинарное знание: на конгрессах встречаются психологи, космологи, геологи, генетики, биологи, физики, кибернетики. Каждый говорит о своем, но все друг друга неплохо понимают. Потому что все доклады, по большому счету, посвящены одному — эволюции. Собственно, эволюция мироздания во всех ее проявлениях и является предметом исследования Большой истории.
....
Во второй половине ХХ века ученые обнаружили, что существуют некие общие закономерности развития живой и неживой материи. Было предложено объединить усилия специалистов в разных областях, чтобы повнимательнее рассмотреть обнаруженное явление. И выяснилось, что историю человечества, историю возникновения и развития жизни на Земле, геологическую эволюцию и саму космогонию (историю происхождения Вселенной) можно рассматривать как части одного процесса.

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

Но одновременно наука получила встречный удар. Она, почитавшая человека вершиной эволюции, наткнулась на простой вывод: на бесконечной лестнице самоорганизации человек всего лишь одна ступенька. Проходная.
....
---------------
Вот тут ещё выступление интересное послушать можно:
http://echo.msk.ru/guests/584354-echo/

lv
()

[киберпанк] Сильный сверхразум.

Форум — Talks

Мы тут эта... плюш^Wтрансгуманизмом балуемся. Вот возник вопрос, какие улучшения для разума вы видите, чтобы перевести ео в категорию "Сильного".
Траву раздают тут:
http://www.transhumanism-russia.ru/content/view/6/93/#superintelligence
Для тру:
Под сверхразумом понимается любой разум, значительно превосходящий лучшие умы человечества практически во всех областях, включая научные исследования, житейскую мудрость и социальные навыки.

Иногда различают слабый и сильный сверхразумы. Слабый сверхразум - это то, что получится, если бы можно было запустить человеческий мозг с увеличенной скоростью, возможно, посредством загрузки человеческого сознания в компьютер [см. "Что такое загрузка?"]. Если рабочая частота загруженного сознания будет в тысячу раз больше, чем у биологического человеческого мозга, оно будет воспринимать реальность замедленной в тысячу раз. Это означает, что за определенное время оно сможет обдумать в тысячу раз больше мыслей, чем его натуральный двойник.


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

 

lv
()

halevt - оно как вообще работать должно?

Форум — Desktop

Здравствуйте.
Пытаюсь заставить работать сабжевую программу из по gentoo.
Запускаю с ключём -i - вижу события hal`а при втыкании/вытыкании флешки, запускаю в качестве демона (rc-config start halevt) - втыкаю флешку - в /etc/mtab никакких изменений, к прописанной точке монтирования в /etc/fstab ничего не примонтировано, halevt-mount -la показывает мой девайс
/org/freedesktop/Hal/devices/volume_uuid_FB94_5463:/dev/sdb1 (ignore false)
В /etc/halevt/halevt.xml изменений никаких не вносилось - судя по всему там базовый функционал реализован...
Так как оно всё работать-то должно, куда монтировать и т.д.?
Спасибо.

lv
()

[vim] vs gvim Ошибка при отрисовке

Форум — Development

Смотрю плагин taglist - приятная вещь - одно вот только не радует - в консольном vim-е при втором и далее раскрытии окна taglist-а то содержимое основного окна, что не поместилось в экран просто рисуется поверх этого самого таглиста. Ну и ещё кучка неприятных косяков с этим связанных. В gvim-е такого не заметил. Всегда пользовался консольной версией и не хотелось бы переходить на gvim, может кто-нибудь уже сталкивался с подобной проблемой и поборол её?
[g]vim-7.2.182
Спасибо.

 

lv
()

[kernel] schedule_timeout() влияет на задержку в обработке ip-пакетов?

Форум — Development

Собственно, есть две машины - A и B, объединённые в сеть. На A запущен флуд-пинг по направлению к B. На B в драйвере одного устройства есть место, где вызывается
set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout(500);
На момент этого вызова пинг показывает, что задержка растёт, по окончанию же работы показывает, что на все пакеты был получен ответ.

Я не сильно хорошо представляю работу сети в линукс, поэтому вопрос - как schedule_timeout() влияет на обработку входящих ip/icmp пакетов и, если он эту обработку задерживает, то есть ли возможность заменить его чем-нибудь эквивалентным (чтобы выполнялось отложенное действие), но чтобы сеть не "висла"?

Спасибо.

 

lv
()

RSS подписка на новые темы