Announcement

Collapse
No announcement yet.

Kubuntu video wallpaper

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    [PLASMA 5] Kubuntu video wallpaper

    (With the Kubuntu 15.04 beta)

    With the KDE4 there is the 'DreamDesktop': http://kde-apps.org/content/show.php...content=156787

    More of the KDE video wallpapers: https://forum.kde.org/viewtopic.php?f=83&t=119463

    With the Plasma5 the video wallpaper is easy to make with the qml mediaplayer: http://doc.qt.io/qt-5/qml-qtmultimed...r.html#details .


    Making directory:

    ~/.local/share/plasma/wallpapers/org.kde.beach/contents/ui/

    Making files:

    ~/.local/share/plasma/wallpapers/org.kde.beach/metadata.desktop
    Code:
    [Desktop Entry]
    Encoding=UTF-8
    Name=Beach
    Name[x-test]=xxBeachxx
    
    Type=Service
    ServiceTypes=Plasma/DeclarativeWallpaper
    Icon=preferences-desktop-wallpaper
    X-Plasma-MainScript=ui/main.qml
    X-KDE-PluginInfo-Name=org.kde.beach
    X-KDE-PluginInfo-EnabledByDefault=true

    ~/.local/share/plasma/wallpapers/org.kde.beach/contents/ui/main.qml
    Code:
    import QtQuick 2.0
    import QtMultimedia 5.0
    
    Item {
        MediaPlayer {
            id: mediaplayer
            autoPlay: true
            loops: MediaPlayer.Infinite
            source: "/home/online/Videos/Beach.avi"
        }
    
        VideoOutput {
            fillMode: VideoOutput.PreserveAspectCrop
            anchors.fill: parent
            source: mediaplayer
        }
    }



    This should work as it is - if it doesn't try with the qmlscene to get the error messages: https://www.kubuntuforums.net/showth...ma-qml-widgets .

    At here: http://pastebin.com/nsmvE7Uw

    There is a bug report: https://bugreports.qt.io/browse/QTBUG-40183 The gstreamer0.10-ffmpeg plugin may help, here it does. Either from the http://gstreamer.freedesktop.org/mod...st-ffmpeg.html or from a PPA ( https://launchpad.net/ubuntu/+ppas?n...mer0.10-ffmpeg ).


    Right click the desktop > Desktop setting > Wallpaper Type (Video) > Apply > Ok...



    Direct: http://youtu.be/PNu9AoP1V8E


    More plasma 5 links: https://www.kubuntuforums.net/showth...ma-qml-widgets
    Last edited by OneLine; Mar 29, 2015, 10:16 AM.
    Have you tried ?

    - How to Ask a Question on the Internet and Get It Answered
    - How To Ask Questions The Smart Way

    #2
    Neat

    Comment


      #3
      that is so cool ,,,,,,,I just did a video wallpaper of a screen capture of the desktop ,,,,,,,,he he ,,,,looks like somebody is doing things remotely

      burns a lot of CPU,,,,,,,but it is a 1080p .mp4 though,,,,,,,,,so

      VINNY
      i7 4core HT 8MB L3 2.9GHz
      16GB RAM
      Nvidia GTX 860M 4GB RAM 1152 cuda cores

      Comment


        #4
        KDE video splash

        Earlier: https://www.kubuntuforums.net/showth...l=1#post370231


        Making org.me.video.desktop:



        Metadata:

        Code:
        [Desktop Entry]
        Comment=Video Desktop Design
        Comment[x-test]=xxVideo Desktop Designxx
        Encoding=UTF-8
        Keywords=Desktop;Workspace;Appearance;Look and Feel;Logout;Lock;Suspend;Shutdown;Hibernate;
        Keywords[x-test]=xxDesktopxx;xxWorkspacexx;xxAppearancexx;xxLook and Feelxx;xxLogoutxx;xxLockxx;xxSuspendxx;xxShutdownxx;xxHibernatexx;
        Name=Video Splash
        
        Type=Service
        
        X-KDE-ServiceTypes=Plasma/LookAndFeel
        X-KDE-ParentApp=
        X-KDE-PluginInfo-License=GPLv2+
        X-KDE-PluginInfo-Name=org.me.video.desktop
        X-KDE-PluginInfo-Version=0.1
        X-Plasma-MainScript=defaults
        and Splash.qml:

        Code:
        /*
         * This is based on the standard breeze splash !
         *
         *   Copyright 2014 Marco Martin <mart@kde.org>
         *
         *   This program is free software; you can redistribute it and/or modify
         *   it under the terms of the GNU General Public License version 2,
         *   or (at your option) any later version, as published by the Free
         *   Software Foundation
         *
         *   This program is distributed in the hope that it will be useful,
         *   but WITHOUT ANY WARRANTY; without even the implied warranty of
         *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
         *   GNU General Public License for more details
         *
         *   You should have received a copy of the GNU General Public
         *   License along with this program; if not, write to the
         *   Free Software Foundation, Inc.,
         *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
         */
        
        import QtQuick 2.1
        import QtMultimedia 5.0
        
        
        Rectangle {
            id: root
        
            property int stage
        
            MediaPlayer {
                id: mediaplayer
                autoPlay: true
                loops: MediaPlayer.Infinite
                source: "video/Beach.avi"
            }
        
            VideoOutput {
                fillMode: VideoOutput.PreserveAspectCrop
                anchors.fill: parent
                source: mediaplayer
            }
        
            Rectangle {
                id: bottomRect
                width: parent.width
                y: 2/3 * parent.height
                height: 50
                color: "#4C000000"
        
                Rectangle {
                    radius: 3
                    color: "darkgrey"
                    anchors.centerIn: parent
                    height: 8
                    width: height*32
                    Rectangle {
                        radius: 3
                        anchors {
                            left: parent.left
                            top: parent.top
                            bottom: parent.bottom
                        }
                        width: (parent.width / 6) * (stage - 1)
                        color: "steelblue"
                        Behavior on width { 
                            PropertyAnimation {
                                duration: 250
                                easing.type: Easing.InOutQuad
                            }
                        }
                    }
                }
            }
        }

        Installing:

        Code:
        plasmapkg2 -t lookandfeel -i org.me.video.desktop

        Testing:



        Direct: http://youtu.be/FL1X1X5q05Q

        Seems to work (at here).
        Last edited by OneLine; Apr 11, 2015, 12:54 PM.
        Have you tried ?

        - How to Ask a Question on the Internet and Get It Answered
        - How To Ask Questions The Smart Way

        Comment


          #5
          Quick SDDM Video theme

          Linking to https://www.kubuntuforums.net/showth...l=1#post371491


          Copying

          'Maledives' theme from /usr/share/sddm/themes/maldives/ to ~/sddm/mysddm/.




          Edit:

          metadata.desktop:
          Code:
          [SddmGreeterTheme]
          Name=MySDDM
          Description=My Theme
          Author=Me
          Copyright=(c) 2015 Me
          License=CC-BY-SA
          Type=sddm-theme
          Version=0.1
          Website=https://www.kubuntuforums.net/showthread.php?67703-Kubuntu-video-wallpaper
          Screenshot=preview.jpg
          MainScript=Main.qml
          ConfigFile=theme.conf
          TranslationsDirectory=translations
          Email=
          Theme-Id=mysddm
          Theme-API=2.0
          Main.qml:
          Code:
          /***************************************************************************
          * Copyright (c) 2013 Abdurrahman AVCI <abdurrahmanavci@gmail.com>
          *
          * Permission is hereby granted, free of charge, to any person
          * obtaining a copy of this software and associated documentation
          * files (the "Software"), to deal in the Software without restriction,
          * including without limitation the rights to use, copy, modify, merge,
          * publish, distribute, sublicense, and/or sell copies of the Software,
          * and to permit persons to whom the Software is furnished to do so,
          * subject to the following conditions:
          *
          * The above copyright notice and this permission notice shall be included
          * in all copies or substantial portions of the Software.
          *
          * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
          * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
          * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
          * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
          * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
          * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
          * OR OTHER DEALINGS IN THE SOFTWARE.
          *
          ***************************************************************************/
          
          import QtQuick 2.0
          import SddmComponents 2.0
          import QtMultimedia 5.0
          
          Rectangle {
              id: container
              width: 640
              height: 480
          
              TextConstants { id: textConstants }
          
              Connections {
                  target: sddm
          
                  onLoginSucceeded: {
                      errorMessage.color = "steelblue"
                      errorMessage.text = textConstants.loginSucceeded
                  }
          
                  onLoginFailed: {
                      errorMessage.color = "red"
                      errorMessage.text = textConstants.loginFailed
                  }
              }
          
          
              property int stage
          
              MediaPlayer {
                  id: mediaplayer
                  autoPlay: true
                  loops: MediaPlayer.Infinite
                  source: "video/Beach.avi"
              }
          
              VideoOutput {
                  fillMode: VideoOutput.PreserveAspectCrop
                  anchors.fill: parent
                  source: mediaplayer
              }
          
          
              Rectangle {
                  property variant geometry: screenModel.geometry(screenModel.primary)
                  x: geometry.x; y: geometry.y; width: geometry.width; height: geometry.height
                  color: "transparent"
          
                  Clock {
                      id: clock
                      anchors.margins: 5
                      anchors.top: parent.top; anchors.right: parent.right
          
                      color: "white"
                      timeFont.family: "Oxygen"
                  }
          
                  Image {
                      id: rectangle
                      anchors.centerIn: parent
                      width: Math.max(320, mainColumn.implicitWidth + 50)
                      height: Math.max(320, mainColumn.implicitHeight + 50)
          
                      source: "rectangle.png"
          
                      Column {
                          id: mainColumn
                          anchors.centerIn: parent
                          spacing: 12
                          Text {
                              anchors.horizontalCenter: parent.horizontalCenter
                              color: "black"
                              verticalAlignment: Text.AlignVCenter
                              height: text.implicitHeight
                              width: parent.width
                              text: textConstants.welcomeText.arg(sddm.hostName)
                              wrapMode: Text.WordWrap
                              font.pixelSize: 24
                              elide: Text.ElideRight
                              horizontalAlignment: Text.AlignHCenter
                          }
          
                          Column {
                              width: parent.width
                              spacing: 4
                              Text {
                                  id: lblName
                                  width: parent.width
                                  text: textConstants.userName
                                  font.bold: true
                                  font.pixelSize: 12
                              }
          
                              TextBox {
                                  id: name
                                  width: parent.width; height: 30
                                  text: userModel.lastUser
                                  font.pixelSize: 14
          
                                  KeyNavigation.backtab: rebootButton; KeyNavigation.tab: password
          
                                  Keys.onPressed: {
                                      if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter) {
                                          sddm.login(name.text, password.text, session.index)
                                          event.accepted = true
                                      }
                                  }
                              }
                          }
          
                          Column {
                              width: parent.width
                              spacing : 4
                              Text {
                                  id: lblPassword
                                  width: parent.width
                                  text: textConstants.password
                                  font.bold: true
                                  font.pixelSize: 12
                              }
          
                              PasswordBox {
                                  id: password
                                  width: parent.width; height: 30
                                  font.pixelSize: 14
          
                                  KeyNavigation.backtab: name; KeyNavigation.tab: session
          
                                  Keys.onPressed: {
                                      if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter) {
                                          sddm.login(name.text, password.text, session.index)
                                          event.accepted = true
                                      }
                                  }
                              }
                          }
          
                          Row {
                              spacing: 4
                              width: parent.width / 2
                              z: 100
          
                              Column {
                                  z: 100
                                  width: parent.width * 1.3
                                  spacing : 4
                                  anchors.bottom: parent.bottom
          
                                  Text {
                                      id: lblSession
                                      width: parent.width
                                      text: textConstants.session
                                      wrapMode: TextEdit.WordWrap
                                      font.bold: true
                                      font.pixelSize: 12
                                  }
          
                                  ComboBox {
                                      id: session
                                      width: parent.width; height: 30
                                      font.pixelSize: 14
          
                                      arrowIcon: "angle-down.png"
          
                                      model: sessionModel
                                      index: sessionModel.lastIndex
          
                                      KeyNavigation.backtab: password; KeyNavigation.tab: layoutBox
                                  }
                              }
          
                              Column {
                                  z: 101
                                  width: parent.width * 0.7
                                  spacing : 4
                                  anchors.bottom: parent.bottom
          
                                  Text {
                                      id: lblLayout
                                      width: parent.width
                                      text: textConstants.layout
                                      wrapMode: TextEdit.WordWrap
                                      font.bold: true
                                      font.pixelSize: 12
                                  }
          
                                  LayoutBox {
                                      id: layoutBox
                                      width: parent.width; height: 30
                                      font.pixelSize: 14
          
                                      arrowIcon: "angle-down.png"
          
                                      KeyNavigation.backtab: session; KeyNavigation.tab: loginButton
                                  }
                              }
                          }
          
                          Column {
                              width: parent.width
                              Text {
                                  id: errorMessage
                                  anchors.horizontalCenter: parent.horizontalCenter
                                  text: textConstants.prompt
                                  font.pixelSize: 10
                              }
                          }
          
                          Row {
                              spacing: 4
                              anchors.horizontalCenter: parent.horizontalCenter
                              property int btnWidth: Math.max(loginButton.implicitWidth,
                                                              shutdownButton.implicitWidth,
                                                              rebootButton.implicitWidth, 80) + 8
                              Button {
                                  id: loginButton
                                  text: textConstants.login
                                  width: parent.btnWidth
          
                                  onClicked: sddm.login(name.text, password.text, session.index)
          
                                  KeyNavigation.backtab: layoutBox; KeyNavigation.tab: shutdownButton
                              }
          
                              Button {
                                  id: shutdownButton
                                  text: textConstants.shutdown
                                  width: parent.btnWidth
          
                                  onClicked: sddm.powerOff()
          
                                  KeyNavigation.backtab: loginButton; KeyNavigation.tab: rebootButton
                              }
          
                              Button {
                                  id: rebootButton
                                  text: textConstants.reboot
                                  width: parent.btnWidth
          
                                  onClicked: sddm.reboot()
          
                                  KeyNavigation.backtab: shutdownButton; KeyNavigation.tab: name
                              }
                          }
                      }
                  }
              }
          
              Component.onCompleted: {
                  if (name.text == "")
                      name.focus = true
                  else
                      password.focus = true
              }
          }
          Adding:

          preview.jpg

          video sub directory


          Testing:

          Code:
          sddm-greeter --test-mode --theme /home/oneline/sddm/mysddm


          Seems to work


          Installing & Testing2

          Copying /mysddm/ to /usr/share/sddm/themes/mysddm/

          KDE System Settings > Startup and Shutdown > Login Screen (SDDM)



          Reboot

          Log in

          Seems to work (at here).
          Last edited by OneLine; May 01, 2015, 04:08 PM.
          Have you tried ?

          - How to Ask a Question on the Internet and Get It Answered
          - How To Ask Questions The Smart Way

          Comment


            #6
            This needs to be Stickied or placed in How To.

            Comment


              #7
              Where did you get the looping AVI file?

              Comment


                #8
                Relax

                Try Me !

                Comment


                  #9
                  Currently Kubuntu 15.10 uses SDDM. So I went to https://github.com/sddm/sddm and downloaded the zip. After extracting the contents I copied the themes from the sddm-master/data/themes folder and pasted into usr/share/sddm/themes. They actually do show up in system settings and so I selected one and tried to use it but it fails and just shows a white screen. Any idea as to why it failed?

                  Comment


                    #10
                    ?

                    Did you try with the sddm-greeter & konsole ?

                    $ sddm-greeter --help
                    Usage: sddm-greeter [options] [arguments]
                    Options:
                    --theme <theme path> Set greeter theme
                    --socket <socket name> Set socket name
                    --test-mode Start greeter in test mode
                    Any error messages ?


                    The circles/elarun/maldives/maui themes are available from the Ubuntu repositories: http://packages.ubuntu.com/search?ke...ll&section=all
                    Try Me !

                    Comment


                      #11
                      One common cause for a white screen is permissions...sddm greeter runs as user "sddm", so make sure it has read access to the theme directories and files.

                      Comment


                        #12
                        Originally posted by LinkBot View Post
                        Did you try with the sddm-greeter & konsole ?



                        Any error messages ?


                        The circles/elarun/maldives/maui themes are available from the Ubuntu repositories: http://packages.ubuntu.com/search?ke...e=all§ion=all
                        Wow! Thanks! didn't realize...Makes me wonder what other goodies I might be missing.

                        Comment


                          #13
                          Originally posted by kubicle View Post
                          One common cause for a white screen is permissions...sddm greeter runs as user "sddm", so make sure it has read access to the theme directories and files.
                          How would I go about that? Actually I just checked. The version from the repositories works. Do you guys know about any better splash screens to work with this?
                          Last edited by pauly; Sep 07, 2015, 06:42 PM.

                          Comment


                            #14
                            Do you guys know about any better splash screens to work with this?


                            About KDE splash screens: https://www.kubuntuforums.net/showth...l=1#post370231

                            Alternative X display managers - Some implementations : https://en.wikipedia.org/wiki/X_disp...(program_type)

                            - many of these are in the Ubuntu repositories


                            Alternative SDDM themes (googling):

                            - https://github.com/absturztaube/sddm-archlinux-theme
                            - https://github.com/AlfredoRamos/sddm...ifestyle-theme
                            - https://github.com/manjaro/artwork-maia
                            Last edited by LinkBot; Sep 09, 2015, 12:42 AM.
                            Try Me !

                            Comment


                              #15
                              KDE webcam wallpaper

                              (with the Arch Linux, Qt 5.5)


                              Copy of https://www.kubuntuforums.net/showth...l=1#post379944


                              with the qml /1, 2/ the wallpaper can read the picture from the internet webcams. The picture read timing can be done with the qml timer /3, 4/.


                              Writing:

                              ~/.local/share/plasma/wallpapers/org.web.cam/metadata.desktop
                              Code:
                              [Desktop Entry]
                              Encoding=UTF-8
                              Name=Webcam
                              Name[x-test]=xxWebcamxxx
                              
                              Type=Service
                              ServiceTypes=Plasma/DeclarativeWallpaper
                              Icon=preferences-desktop-wallpaper
                              X-Plasma-MainScript=ui/main.qml
                              X-KDE-PluginInfo-Name=org.web.cam
                              X-KDE-PluginInfo-EnabledByDefault=true
                              ~/.local/share/plasma/wallpapers/org.web.cam/contents/ui/main.qml
                              Code:
                              // https://forum.qt.io/topic/50948/how-to-find-in-documenation-the-qtquick-versions-for-a-qt-version/2
                              // Qt 5.5 -> QtQuick 2.5
                              
                              import QtQuick 2.5
                              
                              Rectangle {
                                  id: main
                                  width: 853
                                  height: 480
                              
                                  Image {
                                      id: showImage
                                      cache : false
                                      fillMode: Image.PreserveAspectCrop
                                      anchors.fill: parent
                                      source: "http://ftp2.innofactor.com/helsinginsatama/image_00001.jpg"
                                      clip: true
                                  }
                              
                                  Timer {
                                      // milliseconds
                                      interval: 60000
                                      repeat: true
                                      running: true
                                      onTriggered: { showImage.source =""; showImage.source = "http://ftp2.innofactor.com/helsinginsatama/image_00001.jpg" }
                                  }
                              }



                              Executing the kbuildsycoca5:
                              Code:
                              kbuildsycoca5 --noincremental
                              Picking the webcam wallpaper:



                              Seems to work...





                              Links

                              1. https://www.kubuntuforums.net/showth...ma-qml-widgets
                              2. http://doc.qt.io/qt-5/qml-qtquick-image.html
                              3. https://forum.qt.io/topic/6935/how-t...mage-in-qml/14
                              4. http://doc.qt.io/qt-5/qml-qtqml-timer.html
                              Before you edit, BACKUP !

                              Why there are dead links ?
                              1. Thread: Please explain how to access old kubuntu forum posts
                              2. Thread: Lost Information

                              Comment

                              Working...
                              X