Архив за месяц: Август 2017

Как задать ширину блоков, когда есть LESS и Bootstrap 3

Чтоб не замусоривать код веб-страниц классами, которые предлагает фреймворк Bootstrap, лучше добавить свойства из этих классов к своим классам либо id, которые и так уже присутствуют в коде — для этого в CSS-препроцессоре LESS есть функция extend. Однако оно не всегда работает: код


.logo {
  &:extend(.col-xs-6);
  &:extend(.col-sm-4);
  &:extend(.col-md-6);
}

в лучшем случае LESS молча проигнорирует, а может ещё и выругаться, прекратив обработку.

Работает другое:


.logo {
  .make-xs-column(6);
  .make-sm-column(4);
  .make-md-column(6);
}

Результат —


.logo {
  float: left;
  width: 50%;
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 480px) {
  .logo {
    float: left;
    width: 33.33333333333333%;
  }
}
@media (min-width: 960px) {
  .logo {
    float: left;
    width: 50%;
  }
}

Рецепт найден на https://www.sitepoint.com/less-beyond-basics-bootstrap-mixins-library/

Иконки в меню

Кто-то альтернативно одарённый, разрабатывая третий GNOME с третьим же GTK, решил, что иконки в меню не нужны. Во всяких простых приложениях вроде проводника^W файлового менеджера или калькулятора, где менюшки усохли, а то и вовсе пропали, может, и можно без них обойтись, но в программах с классическим GUI и развесистыми меню — никак: при переезде под третий гном стало заметно труднее ориентироваться. Меня, например, пестрота в меню раздражает куда меньше, чем невозможность быстро найти нужную команду.

Попутно выяснилось, что предлагаемый во многих местах рецепт не работает:

gsettings set org.gnome.desktop.interface menus-have-icons true
No such key 'menus-have-icons'

потому что параметр org.gnome.desktop.interface.menus-have-icons пропал — dconf-editor его не показывает.

Сработал другой вариант:

gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/ButtonImages': <1>, 'Gtk/MenuImages': <1>}"

Результат — иконки вернулись на место. Попутно иконки и на кнопках появились — тоже иногда полезно.

Inkscape с иконками в меню

Перекодирование кривой кириллицы в именах зазипованных файлов

По старой ещё досовской привычке я до сих пор стараюсь избегать использования кириллицы в именах файлов. А другие люди — нет, не избегают. В итоге приходится сталкиваться с кривыми кодировками имён. Вот, например, так гномячий архиватор отображает ZIP-архив с кириллицей:

Неправильная кодировка кириллических имён файлов

Консольные инструменты — хоть unzip, хоть 7z — тоже не помогают.

Возможный способ решения — распаковать, а потом перекодировать имена:


convmv -f utf-8 -t latin1 --notest *
convmv -f cp866 -t utf-8  --notest *

При запуске без параметра --notest утилита convmv не переименовывает файлы, а только показывает, что должно получиться на выходе.

Османд на большом планшете

Попробовал использовать свежий OsmAnd на купленном перед отпуском десятидюймовом планшете. Вывод — использовать можно.

А теперь — подробности:

  1. Несмотря на немаленький размер планшета — около 16×26  см — он достаточно хорошо помещается в моём холодильнике автомобиле.
  2. Так как планшет в отличие от навигатора — штука универсальная, на нём можно при необходимости и загуглить что-нибудь, и мультики детям показать. Хотя мультики водителя слегка отвлекают.
  3. Новый Османд, дико тормозивший на телефоне, на планшете работает достаточно резво: если и затормаживается до состояния, что Андроид предагает снять задачу, то это происходит не каждый день.
  4. После одного из последних обновлений Османд наконец-то в местах, требующих особого внимания, при выбранном русском языке озвучивания (точнее, RU-TTS — русский через синтезатор речи) стал говорить не просто одно слово «Внимание!», но и указывать, что же ждёт впереди — например, камера или пешеходный переход.
  5. Работающий в других местах способ снятия скриншотов — долго нажать центральную кнопку Home (теперь там кружок) в Османде работает не всегда.
  6. Офлайновая маршрутизация испортилась — за городом Османд норовит всё согнать меня с трассы, ведёт в города и деревни: