LINUX.ORG.RU

дополнение к факу


0

0

Предлагаю небольшое дополнение к факу.

10.11 "Какие файлы отвечают за внешний вид (шрифт, тема, стиль...) GTK приложений".

Для gtk2- приложений в KDE используются настройки из конфигурационных файлов перечисленных в переменной GTK2_RC_FILES например:

/etc/opt/gnome/gtk-2.0/gtkrc: /opt/gnome/share/themes/Qt/gtk-2.0/gtkrc: ~/.gtkrc-2.0-plastik: ~/.kde/share/config/gtkrc

Т.е. суть дополнения сказать о переменной GTK2_RC_FILES и о суффиксе (это актуально для KDE) в котором название KDE темы.

★★★

Спасибо, добавил.

Только про суффикс я не сильно понял, что именно имеется ввиду?

fagot ★★★★★
()
Ответ на: комментарий от fagot

Я не мог понять, почему изменяя ~/.gtkrc-2.0 нифига не меняется когда я в KDE. Оказалось что для KDE используется не ~/.gtkrc-2.0 , а ~/.gtkrc-2.0-plastic

т.е. суффикс в имени rc-файла содержит имя темы.

eRazor ★★★
() автор топика
Ответ на: комментарий от eRazor

> Я не мог понять, почему изменяя ~/.gtkrc-2.0 нифига не меняется когда я в KDE. Оказалось что для KDE используется не ~/.gtkrc-2.0 , а ~/.gtkrc-2.0-plastic т.е. суффикс в имени rc-файла содержит имя темы.

Это где такое??? У меня в дженте такого не было. Это часом не какая-нибудь дистроспецифичная штука? А то вы-то в фак напишете, а потом народ жаловаться будет...

int19h ★★★★
()
Ответ на: комментарий от int19h

Будет жаловаться, пропишем под каждый дистриб.

jackill ★★★★★
()

Это специфичная для SuSE штука.

Мне лично она не очень понравилась (особенно убогий вид в gtk1), поэтому я просто залез в /opt/kde3/bin/startkde и закомментировал там всю эту ерунду.

Demetrio ★★★★★
()
Ответ на: комментарий от Demetrio

#
# Do we have a special Gtk theming for our Qt widget theme ?
#
if [ ! -e $HOME/.no-qtrc-to-gtkrc-mapping ]; then
  [ -r $HOME/.qt/qtrc ] && \
  STYLE="`sed -n -e 's,^style=\(.*\),\1,p' $HOME/.qt/qtrc`"
  [ -z "$STYLE" ] && STYLE="keramik"
  export STYLE

  SUSE_VERSION="`cat /etc/SuSE-release | sed -n 's/VERSION = //p'`"

  if [[ "$SUSE_VERSION" > 8.2 ]] ; then
    # Defaults for SuSE 9.0
    GTK_SYSCONFDIR=/etc/opt/gnome
    GTK2_SYSCONFDIR=/etc/opt/gnome
    GTK_DATADIR=/opt/gnome/share
    GTK2_DATADIR=/opt/gnome/share
  else
    # Defaults for SuSE < 9.0
    # NOTE: SuSE 8.2 has broken theme location, fixed via YOU by symlinks.
    GTK_SYSCONFDIR=/etc
    GTK2_SYSCONFDIR=/etc
    GTK_DATADIR=/usr/share
    GTK2_DATADIR=/usr/share
  fi

  # Search for themes. If not exist, fall back to Geramik.
  GTK_THEME_RC="$GTK_DATADIR/themes/Geramik/gtk/gtkrc"
  for DIR in "$HOME/.themes" "$GTK_DATADIR/themes" ; do
    if [ -e "$DIR/$STYLE/gtk/gtkrc" ] ; then
      GTK_THEME_RC="$DIR/$STYLE/gtk/gtkrc"
      break
    fi
  done
  GTK2_THEME_RC="$GTK2_DATADIR/themes/Geramik/gtk-2.0/gtkrc"
  FOUND="0"
  for DIR in "$HOME/.themes" "$GTK2_DATADIR/themes" ; do
    if [ -e "$DIR/$STYLE/gtk-2.0/gtkrc" ] ; then
      GTK2_THEME_RC="$DIR/$STYLE/gtk-2.0/gtkrc"
      FOUND="1"
      break
    fi
  done
  # use general gtk-qt-engine, if nothing better was found
  if [ "$FOUND" == "0" -a -e "$DIR/Qt/gtk-2.0/gtkrc" ] ; then
    GTK2_THEME_RC="$DIR/Qt/gtk-2.0/gtkrc"
    break
  fi

  # GTK1
  # NOTE: ~/.gtkrc-kde is added later
  if [ "$GTK_RC_FILES" ]; then
    export GTK_RC_FILES="$GTK_RC_FILES:$GTK_THEME_RC:$HOME/.gtkrc-$STYLE"
  else
    export GTK_RC_FILES="$GTK_SYSCONFDIR/gtk/gtkrc:$GTK_THEME_RC:$HOME/.gtkrc-$STYLE&q
uot;
  fi

  # GTK2
  # NOTE: ~/.gtkrc-2.0-kde is added later (in latest KDE only)
  if [ "$GTK2_RC_FILES" ]; then
    export GTK2_RC_FILES="$GTK2_RC_FILES:$GTK2_THEME_RC:$HOME/.gtkrc-2.0-$STYLE"

  else
    export GTK2_RC_FILES="$GTK2_SYSCONFDIR/gtk-2.0/gtkrc:$GTK2_THEME_RC:$HOME/.gtkrc-2
.0-$STYLE"
  fi

fi

Demetrio ★★★★★
()
Ответ на: комментарий от Demetrio

> Это специфичная для SuSE штука.

Можно проще:

$ touch ~/.no-qtrc-to-gtkrc-mapping

Все. Теперь что пропишешь в ~/.gtkrc-2.0, то и будет. И никаких шибко умных автодетекторов.

int19h ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.