LINUX.ORG.RU

Сообщения fat_angel

 

Мелькание окон при использовании команды Move в FvwmAction

При использовании вот такой функции

DestroyFunc FvwmEventAddWindowFunc
AddToFunc FvwmEventAddWindowFunc
# Splash screen
+ I ThisWindow ("Untitled", "NoClass", "NoResource") Move screen c 50-50w 50-50w
+ I ThisWindow ("MPlayer|mplayer2|mpv") Move screen c 50-50w 50-50w
+ I ThisWindow ("fontforge", Transient) Move screen c 50-50w 50-50w
+ I ThisWindow ("fontforge", "FontForge|Font Info*|Glyph Info*|Validation*|Find Problems") Move screen c 50-50w 50-50w
+ I ThisWindow ("fontforge", "Open Font") Move screen c -0 -0

засунутой в add_window, я отчетливо успеваю заметить как окна сначала создаются, а затем мгновенно перемещаются. Это мелькание, не сильно, но раздражает. Оно решаемо?

P.S. Функции используются для корректного размещения окон в двухмониторной конфигурации.

 , , fvwmaction

fat_angel
()

Как в FVWM в команде Style указать одновременно Class и Resource

Привет!

Пытаюсь запилить автоматическое размещение окон многооконного приложения и столкнулся с тем, что не понятно как в конфиге FVWM для команды Style указать одновременно и Class и Resource. В мане пишется о том что парсер сначала пробегается по window name, затем window class и в конце window role. Судя по всему указать одновременно class, role и name (как это сделано во многих других WM, например openbox) тут нельзя. Или я ошибаюсь? Сейчас нагородил костылей с FvwmAction, ThisWindow и WindowClass, но может можно проще?

 ,

fat_angel
()

В чем профит этого вашего DNSCrypt?

Высунул нос тут из криокамеры и прознал про этот DNSCrypt, но не понял каким образом он является офигенной защитой DNS трафика.

Да от прослушки провайдером он защитит, но от прослушки и подмены DNS на самом сервере с DNSCrypt он ведь никак не защищает? Хорошо еще если на серваке с DNSCrypt поднят рекурсивный резольвер с DNSSEC (тот факт что большая часть серверов так и не умеет в него оставим для другого раза), но даже тут все на честном слове.

Как я вижу этот вопрос — мы не доверяем нашим провайдерам но доверяем непонятному дяде. В общем вопрос о безопасности DNS так и не решен (DNSSEC отсутствует чуть менее чем полностью).

Таки остается только TORDNS как наименьшая из зол?.. Хотя и он от подмены не защищен никак, только от прослушки.

 , , ,

fat_angel
()

XFontSet и все что с ним связано

Разбираюсь с функциями вывода текста в XLib и не могу понять почему текст выводится некорректно когда в фонтсете имеется только ISO10646 шрифт. Локаль en_GB.UTF-8, тестирую на следующем фрагменте

#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xresource.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>

static XrmOptionDescRec xrmTable[] = {
	{"-bg", "*background", XrmoptionSepArg, NULL},
	{"-fg", "*foreground", XrmoptionSepArg, NULL},
	{"-bc", "*bordercolour", XrmoptionSepArg, NULL},
	{"-font", "*font", XrmoptionSepArg, NULL},
};

unsigned long getColour(Display *dpy,  XrmDatabase db, char *name,
			char *cl, char *def){
	XrmValue v;
	XColor col1, col2;
	Colormap cmap = DefaultColormap(dpy, DefaultScreen(dpy));
	char * type;

	if (XrmGetResource(db, name, cl, &type, &v)
			&& XAllocNamedColor(dpy, cmap, v.addr, &col1, &col2)) {
	} else {
		XAllocNamedColor(dpy, cmap, def, &col1, &col2);
	}
	return col2.pixel;
}

XFontSet getFont(Display *dpy, XrmDatabase db, char *name,
		char *cl, char *def){
	XrmValue v;
	char * type;
	XFontSet font = NULL;
	int nmissing;
	char **missing;
	char *def_string;

	if (XrmGetResource(db, name, cl, &type, &v)){
		if (v.addr)
			font = XCreateFontSet(dpy, v.addr, &missing, &nmissing, &def_string);
	}
	if (!font) {
		if (v.addr)
		fprintf(stderr, "unable to load preferred font: %s using fixed\n", v.addr);
		else 
		fprintf(stderr, "couldn't figure out preferred font\n");
		font = XCreateFontSet(dpy, def, &missing, &nmissing, &def_string);
	}
	XFreeStringList(missing);
	return font;
}


