Themes, shells and other animals. Themes Plasma graphics is heavily based on the Svg standard Easily themeable Architecture indipendence Basis for resolution.

Slides:



Advertisements
Similar presentations
Windows Basics An Introduction to the Windows Operating System.
Advertisements

Iframes & Images Using HTML.
“Scott Shy Spyder Demo” This PowerPoint was built for a plasma display to demonstrate the capabilities of Vista Systems’ Spyder. It is a self-running PPT.
Miscellaneous Windows 2000 Desktop Features Windows 2000 Intermediate.
®® Microsoft Windows 7 for Power Users Tutorial 2 Customizing Microsoft Windows 7.
1 Introducing Collaboration to Single User Applications A Survey and Analysis of Recent Work by Brian Cornell For Collaborative Systems Fall 2006.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Course :: Certificate in Basic Computers Applications for End Users Introducing Window 7.
Windows 10. The New Microsoft Operating System to be released July 29 th. It’s not just a PC operating system, it’s a lot more, it includes phones,
Lesson 9 Windows Management
Windows 7 – Bells & Whistles (plus more!) M. Salter Palm Creek Computer Club November 2012.
Windows Basics: Desktop, Taskbar and Window
Windows Basics: Desktop, Taskbar and Window
1 Lesson 6 Exploring Microsoft Office 2007 Computer Literacy BASICS: A Comprehensive Guide to IC 3, 3 rd Edition Morrison / Wells.
1 Lesson 6 Exploring Microsoft Office 2007 Computer Literacy BASICS: A Comprehensive Guide to IC 3, 3 rd Edition Morrison / Wells.
BUILDING RICH MEDIA ELEMENTS. Design Decisions Based on Design Specification  Following the design specification will ensure that the application is.
Introduction to Scratch!
Tip Calculator App Building an Android App with Java © by Pearson Education, Inc. All Rights Reserved.
Chapter 9 Programming with Web Forms Programming In Visual Basic.NET.
Innovative Training Works Digital Literacy Computing Fundamentals Using an Operating System (Microsoft® Windows XP)
Copyright 2012 Adobe Systems Incorporated. All rights reserved. ® Copyright 2010 Adobe Systems Incorporated. All rights reserved. ® Copyright 2012 Adobe.
XP Practical PC, 3e Chapter 15 1 Creating Desktop Video and Animation.
Chapter 2 Looking at Windows. 2Practical PC 5 th Edition Chapter 2 Getting Started In this Chapter, you will learn: − Which version of Windows you own.
Use CSS to Implement a Reusable Design Selecting a Dreamweaver CSS Starter Layout is the easiest way to create a page with a CSS layout You can access.
Responsive Web Designing Using CSS3 & HTML5 -Sandip Jadhav “We are building a web, for all device ”
Chapter 4 Working with Frames. Align and distribute objects on a page Stack and layer objects Work with graphics frames Work with text frames Chapter.
Windows Vista is the latest release of Microsoft Windows, a line of graphical operating systems used on personal computers, including home and business.
Introduction to Windows 10 Windsor Senior Computer Users Group October 12, 2015.
1 Lesson 11 Exploring Microsoft Office 2010 Computer Literacy BASICS: A Comprehensive Guide to IC 3, 4 th Edition Morrison / Wells.
The desktop (overview) Working with desktop icons The desktop is the main screen area that you see after you turn on your computer and log on to Windows.
Explore GNOME The easy way, using a live CD By Carl Weisheit.
1 Lesson 11 Exploring Microsoft Office 2010 Computer Literacy BASICS: A Comprehensive Guide to IC 3, 4 th Edition Morrison / Wells.
Copyright © 2016 by McGraw-Hill Education. All rights reserved. Mike Meyers’ CompTIA A+ ® Guide to Managing and Troubleshooting PCs Fifth Edition Copyright.
Windows Vista Configuration MCTS : Interface and Device Options.
1 The Presenter Console Andre Fischer Software Engineer Impress Sun Microsystems 1.
KDE Plasma Mobile workspaces Marco Martin. What is Plasma?
Pasewark & Pasewark 1 Windows Vista Lesson 1 Windows Vista Basics Microsoft Office 2007: Introductory.
Chapter 2 – Introduction to Windows Operating System II Manipulating Windows GUI 1CMPF112 Computing Skills for Engineers.
The Visible PC. Computing Parts Hardware – stuff you can touch and would hurt if you dropped it on your foot Operating System – controls the hardware.
Fundamentals of Windows Mouse n 4 Basic Operations: –Pointing –Clicking –Double Clicking –Dragging.
Chapter 2 Operating Systems
Windows customization
The Future of Drupal and Content Delivery
Lesson 11 Exploring Microsoft Office 2007
5/2/2018 1:53 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS.
Chapter 2 Looking at Windows
Plasma 2: the workspace construction kit
Images.
Images.
IC3 GS5 Certification Guide
Lesson Objectives Aims You should be able to:
Inserting and Working with Images
Chapter 2 Looking at Windows
CS 0134 (term 2181) Jarrett Billingsley
Building beautiful and interactive apps with HTML5 & CSS3
Understanding Operating System Configurations
Introduction to Computers
User Interface Design and Development
Operating Microcomputer
Program and Graphical User Interface Design
Windows xp PART 1 DR.WAFAA SHRIEF.
Windows 7                      .
Microsoft Windows 7 Basics
Images.
Images.
Images.
WEB DESIGN FOR MULTIPLE SCREENS
Web Standards and Accessible Design.
4.00 Apply procedures to add content by using Dreamweaver. (22%)
An Introduction to the Windows Operating System
Presentation transcript:

