Записки утконоса-программиста

Установка отладочных пакетов

При программировании приложений, иногда приходится их отлаживать (Привет Kat), но проблема в том, что Sailfish SDK не устанавливает с отладочным пакетом отладочные символы, и тут нам надо поработать ручками.
Установка отладочных пакетов

Ошибка запуска booster-qt5

При возникновении ошибки вида
Код BASH:
  1. Failed at step OOM_ADJUST spawning /usr/libexec/mapplauncherd/booster-qt5: Permission denied
Поможет следующий патчик:
Заходим в ядро по адресу: fs/proc/base.c
И строчки
Код C:
  1. REG("oom_adj", S_IRUSR, proc_oom_adjust_operations),
  2. REG("oom_score_adj", S_IRUSR, proc_oom_score_adj_operations),
Меняем на
Код C:
  1. REG("oom_adj", S_IRUSR|S_IWUSR, proc_oom_adjust_operations),
  2. REG("oom_score_adj", S_IRUSR|S_IWUSR, proc_oom_score_adj_operations),
Встречаются они там 2 раза

hwconposer pass

Концепт мобильного интерфейса от KDE

Некоторые идеи интересны, но вот уведомления это просто швах...просто гадость имхо...кнул-посмотрел на пустое поле-убрал - не нравится. А вот поиск и клава заинтересовало...

Кастомные IconButton в Sailfish

IconButton в Silica всем хороши, но их банально мало, и если нужно задействовать что-то либо другое, приходится городить костылики. Вот мой, работает с SVG иконками, которые я брал из Fontawesome тут

Код QML:
  1. import QtQuick 2.0
  2. import Sailfish.Silica 1.0
  3.  
  4. id: clickIcon
  5.  
  6. signal clicked
  7. property string activeColor: Theme.highlightColor
  8. property string defaultColor: Theme.primaryColor
  9.  
  10. opacity: 0.6
  11.  
  12. fillMode: Image.PreserveAspectFit
  13.  
  14. sourceSize.width: width
  15. sourceSize.height: height
  16.  
  17. layer.effect: ShaderEffect {
  18. id: shaderItem
  19. property color color: clickMouseArea.pressed ? clickIcon.activeColor : clickIcon.defaultColor
  20.  
  21. fragmentShader: "
  22. varying mediump vec2 qt_TexCoord0;
  23. uniform highp float qt_Opacity;
  24. uniform lowp sampler2D source;
  25. uniform highp vec4 color;
  26. void main() {
  27. highp vec4 pixelColor = texture2D(source, qt_TexCoord0);
  28. gl_FragColor = vec4(mix(pixelColor.rgb/max(pixelColor.a, 0.00390625), color.rgb/max(color.a, 0.00390625), color.a) * pixelColor.a, pixelColor.a) * qt_Opacity;
  29. }
  30. "
  31. }
  32. layer.enabled: true
  33. layer.samplerName: "source"
  34.  
  35. id: clickMouseArea
  36. anchors.fill: parent
  37. onClicked: {
  38. clickIcon.clicked()
  39. }
  40. }
  41. }

Для себя.

Ну нравится мне ковыряться в старом коде. Да и понадобится он мне скоро...Это так, больше для себя чтобы не бегать по блогу locusf`а.
Код BASH:
  1. pkcon remove lipstick-glacier-home-qt5
  2. pkcon install lipstick-jolla-home-qt5
  3. systemctl-user restart lipstick.service

Учимся отправлять уведомления в Sailfish OS

Итак, по ходу разработки приложений в sailfish необходимо достаточно часто вызывать уведомления. Мне помогли реализовать данный функционал, а я расскажу Вам. Итак...что должно получиться в итоге:
Учимся отправлять уведомления в Sailfish OS

Если кратко то техзадание такое:
1 - Программа должна при нажатии на какую то кнопку высылать уведомления
2 - При нажатии на уведомление должно открываться окно

Sailfish OS - Hardware Adaptation Development Kit - Собираем пакеты для мультимедиа

Если у Вас есть драйвер ALSA для вашего устройства, то вам будет счастье и радость, если де его нет, то придётся пробрасывать драйвера из андроида. Сборку этих пакетов сегодня и рассмотрим.
Кстати в HADK вообще не затрагивается этот вопрос.
Sailfish OS - Hardware Adaptation Development Kit - Собираем пакеты для мультимедиа

Включаем WiFi вручную и не очень

Итак, есть wifi модуль wifi_pronto.ko и он тупо не включается. Почему...а потому что андройд...
Включаем WiFi вручную и не очень

Пинговать запрещено!

Поднял сегодня WiFi на железке, о том как я её поднимал расскажу чуть по позже, но при попытке пинга, особо замечу от рута, выходила следующая ошибка:
Код BASH:
  1. ping 8.8.8.8
  2. socket: Permission denied
Пинговать запрещено!