Как некоторые из форумчан уже слышали, меня волновала тема, как бы сделать так, чтобы содержимое в браузере сделать потемнее.
(Дальше будет долгая история про предысторию, возможно, она будет интересна только тем, кто имеет какое-то отношения к линуксам, но это всё можно пропустить: самое главное в конце поста!)
Но если до недавнего времени эта задача стояла не столь остро, то... 5 дней назад я наконец-то решился (после всей осени и зимы обкатки на работе на тамошнем компе, "второстепенном") обновить ОС у себя на домашнем компе - Ubuntu с версии 11.04 до 11.10. К сожалению, однако, оконную среду GNOME в этой версии убунтовщики зарубили окончательно, вместо неё предлагая пользователям абсолютно непригодную для использования Unity (ну, в ней м.б. и есть некий смысл - но только если на каких-нибудь планшетах, в лучшем случае - а для компов с нормальными мышами и клавиатурами это нечто абсолютно чужеродное и неэргономичное). Впрочем, недавно GNOME всё же вернули в список предлагаемых окружений, что несколько облегчает дело, правда, это уже 3-й Гном, со своими странностями и недоделками... но поздно, я уже и на работе перешёл на Xfce, и теперь перешёл на него же дома. Эта среда мне пока нравится (в том виде, который она имеет сейчас, если дело не изменится к худшему), вроде бы чуть быстрее шевелится, ну и тот же Гном 3, даже пусть и стал недавно доступен в Убунте без танцев с бубном, однако же пока он по крайней мере сыроват. Между прочим, когда GNOME 2 был прекращён в разработке, и остался на плаву только 3-й, сам Торвальдс, как говорят, заявил, что переходит на Xfce, и что это, дескать, конечно, (вынужденный) шаг назад по сравнению с Gnome 2, но, увы, шаг вперёд по сравнению с Gnome 3 (более новой версией, ага...) Ну а, как говорила известная реклама - "если это пил Иван, значит надо пить и вам" - ну т.е. если Линус (несмотря на до того приверженность Гному) таки пересел на Xfce, значит, в этом есть некий смысл, да и даже до того, пока с Гномом было всё в порядке, Xfce мне нравился.
В общем, короче, сменил я себе оконную среду на Xfce, и обновил систему до 11.10. А тут как раз на Форумклассике возникла одна тема, и я внезапно решил, что давно не брал я в руки шашек, и решил тряхнуть стариной, и написать немножко кое-какого кода на Си. (Тем более, что, если честно, и учил-то я Си лет 10 назад, будучи на младших курсах универа, почти что именно для того, чтобы писать кое-какие программы для работы со звуком, в частности, синтеза, но как-то руки не доходили до преодоления сопуствующих сложностей типа работы с окнами, освоения всяких тяжелоосваиваемых оконных тулкитов и т.д. - а тут вдруг прямо в руки попадает готовый синтезатор с интерфейсом от обычный компьютерной клавиатуры, с готовыми процедурами вывода звука, в котором для моих целей достаточно всего лишь переписать код, занимающийся собственно синтезом - в общем, как раз то, что надо, чтобы поиграться, не слишком напрягаясь на первых порах). Ну и начал модифицировать код, вначале совсем немножко. А потом решил начать писать вообще совсем новый модуль синтеза, в связи с тем, что имеющийся написан согласно некой довольно странной на мой взгляд концепции, и ноты там не могут перестраиваться в принципе. Значит, надо всё переписывать в плавающих числах, и на несколько другом принципе. А это уже приличный объём кода, и, главное, приличное время, которое нужно думать и пялиться в текст (как свой исходник, так и во всякую документацию и статьи на страницах в инете).
И вот тут я внезапно замечаю, что от этого, вроде бы, вполне позитивного занятия на меня накатывает необъяснимая депрессия. Прям такая жуткая, что от всего тошно, вообще ничего делать не хочется, никакую музыку слушать невозможно, потому что тоже тошно, и т.д.
И через некоторое время догадываюсь, что эта тошнота и депрессия возникают от того, что, когда я поменял оконную среду, у меня поменялся и стиль оформления, в т.ч. цвета. Которые я в своё время во втором Гноме сам подбирал. А встали цвета по умолчанию. Которые подразумевают, что, в частности, фон текста по умолчанию во всех программах - чисто белый. А чисто белый фон для текста - это нечто просто ужасное. Он просто-напросто слепит, глаза быстро устают, и естественно, что настроение портится. Графического средства менять цвета нынче, к сожалению, нет - видимо, выпилили его вместе со вторым Гномом. Ну, беру тему, которую выбрал себе, копирую в домашний каталог в ~/.themes , смотрю в конфигурационные файлы, вроде, там всё понятно, можно просто брать и пробовать переписывать цвета. Переписываю, вроде всё хорошо. Но.. некоторые программы - те, что входят в состав Гнома - уже используют GTK3, а эта тема для GTK3 недоступна. Пробую перенести папку с конфигурацией для GTK3 из одной из (пока - очень немногочисленных, увы) тем, пригодных для него. Ура, заработало. Те "непослушные" программы окрасились пусть не в желаемые мной цвета, но во что-то отличное от варианта по умолчанию. Редактирую основные настройки цветов и здесь. Правда, настроек тут гораздо больше, и они сложнее, все их я ещё далеко не осилил, и нужного результата пока не достиг, но в грубом приближении всё же работать можно. Главное - фон для текста сделан серым, несколько потемнее белого (я для себя более-менее приемлемым считаю серый фон #bbbbbb, его и поставил - в общем-то, кажется, что-то подобное было у меня и в той старой теме во 2-м Гноме, и, ещё раньше, в Windows).
(Вот тут начинается собственно основная часть)
Казалось бы, можно праздновать победу. Ан нет. Теперь оказывается, что на общем притемнённом фоне слепит окно браузера, в котором цвет содержимого мне неподконтролен (ну, конечно, я могу задать вручную цвет фона и запретить страницам устанавливать свой - но это будет означать практически полное откючения цвета и всего, что касается цвета в стилях). Причём слепят не все страницы, а только некоторые - те, которые сделаны вебмастерами на белом или почти белом фоне (ну или на некоторых других "ядерных" цветах в полную яркость, либо, наоборот, ярко-белыми/жёлтыми/зелёными буквами на чёрном фоне - да, есть такие любители). И задумался я над вопросом, как бы сделать так, чтобы всё содержимое в окне браузера можно было затемнять на какую-то величину. Вначале думал (после краткого поиска), что таких средств нет (хотя тыщи людей такого рода средствами интересуются тоже), и придётся пытаться что-то пытаться сооружать через пользовательские стили (и, возможно, доходить даже до просмотра целевых сайтов через фреймы в своей странице, если бы не нашлось способа внедрить затемняющий объект в любую целевую страницу). Но через некоторое время всё-таки нашёл такое вот дополнение: Turn Off the Lights (утверждается, что доступно и для браузера Chrome, сам я не пробовал, т.к. этим браузером не пользуюсь). Поставил себе. Вначале, правда, не мог найти, где добраться до настроек, и думал, что это дополнение не подойдёт. Потом, однако, до настроек добрался (они доступны через соответствующую кнопку в общем списке дополнений, вызываемом через "Дополнения" в меню "Инструменты"), и, после некоторых экспериментов, понял, что это практически как раз то, что нужно. Вообще-то оно позиционируется как средство для комфортного просмотра видео на Ютюбе и иже с ними без использования полноэкранного режима (или если такового нет), чтобы, нажав кнопочку, затемнить всё кроме окошка с собственно видео (и, возможно, каких-то ещё отдельных элементов). Но в принципе работает с любой страницей. По умолчанию, однако. затемнение составляет 80%, что для просто приглушения яркости просматриваемых страниц не годится. Поменял, мой выбор пока 25% затемнения. При таком бывший белый фон становится как раз примерно соответствующим моему "системному" серому (#999999) фону редактируемого текста. Далее, по умолчанию дополнение блокирует работу мыши на странице в режиме затемнения. Для обычной работы это опять же непригодно. Но, к счастью, это поведение можно отключить на странице настроек Advanced settings. Также - это уже на вкус - можно выбрать режим работы. Т.е. будет ли дополнение автоматически затемнять все вновь открываемые/обновляемые страницы (соотв. для просмотра в оригинальном виде нужно будет нажать на кнопку), или наоборот, по умолчанию не будет затемнять, а включать надо вручную по кнопке. С этим вопросом я пока не определился Ну и ещё, чтобы не браться лишний раз за мышь и не ловить управляющую кнопку дополнения, предусмотрена возможность включить (но можно не включать, и по умолчанию не включена!) клавиатурную комбинацию для включения/выключения режима затемнения. ...При загрузке/обновлении страницы, особенно, какой-нибудь тяжёлой, даже при включённом автоматическом режиме, затемнение, увы, включается не сразу. Слегка раздражает, но это, пожалуй, мелочи, т.к. главное всё же - чтобы не не приходилось именно длительно пялиться на какой-нибудь избыточно яркий фон, тогда как кратковременно - ещё ничего.
Вот теперь можно гулять по страницам, можно сказать, как белому человеку, и обходиться при этом без каких-нибудь солнечных очков и т.п., или такого старомодного оборудования (не знаю даже, можно ли где что-то подобное купить в наше время) как фильтры на монитор, которые, во времена своего распространения, действительно приглушали яркость света, и уже хотя бы в том некая польза от них была, кто бы что ни говорил. В то время как вариант "просто уменьшить яркость на мониторе" тоже не вполне годится: лично мне для комфортного уровня яркости либо вовсе не хватает диапазона настроек большинства мониторов и телевизоров, либо, если и хватает, то там, близко к минимуму, частенько нарушается и цветопередача совершенно в ужасных размерах, и полностью пропадают детали в тенях: когда у меня стоял ещё ЭЛТ-монитор, я почти ничего не видел на фотографиях, пришедших из сети, даже в полутенях, т.к. они оказывались почти чёрными - но иначе не удавалось настроить монитор, чтобы он не слепил - а на каждую фотографию яркостья монитора не пошуруешь, а уж что случалось, когда я сам, сидя за этим монитором, начинал заниматься цветокоррекцией каких-нибудь своих фотографий или картинок по работе, и потом это выкладывалось в сеть или шло в работу, скажем, в статью или на постер для доклада - думаю, понятно... Так что я совершенно серьёзно считаю, что наилушим вариантом, по крайней мере тогда, а может быть, и ныне, было бы а сам монитор вывести на "привычную" ему "среднюю" яркость, в которой он даёт сносную цветопередачу и детали в тенях - т.е., с человеческой точки зрения, на невыносимо яркую, после чего спрятать этот монитор за пресловутым серым фильтром, который тупо оптически снижает яркость. Нынешние ЖК-мониторы в смысле степени порчи цветопередачи на низких настройках яркости-контранстности, конечно, чуть лучше ЭЛТшных - но тоже не сахар. И если яркость-то я ещё могу спокойно выставлять на ноль на любом ЖК мониторе (на ЭЛТ такой возможности, считай, не было просто), то вот "контрастность", скажем, на моём нынешнем мониторе я не могу спустить ниже 25%, т.к. ниже этой установки уже неприемлемо поганятся цвета и детали в тенях. При нынешних 25% тоже, впрочем, в тенях не очень здорово видно, но это хоть какой-то компромисс.