No tengo preferencias de lenguaje de programación y tengo un buen conocimiento de la codificación OpenGL. Si pudiera usar algo como OpenFrameworks o Processing como base, sería ideal.
fuente
No tengo preferencias de lenguaje de programación y tengo un buen conocimiento de la codificación OpenGL. Si pudiera usar algo como OpenFrameworks o Processing como base, sería ideal.
Un protector de pantalla en Linux es una cosa bastante simple compuesta de dos partes clave:
.desktop
archivo que apunta a esa aplicación.No estoy seguro de qué resultado final está tratando de lograr, así que comenzaré a la inversa. Los .desktop
archivos para salvapantallas existentes viven en /usr/share/applications/screensavers/
. Aquí hay ubuntu_theme.desktop
un ejemplo de lo que busca:
[Desktop Entry]
Name=Floating Ubuntu
Comment=Ubuntu logo floating around the screen
Exec=floaters /usr/share/pixmaps/ubuntu-screensaver.svg
TryExec=floaters
StartupNotify=false
Terminal=false
Type=Application
Categories=GNOME;Screensaver
OnlyShowIn=GNOME
Si desea flotar una imagen diferente, puede clonar el /usr/share/pixmaps/ubuntu-screensaver.svg
iniciador y reemplazarlo con su propia imagen (use SVG siempre que sea posible, ya que se escalan mucho mejor).
Si desea escribir su propio binario para un protector de pantalla completamente personalizado, probablemente debería comenzar aquí: http://www.dis.uniroma1.it/~liberato/screensaver/
Utiliza gráficos X muy simples para hacer algunas cosas bastante simples. Puedes mejorarlo con OpenGL, pero es importante que primero consigas lo básico.
Una vez que haya terminado, el empaque es todo un conjunto de problemas, pero para un paquete muy simple, puede eliminar rápidamente un paquete siguiendo algo como esto: https://help.ubuntu.com/community/PythonRecipes/DebianPackage
Pero si usted es serio acerca de distribuir esto a muchas personas, probablemente quiera comenzar con un PPA (un repositorio privado). Puede leer sobre PPA, la creación de paquetes fuente, el proceso de construcción, etc. en el sistema de ayuda de LaunchPad .