Themes, shells and other animals

Themes Plasma graphics is heavily based on the Svg standard Easily themeable Architecture indipendence Basis for resolution indipendence High level of abstraction from an API standpoint

Using Svgs from themes They are installed in the KDE prefix/share/apps/desktopthemes/themeName Subfolders: dialogs, widgets, applet names, opaque, locolor Loading them: Plasma::Theme abstracts the loading of the proper path, with proper fallbacks m_svg->setImagePath(“widgets/background”);

From packages A scripted applet can load a svg from its own package with Package::filePath() In javascript you do plasmoid.findSvg(“foo”) Will search foo.svg(z) in the images subfolder of your plasmoid

Some advices Try to use graphics from the theme and default widgets as much as possible Install your own graphics (c++ case) or use from the package (scripted case) only when really necessary Try to make visually work your additional graphic with different themes (at least dark vs light)

Implementation details: Plasma::Svg The central machinery that renders svgs, eases use of QSvgRenderer Several optimizations (a renderer is quite heavy): Shared: for each svg file a single shared renderer Cached: saves rendered svgs on disk: avoids completely creation of renderers in some cases Use it: several paint() functions, takes a Qpainter as argument

Plasma::FrameSvg Most Plasma theme elements style mostly- rectangular widgets Svg is scalable, but... not so much :) We want to keep the radius of rounded borders intact and each element exactly aligned to the pixel grid Plasma::FrameSvg comes to rescue

From a graphics standpoint We have svgs made of 9 elements: center, edges and corners The center can be scaled as ve wish Corners are NEVER scaled Horizontal edges are scaled in the x axis, vertical in the y axis instead

From a code standpoint FrameSvg is a subclass of Svg, so usual setImagePath() ResizeFrame scales the final composition with said rules PaintFrame() paints the whole composition A svg can have multiple sets of 9 elements sets, with a different prefix in their name, switch with setElementPrefix()

Part 2: shells - Plasma-mid Plasma-mid is an experimental interface for mobile internet devices and other contrained little devices. Work began at Akademy-2008, mostly by Aaron, some work by Sebas in mid-specific containments, some patches by me and i'm forgetting somebody, sorry :) The improved sytem-tray we have now actually derives from toughts and design around plasma- mid

Plasma-mid What does work Plasma-mid is a barebone plasma app with a main view and a panel view in the same window Loads correctly applet layouts from config files Supports panels in the 4 locations The main view can correctly switch containment What does not More than 1 panel Any configuration interface, hand editing configuration files is necessary

One size fits.. not much Different devices with different hardware capabilities will need to have a different- looking interface.. different applets layout same app Touchscreen or not, keyboard and mouse or not, makes needed stuff and Fitt's laws slightly different Also, a really tiny single-purpose device could have just plasma, a more general one like the Eee mixes up plasma and traditional apps

Current demo A plasma-based interface that mostly manages traditional apps Right vertical panel thumb friendly with an activitybar, an “activewindow”, a sytemtray and a clock 3 activities: an icon list to launch apps, a fullscreen taskbar and a traditional widgets space Ideally the windowmanager would have to be very barebone, even more than matchbox

Current demo It's a full screen non-desktop window, with the panel area reserved, so clicking on the panel brings the plasma interface on top Both the panel and the main screen containments are simplified mid-oriented code It's done with already existing applets, maybe not really adapt and not so pretty but we have a basic working thing from where we can start to build something

Media center Current media center solutions are applications that aims to turn a pc in an easy attach-to-your- tv single purpose box The charateristics of Plasma we're developing both in terms of good looking ui and network services transparency would make this possible, but...

We can do more than that Blend media center related stuff and the traditional desktop (media center activity?) Control a media center from an another machine with your plasma desktop (or even your plasma-mid portable device ;) Scripted widgets to control the media could be sent across the network Anything ele that can't think about now

What there is now......And what realistically i would like to get in KDE 4.3: A video widget in libplasma usable even with few lines of javascript A media player plasmoid with basic audio/video playback capabilities and a dbus interface to be remote controlled

Questions?