GC setup(Display * dpy, int argc, char ** argv, int *width_r, int *height_r,
		XFontSet *font_r){
	int width, height;
	unsigned long background, border;
	Window win;
	GC pen;
	XGCValues values;

	XFontSet font;
	XrmDatabase db;

	XrmInitialize();
	db = XrmGetDatabase(dpy);
	XrmParseCommand(&db, xrmTable, sizeof(xrmTable)/sizeof(xrmTable[0]),
		"xtut7", &argc, argv);

	font = getFont(dpy, db, "xtut7.font", "xtut7.Font", "fixed");
	background = getColour(dpy,  db, "xtut7.background", "xtut7.BackGround", "DarkGreen");
	border = getColour(dpy,  db, "xtut7.border", "xtut7.Border", "LightGreen");
	values.foreground = getColour(dpy,  db, "xtut7.foreground", "xtut7.ForeGround", "Red");


	width = 400;
	height = 400;

	win = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), /* display, parent */
		0,0, /* x, y: the window manager will place the window elsewhere */
		width, height, /* width, height */
		2, border, /* border width & colour, unless you have a window manager */
		background); /* background colour */

	Xutf8SetWMProperties(dpy, win, "XTut7", "xtut7", argv, argc,
		NULL, NULL, NULL);

	/* create the pen to draw lines with */
	values.line_width = 1;
	values.line_style = LineSolid;
	/*values.font = font->fid; */
	pen = XCreateGC(dpy, win, GCForeground|GCLineWidth|GCLineStyle,&values);

	/* tell the display server what kind of events we would like to see */
	XSelectInput(dpy, win, ButtonPressMask|ButtonReleaseMask|StructureNotifyMask|ExposureMask);

	/* okay, put the window on the screen, please */
	XMapWindow(dpy, win);

	*width_r = width; *height_r = height;
	*font_r = font;

	return pen;
}

int main_loop(Display *dpy, XFontSet font, GC pen, int width, int height,
		 char *text){
	int text_width;
	int textx, texty;
	XEvent ev;
	int font_ascent;
	XFontStruct **fonts;
	char **font_names;
	int nfonts;
	int j;

	printf("%s:%d\n", text, (int) strlen(text));
	text_width = XmbTextEscapement(font, text, strlen(text));
	font_ascent = 0;
	nfonts = XFontsOfFontSet(font, &fonts, &font_names);
	for(j = 0; j < nfonts; j += 1){
		if (font_ascent < fonts[j]->ascent) font_ascent = fonts[j]->ascent;
		printf("Font: %s\n", font_names[j]);
	}


	/* as each event that we asked about occurs, we respond. */
	while(1){
		XNextEvent(dpy, &ev);
		switch(ev.type){
		case Expose:
			if (ev.xexpose.count > 0) break;
			XDrawLine(dpy, ev.xany.window, pen, 0, 0, width/2-text_width/2, height/2);
			XDrawLine(dpy, ev.xany.window, pen, width, 0, width/2+text_width/2, height/2);
			XDrawLine(dpy, ev.xany.window, pen, 0, height, width/2-text_width/2, height/2);
			XDrawLine(dpy, ev.xany.window, pen, width, height, width/2+text_width/2, height/2);
   			textx = (width - text_width)/2;
   			texty = (height + font_ascent)/2;
   			XmbDrawString(dpy, ev.xany.window, font, pen, textx, texty, text, strlen(text));
			break;
		case ConfigureNotify:
			if (width != ev.xconfigure.width
					|| height != ev.xconfigure.height) {
				width = ev.xconfigure.width;
				height = ev.xconfigure.height;
				XClearWindow(dpy, ev.xany.window);
			}
			break;
		case ButtonRelease:
			XCloseDisplay(dpy);
			return 0;
		}
	}
}

int main(int argc, char ** argv){
	int width, height;
	Display *dpy;
	GC pen;
	XFontSet font;
	char *text = "Hello World ñ! ";
	setlocale(LC_ALL, getenv("LANG"));

	/* First connect to the display server */
	dpy = XOpenDisplay(NULL);
	if (!dpy) {fprintf(stderr, "unable to connect to display\n");return 7;}
	pen = setup(dpy, argc, argv, &width, &height, &font);
	if (argv[1] && argv[1][0]) text = argv[1];
	return main_loop(dpy, font, pen, width, height, text);
}

Если в фонтсете есть все кодировки (например для fixed) то текст выводится правильно. Если же имеется только ISO10646, то некорректно выводится даже латиница (вместо нее иероглифы). Причем поведение идентично при использовании Xmb*, Xwc* и Xutf8* вариантов функций. Не понятно почему при использовании юникодной локали и юникодного шрифта текст выводится неправильно.

 , xfontset,

fat_angel
()

Применение sphinx-autodoc для проектов на C

