[X11] Инвертировать цвет окна
0) убгоий композитинг, который не умеет инвертировать цвета
1) разудтый композитинг, который умеет инвертировать цвета и делать ещё кучу ненужных вещей (compiz)
2) DIY композитинг, который умеет инвертировать цвета
Так что если хочешь минимализма, то вперёд - к самописному софту.
compiz как оконный менеджер не так уж и страшен. Ты же не обязан на него гном или кде налепливать
По работе приходится активно использовать проприетарный софт под названием matlab.
matlab -nodesktop -nosplash
А код набирать в emacs. Так я по крайней мере делаю, и мне совершенно посрать на цвет окон у матлаба.
0) убгоий композитинг, который не умеет инвертировать цветаКак это поможет решить мою проблему?
2) DIY композитинг, который умеет инвертировать цветаБоюсь, это не для меня. Для этого надо начать из далека - с освоения C++, затем только изучние спецификаций Xorg и freedesktop или исходников xcompmgr и xcalib. Несомненно, C++ - вещь полезная в жизни, но мотивация для его изучения "потому что matlab не поддерживает темы" как-то странно выглядит... Надо всё-таки свои ресурсы более рационально использовать, чем тратить уйму времени на горожение костылей вокруг проприетарщины.
1) разудтый композитинг, который умеет инвертировать цвета и делать ещё кучу ненужных вещей (compiz)да я совсем не против компиза как такового. Мне даже нравятся некоторые вещи. Например, визуальное переключение ворксейсов в desktop cube позволяет включить пространственное восприятие и делает ориентирование среди воркспейсов более естесственным. Но проблема в том, что не представляется возможным его скрестить с notion или каким-либо другим тайловым менеджером. А пользоваться плавающими, перекрывающимися окнами, без удобного управления с клавиатуры и поддержки скриптования, хуже, чем всего лишь светлые виджеты в одной, пусть и постоянно используемой, программе.
compiz как оконный менеджер не так уж и страшен. Ты же не обязан на него гном или кде налепливать
matlab -nodesktop -nosplashВот это мне уже больше нравится. Набрал такое и появилась интерактивная консоль, где можно набирать команды. Это хорошо... но во-первых, если набрать figure, то всё равно вылезет белое окно для отображения графиков, но это полбеды. Я могу представить, что я буду просто сохранять файлы и запускать их из этой консольки, но как насчёт дебага? Мне хочется бегать по циклам и иметь список переменных и их значений. Так же очень удобно открыть массив как таблицу и проглядеть/поправить что-нибудь.
Как быть с этим?
Так же очень удобно открыть массив как таблицу и проглядеть/поправить что-нибудь.Понятия не имею, не использую подобных средств отладки. Зачем мне отдельное окно с содержимым массива, если его можно вывести на экран просто поставив точку останова (или еще проще, вызвав неопределенную функцию) и напечатав имя массива без завершающей ; (можно писать A(1:10) или там A(:,1 ) если не нужен весь массив)?
Как быть с этим?
Как это поможет решить мою проблему?любимый продукт опенсорса: жричтодали. И вряд ли стоит ожидать другого. Попробуй xcompmgr доработать напильником, авось получится
update: и в самом деле допиливай xcompmgr он не сложный, вот тебе годный образец:
http://github.com/chjj/compton/blob/master/src/opengl.c
Просмотр переменных в виде таблиц действительно не столь критичный функционал и можно всё сделать из консоли.
любимый продукт опенсорса: жричтодали. И вряд ли стоит ожидать другого. Попробуй xcompmgr доработать напильником, авось получитсяПри чем тут опенсорц? Опенцорс как раз толерантен ко всяким проявлениям гичества. Если тебе хочется сделать матлаб чорным или там скрестить тайловый менеджер с компизом — никто не запрещает тебе делать это, есть все возможности, как-то: а) может кто-то уже это написал, б) можно попробовать попросить автора сделать нужное тебе в) можно, наконец, запилить это самому.
Но важно понять, что быть гиком — это значит иметь яйца, т.е. не просто кривить губу и хотеть странного, но и быть готовым, если понадобится, сделать это самостоятельно. Иначе ты не гик, а обычный инфантил и мудак, который нетрадиционностью своих запросов пытается выделиться, а еще ноет, когда ему навстречу никто не идет.
Хорошо, а как поставить точку остановки, если редактируешь в простом текстовом редакторе?Емакс, кажись, умеет отправлять скрипт на исполнение построчно или выделенным блоком, насчет "простых текстовых редакторов" — не в курсе, с этим тебе придется разбираться самому.
любимый продукт опенсорсаЩито?
Это в опенсорсе-то "жри, что дали"?. Если что, то у меня проблемы как раз из-за проприетарщины, в которой это "жри, что дали" доведено до полного абсурда, когда даже тему нельзя применить. А в опенсорсе всегда есть выбор. Может не такой богатый, многое ещё не сделано, что-то мало кому нужно. Вообще, инвертация одного окна - это, как-никак, костыль и ясно, что его никто не сделал. Разработчики опенсорса недолюбливают костыли.
update: и в самом деле допиливай xcompmgr он не сложный, вот тебе годный образец:Когда будет время и я осилю Страуструпа, то я бы с большим удовольствием прикрутил композитинг к notion. Но сейчас я всё-таки хочу поступить с учётом принципа Парето. Моя цель - научная публикация, которая войдёт в мой PhD thesis, а не композитинг для matlab.
http://github.com/chjj/compton/blob/master/src/opengl.c
#!/bin/bash
if [ -z $1 ]; then
echo "Convert octave source code into Matlab-compatible"
echo "Usage: $0 file"
exit 0
fi
# Always create a backup file
if [ ! -f "$1.bak" ]; then
cp "$1" "$1.bak"
else
echo "Backup file already exists!"
exit 1
fi
# 1. Convert octave-specific comments
sed -i "s/#/%/g" $1
# 2. Convert octave string separators
sed -i "s/\"/\'/g" $1
# 3. Convert `printf' into `fprintf'
sed -i "s/[^fs]printf/fprintf/g" $1
exit $?
И это как раз в опенсорсе нет альтернатив. А в закрытых были бы деньги - удобные программы найдутся. Так что если тебе принципиально жалко глаза: http://www.wikihow.com/Invert-Colors-on-Windows-7
http://matlab-emacs.sourceforge.net/
Правда нифига официальной документации нет
А emacs я давно хотел пощупать по-ближе, так как eclipse мне с каждым разом всё меньше и меньше нравится. Пожалуй, пойду по этому пути
И это как раз в опенсорсе нет альтернатив. А в закрытых были бы деньги - удобные программы найдутся. Так что если тебе принципиально жалко глаза: http://www.wikihow.com/Invert-Colors-on-Windows-7Да ты, оказывается, латентный проприераст!
Кто тебе мешает предложить деньги опенсорцному разрабу? Я вот однажды так поступил: предложил заплатить разработчику за потрирование нужной мне программы на нужный мне дистрибутив. Знаешь, что мне сказал разработчик? Он сказал, что еще никто никогда не заикался об оплате его труда — и сделал бесплатно. Думаю, ты сможешь сделать правильные выводы.
Так что если тебе принципиально жалко глаза: http://www.wikihow.com/Invert-Colors-on-Windows-7Ты меня поражаешь... уже винду начал советовать.
И чем решение по ссылке для винды отличается от полной инвертации всего через xcalib -i -a в иксах?
http://matlab-emacs.sourceforge.net/По-моему, это говно. Я смотрел, но не впечатлился, может тебе больше повезет. Я использую octave-mode для emacs, хотя он конфьюзится чисто матлабовым кодом — из-за этого приходится писать как для октавы, а потом конвертировать.
Правда нифига официальной документации нет
По-моему, это говно. Я смотрел, но не впечатлился, может тебе больше повезет. Я использую octave-mode для emacs, хотя он конфьюзится чисто матлабовым кодом — из-за этого приходится писать как для октавы, а потом конвертировать.Ну это фигово. У нас принят стандарт в виде матлаба, в идеале должна быть общая, используемая всей научной группой, библиотека (пока правда нет), так что хотелось бы писать под матлаб, а не октаву. Иначе нужно будет всех убеждать, что им нужно писать код, совместимый с октавой. Народ не поймёт.
Иначе нужно будет всех убеждать, что им нужно писать код, совместимый с октавой. Народ не поймёт.Не понял логики. Пиши сам для октавы, а остальным давай полностью совместимый с матлабом код, в чем проблема?
В идеале в моём представлении у нас должна быть общая бибилиотека часто используемых функций, в которую будут делать вклад все члены группы. Если она не будет совместима с октавой, то я с ней не смогу работать. А никто, кроме меня, этим заморачиваться не будет.
Ты меня поражаешь... уже винду начал советовать.ну так если тебе действительно нужно, можешь заплатить за винду. Запустить её в виртуальной машине и применить к ней указанную процедуру. Можешь попробовать найти разработчиков композита и заплатить им.
Винда ради винды?
ещё можно запустить какой-нить специально подпаченный Хефир а в нём уже матлаб
специально подпаченный ХефирЧто это?
Хорошо, а как поставить точку остановки, если редактируешь в простом текстовом редакторе?может так: http://www.mathworks.com/help/matlab/ref/dbstop.html
ГУЙ == ЗЛО!
Что это?xephyr или xnest
подпаченный Хефиртам нет 3d ускорения и композитинг будет софтварный
может так: http://www.mathworks.com/help/matlab/ref/dbstop.htmlОтлично! Прямо то, что надо!
Осталось разобраться как по команде edit открывать другой текстовый редактор, а по команде doc - системный браузер.
ГУЙ == ЗЛО!Гуй - не зло. Просто сделать нормальный гуй очень сложно. Да ещё к тому же почему-то считается, что если пишем гуи - то оринтируемся на пользователя-идиота.
там нет 3d ускорения и композитинг будет софтварныйЗачем мне 3d-ускорение и композитинг?
Вот CUDA может понадобиться...
xephyr или xnestМне попадалось кое-что по этому поводу пока гуглил:
http://stackoverflow.com/questions/11502519/invert-colors-of...
Так что как минимум со вторым так, похоже, не сработает.
Compton умеет инвертировать окна, так что там ничего не нужно патчить, просто поставить, разобраться и настроить.
2моноид:
Compton попробую, спасибо.
Оставить комментарий
dangerr
По работе приходится активно использовать проприетарный софт под названием matlab. Он, вроде как, написан на java с использованием стандартной графической библиотеки swing, но когда я нашёл как заставить java-swing приложения использовать тему gtk и сделал это, matlab всё равно проигнорировал. Гуглил на тему как заставить его следовать gtk-теме, потом пытался найти что-нибудь про собственную поддержку тем. Без толку: можно только менять цвета текстовых полей и расцветки синтаксиса, но не виджетов.В итоге решил идти методом костылей: просто инвертировать цвета в его окнах. Нашёл xcalib, позволяющий с флагами -i -a инвертировать вообще все цвета, но это, конечно, не подходит. Даже если просто поставить светлую тему и инвертировать вообще всё, я же не хочу картинки и видео видеть инвертированными.
Гуглил на тему инвертирования отдельного окна. Все активно советуют какой-то плагин на compiz. Советующие, очевидно, предполагают, что все пользуются metacity или kwin и разницы при переходе на compiz не заметят. В моём случае это не так. Если для инвертациии отдельного окна нужен композитинг, то он может работать и без композитного оконного менеджера. Во всяком случае, я пробовал запускать вместе с notion отельный композитный менеджер xcompmgr и это работало. Но в его мане я не нашёл опции для инверсии цветов, а так же возможности натравить его только на конкретные окна.
Если кто-то знает прямое решение (заставить matlab использовать тёмную тему), то это ещё лучше, но думаю, что вероятнее получится разобраться с инвертированием, чем настроить проприетарщину.