From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Subject: Re: [devel] gtk engines smooth From: =?koi8-r?Q?=F7=D1=DE=C5=D3=CC=C1=D7_?= =?koi8-r?Q?=E4=C9=CB=CF=CE=CF=D7?= To: ALT Devel discussion list In-Reply-To: <20040906142008.GG27133@pyro.hopawar.private.net> References: <1094405260.1319.86.camel@alpha.tirs.ru> <20040906142008.GG27133@pyro.hopawar.private.net> Content-Type: text/plain; charset=KOI8-R Date: Tue, 07 Sep 2004 00:31:10 +0400 Message-Id: <1094502670.5807.63.camel@alpha.tirs.ru> Mime-Version: 1.0 X-Mailer: Evolution 1.5.8 (1.5.8-alt0.5) Content-Transfer-Encoding: 8bit X-Spam: Not detected X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Sep 2004 20:31:57 -0000 Archived-At: List-Archive: List-Post: On Пнд, 2004-09-06 at 21:20 +0700, Alexey Morozov wrote: > > Кроме того, надо вообще что-то сделать с размещением по пакетам > > библиотек прорисовки и тем для gtk1 и gtk2. У нас 2 версии gtk и очень > > желательно, чтобы темы для обеих были одинаковы. При выборе > > темы gtk2 пишется ~/.gtkrc с той же темой для gtk1, поэтому если > > собирать одноименные темы gtk1 и gtk2 вместе в одни и те же пакеты > > переключение будет прозрачно синхронизировано. > В один и тот же пакет темы для разных версий GTK? > Движок (engine) того же smooth'а потянет за собой GTK соответствующей > версии, что, вообще-то, нежелательно. Именно. Над этим я думал три дня и ничего лучшего не выдумал. Все остальные варианты оказываются сложнее для упаковки и установки. Вот они: 1) gtk-themes-* в котором все библиотеки и gtkrc файлы тем для gtk1 и gtk2. Недостаток - двойная зависимость. Достоинство - простота установки и гарантированная синхронность переключения. Сборка gtk1 части тем может быть отключена 1 переменной в spec. Я также думаю над возможностью искусственно отключить зависимоcти таких пакетов от gtk (Autoreq = 0) или заставить оба gtk предоставлять общее одинаковое имя и требовать уже его. 2) gtk1-themes-* + gtk2-themes-* Для установки темы для всей рабочей среды нужны _оба_ пакета и поэтому gnome-themes-* требует их вместе. Это значит, что двойная зависимость никуда не делась! Чтобы избавиться от нее нужны условные зависимости типа "ЕСЛИ УСТАНОВЛЕН GTK1, ТО ВИРТУАЛЬНЫЙ ПАКЕТ Х ТРЕБУЕТ ПАКЕТ Y, А В ПРОТИВНОМ СЛУЧАЕ - НЕ ТРЕБУЕТ" Я не согласен отказаться от зависимости на все темы в вершинных пакетах типа gnome-themes или kde-themes, потому что это лишает смысла такие пакеты и всю затею. 3) gtk-engine-* + gtk-themes или gtk1/2-engine-* + gtk1/2-themes - CСчитаю это напрасным умножением пакетов так как с точки зрения пользователя устанавливающего темы существование engines - лишняя головная боль. Все модули прорисовки имеют в комплекте как минимум 1 стандартную тему. Дополнительных тем может быть много из других источников. Проще всего оказывается свалить всю гору исходных пакетов в общем srpm и на выходе получать один пакет, где все лежит по полочкам. Spec получается несложный (исключение - smooth, потому что какой-то мудрец додумался приделать automake к десятку файлов gtkrc) > Удобство переключения, это, > конечно, круто, но, во-первых, есть вопросы относительно того, всегда ли > такая синхронность нужна, Она нужна до тех пор, пока в Сизифе есть gtk1. Поскольку он уходящее явление, то следует максимально упрощать всю сопутствующую инфраструктуру и не городить лишних пакетов. Собирать все с ним связанное я хочу в ifdef с возможностью легко отключить сборку. > а, во-вторых, породит вопли вида: > захотел поставить smooth, получил две версии библиотеки => зависимости в > ALT убитые. Я отчасти согласен, но это неверный вывод. gtk1 сам по себе невелик на фоне всего, что неизбежно будет стоять в системе с графическим интерфейсом, и почти наверняка понадобится для вещей типа usbview или *drake. Кроме того, зависимость на gtk можно вообще убрать. Пакеты icon-themes тоже можно поставить "в пустоту". > Если же речь о виртуальном пакете > > gtk-themes-smooth, который будет требовать gtk-engines-smooth и > gtk-themes-smooth обеих версий, то я не против. См. вариант 2. Можно и так, но тогда будет вместо одного толстого пакета орда мелких. Я как раз и хочу уменьшить этот эффект. Идея в том, чтобы переключение темы оказывало единообразное действие на все установленные программы (или максимальное их число). С какой стати пользователей, желающих просто сделать сменить надоевшее оформление, должны волновать различия версий gtk и вообще существование разных библиотек? В форточках интерфейс тоже не только на MFC бывает, но выглядит и управляется одинаково и это плюс, который следует перенять. > > Цель изменений - уменьшение количества мелких пакетов тем с > > потенциальных сотен до единиц при сохранении возможности поставить > > темы gtk отдельно от тем gnome и избавлении от ручного подбора множества > > мелких пакетов для сбора цельной темы, включающей много элементов. > Цель благая. Как закончите, пришлите, пожалуйста, спек, я окончательно > махну рукой :-) Хорошо. Это нужно сделать завтра, потому что за него цепляется целый паровозик. -- Вячеслав Диконов