Интересует опыт использования Sphinx для генерации документации по докстрингам в проектах на C. В самос Sphinx как я понял таких возможностей нет. Поиск выдал расширение kernel-doc которое с недавних пор применяется в ядре и breathe — велосипед вокруг Doxygen. Второй вариант не нравится в силу монструозности, первый специфичен для ядра и требует доработки. Может есть еще какие-нибудь расширения подобного рода? Пробовал ли кто-нибудь допиливать kernel-doc до более-менее универсального решения?

 , ,

fat_angel
()

Запуск команд по расписанию с обязательным выполнением

Возникла необходимость не частого запуска команд к примеру пару раз в месяц или в год. При этом их необходимо выполнять в обязательном порядке и строго определенное число раз, а вот конкретное время и день запуска не столь важны. Конечно есть крон и at, но они не в состоянии запустить команду после назначенного времени если в нужный момент компьютер был выключен. Есть что-нибудь готовое?

 systemd не нужен

fat_angel
()

Центрирование окон в FVWM в многомониторных конфигурациях

Проблема в следующем: при использовании двух и более мониторов (xinerama или xrandr) опция

PositionPlacement Center
центрирует окно не относительно границ монитора, а относительно глобального виртуального рабочего стола, так, что окна появляются как раз на границе двух мониторов. Опция
StartOnScreen c 
не особо помогает, о чем сказано в документации.

В общем есть ли в FVWM способ задания абсолютного положения окна относительно монитора, а не глобального экрана?

 , , , ,

fat_angel
()

Нужен live usb с последней версией ядра для установки Gentoo

Обычно пользуюсь SystemResqueCD но там слишком протухшее ядро, для моей сетевой карты Intel I218-V (PCI 8086:15a1), lkddb говорит, что требуется минимум 3.16. Нужен liveusb со всеми административными инструментами (работа с ФС, mdraid, lvm, etc), способный загружаться в uefi режиме. Мое гугл-фу сегодня не в форме, поэтому спрашиваю здесь.

 ,

fat_angel
()

Самые годные альтернатива гугл-маркету?

В общем вчера купил ондроедопланшет и был неприятно удивлен тем, что оно не умеет в ad-hoc (с разморозкой как говорится, ага). Настроить PAN тоже не особенно получилось. Поскольку достать нормальную wifi-карточку умеющую в managed mode в ближайшие несколько дней не представляется возможным, а поиграться с девайсом хочется уже сейчас, разыскиваются сайты с которых можно невозбранно скачать *.apk без закладок, вирусов и троянов.

 ,

fat_angel
()

А есть ли здесь обладатели HP SlateBook x2?

Наткнулся вчера на маркете на сей аппарат. Хотелось бы услышать отзывы обладателей или сопричастных. В девайсе радует цена и неплохая начинка, но во многих обзорах пишут про приличное количество разных мелких косяков.

Основное предназначение — портативная развлекательная станция. Соответственно хочется узнать как у него с качеством звука (в наушниках естественно)? Способен ли он воспроизводить 1080p 10-bit (hi10p) видео (ониме, да) или хотя бы 720p.

Второе предназначение — читалка pdf и djvu, достаточно ли на нем хороший экран?

Так же интересно узнать реально ли его использовать для быдлокодинга (python, c), можно ли на ондроеде вести разработку под сам ондроед? Насколько дерьмовая клавиатура?

Поскольку в планшете есть hdmi выход хотелось бы узнать как он работает со внешними мониторами, особенно с мониторами имеющими «нестандартное» разрешение (мой монитор имеет разрешение 1600×1200)?

Насколько девайс поддается настройке? Легко ли получить рута? Можно ли обновить андроид до более новой версии? Можно ли поставить на него альтернативную ОС или хотя бы полноценное POSIX-окружение?

 , , slatebook x2,

fat_angel
()

Симфопрог с вокалоидами — это фантастика? Фиг там реальность!

Здравствуйте мои дорогие любители странной музыки. Сегодня я хочу представить вам офигеннейший альбом: «Story Teller» от «OSTER project» 2012 года выпуска. Сие чудесное произведение является сплавом высочайшего качества из симфонической музыки, с примесями электроники и прога и вокала в исполнении Мику, Люки, Рин и Лен, а также Гуми.

В общем ценители оценят, а говнари смешают с говном, все как обычно.

http://vocaloid.wikia.com/wiki/Story_Teller_-_Album

Искать сами знаете где…

 progressive rock, synphony, vocaloid, you want some strange

fat_angel
()

Этти без гарема и ОЯШ'ей — фантастика или реальность?

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

 ,

fat_angel
()

Реквестирую советов по организации коллекции классической музыки

${SUBJ}.

