Автор Тема: Движещ се фон  (Прочетена 7426 пъти)

plamen_t

  • Напреднали
  • *****
  • Публикации: 170
    • Профил
Движещ се фон
« -: Aug 02, 2005, 17:51 »
Днес се разрових из интернет и намерих един интересен и прост начин как да се направи подвижен фонът на десктопа.
Цитат
/usr/X11R6/lib/xscreensaver/<име на screen saver> -root

По този начин се стартира избраният screen saver, но се стартира като фон на десктопа. Интересното е, че при моята машина този подвижен фон заемаше по-малко от 1% от процесора и съвсем малко памет, т.е не товареше почти машината.

Оказа се обаче, че този начин не работи на KDE. Просто screen saver-a не иска да се стартира като заден фон. Явно нещо предотвратява изпълнението на Х програма като заден фон, защото пробвах и с xsnow, която по принцип симулира валене на сняг на десктопа, но се оказа, че тя работи на всички десктоп мениджъри, но не и на KDE.
Ако някой се е сблъквал с подобен проблем или знае програма, която да създава движещ се десктоп фон на KDE нека сподели.
Активен

mom

  • Напреднали
  • *****
  • Публикации: 266
  • Distribution: Ubuntu
  • Window Manager: Compiz
    • Профил
Движещ се фон
« Отговор #1 -: Aug 02, 2005, 20:07 »
Не си съвсем прав за товаренето - я си пусни някой "шарен" screensaver, напр. firewokx или fiberlamp. Веднага натоварването скача на 80-90% (може би щото съм с вграден видео без GL ускорител?)

Иначе идея как да излъжеш КДЕ-то нямам. То същия проблем е и под Гном, защото наутилус-а рисува десктопа. Там се maniax изкопа един perl скрипт за да може xplanet да си udate-ва екрана. Ето ти и фрагмент от въпросния скрипт, дано те наведе на някаква полезна идея:

gconftool-2 -t str -s /desktop/gnome/background/picture_filename "<име на картинка с целия път до нея>"
Активен

phantomlord

  • Напреднали
  • *****
  • Публикации: 1832
  • Distribution: Debian Sid
  • Window Manager: KDE 4
  • Fall to your knees and bow to the Phantom Lord
    • Профил
    • WWW
Движещ се фон
« Отговор #2 -: Aug 02, 2005, 21:04 »
В КДЕ имаше някъди опция: "Разреши на програмите да рисуват в/у работния плот". Активирай я.
Активен

http://myfreesoft.net/phpBB2/index.php?c=7
Помогни си сам, за да ти помогне и Господ
Linux - connecting people...

  • Гост
Движещ се фон
« Отговор #3 -: Aug 02, 2005, 21:33 »
Въпросната опция е в допълнителните (advanced) настройки на фона на десктопа... имам спомени да работеше (под 3.1) по описаната схема
Активен

plamen_t

  • Напреднали
  • *****
  • Публикации: 170
    • Профил
Движещ се фон
« Отговор #4 -: Aug 02, 2005, 21:46 »
Опцията е в Control Center -> Desktop -> Behavior -> General. Там трябва да се сложи отметка на Allow programs in desktop window.
След като е пробвах обаче се оказа следното: xsnow вече работи, но когато някоя снежинка мине през някоя икона и изтрива иконата. От друга страна никой от xscreensaver-ите не иска да се стартира дори без опцията -root.
Цитат
root@ab:/usr/X11R6/lib/xscreensaver# ./glforestfire

X error in glforestfire:
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  78 (X_CreateColormap)
  Resource id in failed request:  0xe
  Serial number of failed request:  31
  Current serial number in output stream:  33
root@ab:/usr/X11R6/lib/xscreensaver#                                        

Прoбвах да стартирам някой от KDE screensaver-ите с опцията -root  
Цитат
root@ab:/opt/kde/bin# ./keuphoria.kss -root
X Error: BadAccess (attempt to access private resource denied) 10
  Major opcode:  2
  Minor opcode:  0
  Resource id:  0x1a0000e

Screensaver-ът успя да се стартира като фон на десктопа, но от десктопа изчезнаха всички икони, също както и контекстното меню. Т.е далеч от това, което очаквам (ще ми се фонът да се движи, както се движи в enlightenment)

П.С. Процесорът не ми се натоварва на OpenGL screensaver-ите, защото имам 3D ускорител и натоварването на процесора е около 1%.
Активен

  • Гост
Движещ се фон
« Отговор #5 -: Aug 02, 2005, 22:30 »
kdesktop може да използва всяка(?) програма, която може да записва картини в файл. Виж, например, как е конфигуриран kworldclock.
Активен