Поиск

воскресенье, 11 февраля 2018 г.

XScreenSaver 5.38

Использую Xfce4 и xscreensaver в качестве блокировщика экрана. Настройки питания и энергосбережения через xfce-power-manager. С одной стороны это позволяет иметь различные настройки энергосбережения экрана в зависимости от источника питания (батарея или сеть), а с другой не возиться с настройкой heartbeat'а (xscreensaver-command -deactivate) в различных программах.

Моя проблема заключается в настройке dpmsEnabled в xscreensaver - если она выключена, то xscreensaver полностью отключает поддержку DPMS, а не прекращает управлять ее настройками.

Чтобы отучить xscreensaver трогать настройки DPMS я собираю отдельный пакет с опцией --without-dpms-ext и патчем, который чинит эту опцию

--- a/driver/prefs.h
+++ b/driver/prefs.h
@@ -27,11 +27,13 @@
 extern char *format_hack (Display *, screenhack *, Bool wrap_p);
 char *make_hack_name (Display *, const char *shell_command);

+#ifdef HAVE_DPMS_EXT
 /* From dpms.c */
 extern void sync_server_dpms_settings (Display *, Bool enabled_p,
                                        Bool dpms_quickoff_p,
                                        int standby_secs, int suspend_secs,
                                        int off_secs,
                                        Bool verbose_p);
+#endif

 #endif /* __XSCREENSAVER_PREFS_H__ */

И набор изменений относительно 5.36 из Debian Sid

diff -urNp xscreensaver-5.36/debian/patches/30_hacks_xanalogtv.patch xscreensaver-5.38/debian/patches/30_hacks_xanalogtv.patch
--- xscreensaver-5.36/debian/patches/30_hacks_xanalogtv.patch 2018-02-11 20:19:38.000000000 +0300
+++ xscreensaver-5.38/debian/patches/30_hacks_xanalogtv.patch 2018-02-11 15:11:49.333414388 +0300
@@ -2,10 +2,10 @@
 # logo-50-bad.xpm is a stripped down (64 colors) version
 # Fix for bug #304344
 #
-Index: xscreensaver-5.04/hacks/xanalogtv.c
+Index: xscreensaver-5.38/hacks/xanalogtv.c
 ===================================================================
---- xscreensaver-5.04.orig/hacks/xanalogtv.c 2006-03-31 09:21:41.000000000 +0200
-+++ xscreensaver-5.04/hacks/xanalogtv.c 2007-12-08 17:47:00.000000000 +0100
+--- xscreensaver-5.38.orig/hacks/xanalogtv.c    2018-02-11 15:07:01.202559754 +0300
++++ xscreensaver-5.38/hacks/xanalogtv.c 2018-02-11 15:08:23.705607677 +0300
 @@ -42,7 +42,7 @@
  #include "xpm-pixmap.h"
  #include "analogtv.h"
@@ -15,12 +15,12 @@ Index: xscreensaver-5.04/hacks/xanalogtv
  
  /* #define DEBUG 1 */
  /* #define USE_TEST_PATTERNS */
-@@ -170,7 +170,7 @@
-   ypos += st->ugly_font.char_h*5/2;
+@@ -172,7 +172,7 @@ update_smpte_colorbars(analogtv_input *i
  
-   analogtv_draw_xpm(st->tv, input,
--                    logo_50_xpm, xpos - 100, ypos);
-+                    logo_50_bad_xpm, xpos - 100, ypos);
+   if (! st->colorbars_only_p)
+     analogtv_draw_xpm(st->tv, input,
+-                      logo_50_xpm, xpos - 100, ypos);
++                      logo_50_bad_xpm, xpos - 100, ypos);
  
    ypos += 58;
  
diff -urNp xscreensaver-5.36/debian/xscreensaver.install.stub xscreensaver-5.38/debian/xscreensaver.install.stub
--- xscreensaver-5.36/debian/xscreensaver.install.stub 2018-02-11 20:19:38.000000000 +0300
+++ xscreensaver-5.38/debian/xscreensaver.install.stub 2018-02-11 16:08:35.060847317 +0300
@@ -2,7 +2,6 @@ usr/bin/xscreensaver
 usr/bin/xscreensaver-command
 usr/bin/xscreensaver-demo
 usr/share/applications/xscreensaver-properties.desktop
-usr/share/locale/ca/LC_MESSAGES/xscreensaver.mo
 usr/share/locale/da/LC_MESSAGES/xscreensaver.mo
 usr/share/locale/de/LC_MESSAGES/xscreensaver.mo
 usr/share/locale/es/LC_MESSAGES/xscreensaver.mo
@@ -25,7 +24,6 @@ usr/share/locale/vi/LC_MESSAGES/xscreens
 usr/share/locale/wa/LC_MESSAGES/xscreensaver.mo
 usr/share/locale/zh_CN/LC_MESSAGES/xscreensaver.mo
 usr/share/locale/zh_TW/LC_MESSAGES/xscreensaver.mo
-usr/share/locale/nb/LC_MESSAGES/xscreensaver.mo
 usr/share/man/man1/xscreensaver.1
 usr/share/man/man1/xscreensaver-command.1
 usr/share/man/man1/xscreensaver-demo.1

Забрать пакеты xscreensaver 5.38 для Debian Stretch (amd64) можно в моем репозитарии.

вторник, 6 февраля 2018 г.

Просмотр изображений с расширением HEIC в Linux

Столкнулся с проблемой просмотра фотографий с расширением HEIC. Это новый формат HEIF (High Efficiency Image Format) от Apple, которым они решили заменить JPEG. Перебрал несколько вариантов (display, eog, gimp), но ни одна из программ не знает про этот формат.

Поиск в интернете вывел на tifig. С помощью этой утилиты получилось сконвертировать фотографии в JPEG.

$ find /path/to/photos -type f -iname '*.heic' -exec ~/tmp/tifig -i '{}' -o '{}.JPG' \;
$ rename 's/.HEIC.JPG/.JPG/' *.HEIC.JPG

К слову разница в размере не в пользу JPEG:

$ ls -l IMG_0513.*
-rw-r--r-- 1 andrey andrey 1360434 Feb  6 13:11 IMG_0513.HEIC
-rw-r--r-- 1 andrey andrey 2077232 Feb  6 13:26 IMG_0513.JPG

Качество изображения оценить не могу, т.к. не могу увидеть оригинал в исходном качестве.