С современной музыкой проблем обычно не возникает, сортировка идет по исполнителю и году-альбому. С классической музыкой все несколько сложнее, классификацию можно вести по композитору, дирижеру, оркестру. Понятное дело, что в тегах можно прописать все три поля, но как быть со структурой коллекции на жестком диске? Так же не стоит забывать про общепринятые системы классификации вроде BWV, стоит ли их учитывать и если да то как?

Еще интересно, кто как поступает с дисками на которых размещено более одного произведения — разбивает и хранит каждое в своей директории или оставляет как есть?

 , ,

fat_angel
()

При выводе звука через JACK приложения жрут over 9000 памяти

Решил тут рулить своей недавно приобретенной E-Mu 0204 через JACK. Начать эксперименты было решено с XMMS2. Все работает, каналы в qjackctl переключаются, вот только при установке в xmms2 в качестве выходного модуля JACK через

xmms2 server config output.plugin jack

потребление RSS памяти возрастает раз так в 12-13, с примерно 11-12 Мб (при использовании чистой alsa) до ~140-160 Мб.

Та же фигня с mplayer'ом — потребление памяти возросло примерно в 2 раза с ~40 Мб до ~80 Мб.

Так вот вопрос в следующем — это такая особая фишка JACK или его надо как-то по особому готовить?

Интересно еще было бы услышать как с потреблением памяти обстоят дела в других аудио серверах? Быстрый гуглеж показал, что в PA все примерно так же печально.

 , , , ,

fat_angel
()

Под это ваше Qt нормальные темы оформления вообще существуют?

Смотрю все так радуются переходу многих проектов с GTK на Qt, а между тем под этот самый Qt нет ни одной нормальной темы оформления.

QtCurve настоиграл даже самому автору, да и настроить его без KDE нереально (про ~/.config/qtcurve/stylerc я как бы в курсе но оно же нифига не докуметировано). QGtkStyle это даже не смешно — отказываться от GTK, чтоб потом все равно тащить его в систему только ради оформления есть бред. Всякие QMotifStyle или QCDEStyle имеют различные мелкие, но неприятные глюки с отрисовкой.

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

 , , , ,

fat_angel
()

А как ты выбирал TLD для доменного имени своей локальной сети?

${SUBJ}

Покупать реальное доменное имя это круто конечно, но для сетей из двух-трех машин перебор как я думаю. .local насколько я понял зарезервировано для mDNS, хотя если не будут использоваться маки или avahi то проблем вроде не должно быть.

З.Ы. Все у кого domainname не установлен могут смело проходить мимо.

 , ,

fat_angel
()

Использование имени сетевого интерфейса вместо имени туннельного устройства в IPFW NAT

Админю свой локалхостый, файлопомоечный роутер на фряхе и столкнулся с небольшой трудностью. Интернеты я получаю через pppoe, на сервере поднят pppd, все работает. Пытаюсь раздать интернеты в локальную сеть для чего решил использовать IPFW с его kernel_nat. С простейшим конфигом вида

nat 1 config if tun0 log reset same_ports
add 10000 nat 1 ip from any to any via tun0 
add 65534 allow all from any to any
все работает, однако напрягает то, что необходимо указывать имя туннельного устройства (tun0) вместо имени сетевой карты (bge0 в моем случае). Можно ли это как-нибудь исправить? Как обстоят дела с этим вопросом в ipf и pf?

P.S. Линупс тут не причем, зашел через opensource.ru.

 , , ,

fat_angel
()

DNS серверы с поддержкой RFC 2136

А какие DNS серверы, кроме BIND и PowerDNS, умеют в RFC 2136 «Dynamic Updates in the Domain Name System (DNS UPDATE)»? Нужно настроить DHCP с автоматическим обновлением информации об именах хостов.

 , rfc2136

fat_angel
()

Разыскивается торрент-трекер со странной музыкой

Захотелось значит мне разжиться всякой странной и непопулярной музыкой из страны восходящего солнца, а на рутрекере ни «The Oral Cigarettes», ни «KANA-BOON», да и «Tricot» всего пара альбомов и те в унылом mp3 (ладно хоть так). Так вот где многоуважаемый ${ALL} достает, малоизвестную, но безмерно интересную музыку из самых отдаленных уголков нашей планеты?

 , ,

fat_angel
()

Еще одно доказательство почему меньше значит больше

Отличное подтверждение знаменитого принципа минимализма «less is more» широко использовавшегося небезызвестным Людвигом Мис Ван Дер Роэ.

Хотелось бы узнать из какой это манги? Или это вообще не из манги?

Ъ: Чем меньше сиськи тем больше у них радиус кривизны поверхности.

 dfc, ,

fat_angel
()

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