/* * Default theme for Entrance * By Michael Bouchaud * Licence CC-By-Sa * Photo by Philippe Caseiro * Licence CC-By-Sa */ externals { external: "elm"; } collections { group { name: "entrance/background/default"; images { image: "entrance_background.jpg" LOSSY 90; } parts { part { name: "base"; type: IMAGE; description { state: "default" 0.0; image { normal: "entrance_background.jpg"; scale_hint: STATIC; } } } } } group { name: "entrance/background"; data.item: "items" "default"; } group { name: "entrance/wallpaper/default"; parts { part { name: "base"; type: RECT; description { state: "default" 0.0; color: 255 255 255 0; } } part { name: "clip1"; type: RECT; description { state: "default" 0.0; visible: 1; color: 255 255 255 255; rel1 { to: "cur"; relative: 1.0 0.0; } } } part { name: "clip2"; type: RECT; description { state: "default" 0.0; visible: 1; color: 255 255 255 255; rel2 { to: "cur"; relative: 0.0 1.0; offset: 0 -1; } } } part { name: "cur"; type: RECT; description { state: "default" 0.0; min: 1 0; max: 1 99999; visible: 0; align: 0.0 0.5; } description { state: "user" 0.0; inherit: "default" 0.0; align: 1.0 0.5; } } part { name: "entrance.wallpaper.default"; clip_to: "clip1"; type: SWALLOW; description { state: "default" 0.0; visible: 1; } } part { name: "entrance.wallpaper.user"; clip_to: "clip2"; type: SWALLOW; description { state: "default" 0.0; visible: 1; } } part { name: "entrance.wallpaper.user.start"; clip_to: "clip2"; type: SWALLOW; description { state: "default" 0.0; visible: 1; } } part { name: "entrance.screen"; type: SWALLOW; description { state: "default" 0.0; visible: 1; } } } programs { program { name: "wallpaper_user"; signal: "entrance,wallpaper,user"; source: ""; action: STATE_SET "user" 0.0; transition: LINEAR 0.7; target: "cur"; after: "wallpaper_transition_end"; } program { name: "wallpaper_default"; signal: "entrance,wallpaper,default"; source: ""; action: STATE_SET "default" 0.0; transition: LINEAR 0.7; target: "cur"; after: "wallpaper_transition_end"; } program { name: "wallpaper_transition_end"; action: SIGNAL_EMIT "entrance,wallpaper,end" ""; } } } group { name : "entrance"; images { } parts { part { name: "clip"; type: RECT; description { state: "default" 0.0; color: 255 255 255 255; //color: 255 255 255 0; } description { state: "show" 0.0; color: 255 255 255 255; } } part { name: "entrance.login"; clip_to: "clip"; type: SWALLOW; description { state: "default" 0.0; visible: 1; max: 0 0; } } part { name: "entrance.users"; type: EXTERNAL; // source: "elm/list"; // source: "elm/genlist"; source: "elm/gengrid"; description { state: "default" 0.0; rel1.relative: 0.0 0.2; rel2.relative: 0.0 0.8; rel2.to_x: "entrance.login"; visible: 1; params { bool: "horizontal" 0; double: "vertical page relative" 0.0; int: "horizontal item size" 96; int: "vertical item size" 120; } } } part { name: "entrance.actions"; type: EXTERNAL; source: "elm/hoversel"; description { state: "default" 0.0; fixed: 1 1; visible: 0; max: 0 0; align: 1.0 1.0; params { string: "label" "action"; } } description { state: "enabled" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "entrance.conf"; type: EXTERNAL; source: "elm/button"; description { state: "default" 0.0; fixed: 1 1; visible: 1; max: 0 0; align: 1.0 1.0; rel2.to_x: "entrance.actions"; rel2.relative: 0.0 1.0; params { string: "label" "Settings"; } } description { state: "enabled" 0.0; inherit: "default" 0.0; visible: 1; } } /* */ } programs { program { name: "action_enabled"; signal: "entrance,action,enabled"; source: ""; action: STATE_SET "enabled" 0.0; target: "entrance.actions"; } program { name: "action_disabled"; signal: "entrance,action,disabled"; source: ""; action: STATE_SET "default" 0.0; target: "entrance.actions"; } program { name: "user_enabled"; signal: "entrance,users,enabled"; source: ""; action: STATE_SET "enabled" 0.0; target: "entrance.users"; } program { name: "user_disabled"; signal: "entrance,users,disabled"; source: ""; action: STATE_SET "default" 0.0; target: "entrance.users"; } program { name: "conf_enabled"; signal: "entrance,custom_conf,enabled"; source: ""; action: STATE_SET "enabled" 0.0; target: "entrance.conf"; } program { name: "conf_disabled"; signal: "entrance,custom_conf,disabled"; source: ""; action: STATE_SET "default" 0.0; target: "entrance.conf"; } } } group { name : "entrance/login"; parts { part { name: "error"; type: RECT; description { state: "default" 0.0; color: 255 0 0 96; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "entrance.login"; type: SWALLOW; repeat_events: 0; description { state: "default" 0.0; min: 140 0; max: 0 0; align: 0.5 1.0; rel2.to_y: "entrance.password"; rel2.relative: 1.0 0.0; visible: 1; } } part { name: "entrance.password"; type: SWALLOW; repeat_events: 0; description { state: "default" 0.0; min: 140 0; max: 0 0; align: 0.5 0.5; visible: 1; } } part { name: "entrance.xsessions"; type: SWALLOW; description { state: "default" 0.0; max: 0 0; rel1.to_y: "entrance.password"; rel1.relative: 0.0 1.0; align: 0.5 0.0; //visible: 0; } description { state: "enabled" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "entrance.error"; type: TEXT; mouse_events: 0; effect: SOFT_SHADOW; scale: 1; description { state: "default" 0.0; visible: 0; color: 255 255 255 0; fixed: 1 1; rel1.to_y: "entrance.xsessions"; rel1.relative: 0.0 1.0; align: 0.5 0.0; rel1.offset: 0 50; rel2.offset: -1 51; text { text: "Error on login ! Maybe wrong password ?"; font: "Sans"; size: 18; min: 1 1; align: 0.5 0.5; } } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; color: 255 255 255 255; } } /* * * PROGRAMS * */ programs { program { name: "xsession_enabled"; signal: "entrance,xsession,enabled"; source: ""; action: STATE_SET "enabled" 0.0; target: "entrance.xsessions"; } program { name: "xsession_disabled"; signal: "entrance,xsession,disabled"; source: ""; action: STATE_SET "default" 0.0; target: "entrance.xsessions"; } program { name: "login_error"; signal: "entrance,auth,error"; source: ""; action: STATE_SET "visible" 0.0; target: "error"; target: "entrance.error"; } program { name: "login_change"; signal: "entrance,auth,changed"; source: ""; action: STATE_SET "default" 0.0; target: "error"; target: "entrance.error"; } } /* program { name: "auth_enable"; signal: "entrance.auth.enable"; source: ""; action: STATE_SET "auth" 0.0; transition: ACCELERATE 0.8; target: "entrance.users"; target: "entrance.password"; target: "entrance.xsessions"; } program { name: "auth_disable"; signal: "entrance.auth.disable"; source: ""; action: STATE_SET "default" 0.0; transition: LINEAR 0.5; target: "entrance.users"; target: "entrance.password"; target: "entrance.xsessions"; } program { name: "login"; signal: "entrance.auth.valid"; source: ""; action: STATE_SET "default" 0.0; transition: LINEAR 0.7; target: "clip"; } * If you want check auth, emit this signal "entrance.auth.request" "" * Here is an example program { name: "login_valid"; signal: "mouse,down,*"; source: "valid"; action: SIGNAL_EMIT "entrance.auth.request" ""; } */ } } group { name: "entrance/conf/login"; parts { part { name: "base"; type: RECT; description { state: "default" 0.0; visible: 0; } } part { name: "entrance.conf"; type: SWALLOW; description { state: "default" 0.0; visible: 1; } } part { name: "hover"; type: RECT; mouse_events: 1; repeat_events: 0; description { state: "default" 0.0; color: 0 0 0 196; } description { state: "hidden" 0.0; visible: 0; } } part { name: "entrance.login"; type: SWALLOW; description { state: "default" 0.0; visible: 1; } description { state: "hidden" 0.0; visible: 0; } } } programs { program { name: "conf_enabled"; signal: "entrance,conf_user,enabled"; source: ""; action: STATE_SET "hidden" 0.0; target: "hover"; target: "entrance.login"; } } } group { name: "entrance/user"; data.item: "items" "adrielhernandez-cmyk-tux brunocb-tux-1-euro cisoun-tux-coup-de-soleil eliaden-tux-marin fcys14-tux-breton fcys14-tux-croco fcys14-tux-pompier fcys14-yoshi-tux m4r10-tux-crema mybob-calimetux overlord59-astro-tux overlord59-dj-tux-mix-platine overlord59-magic-tux overlord59-tux-pianiste touko-tux-pirate"; parts { part { name: "entrance.icon"; type: SWALLOW; mouse_events: 0; description { state: "default" 0.0; min: 96 96; visible: 1; //aspect : 1.0 1.0; //aspect_preference : BOTH; } } } } #define ADD_USER_ICON(NAME) \ group { name: "entrance/user/"NAME; \ images { \ image: NAME".png" COMP; \ } \ parts { \ part { name: "base"; \ type: RECT; \ description { state: "default" 0.0; \ visible: 0; \ } \ } \ part { name: "icon"; \ type: IMAGE; \ description { \ image { \ normal: NAME".png"; \ scale_hint: STATIC; \ } \ } \ } \ } \ } ADD_USER_ICON("adrielhernandez-cmyk-tux") ADD_USER_ICON("brunocb-tux-1-euro") ADD_USER_ICON("cisoun-tux-coup-de-soleil") ADD_USER_ICON("eliaden-tux-marin") ADD_USER_ICON("fcys14-tux-breton") ADD_USER_ICON("fcys14-tux-croco") ADD_USER_ICON("fcys14-tux-pompier") ADD_USER_ICON("fcys14-yoshi-tux") ADD_USER_ICON("m4r10-tux-crema") ADD_USER_ICON("mybob-calimetux") ADD_USER_ICON("overlord59-astro-tux") ADD_USER_ICON("overlord59-dj-tux-mix-platine") ADD_USER_ICON("overlord59-magic-tux") ADD_USER_ICON("overlord59-tux-pianiste") ADD_USER_ICON("touko-tux-pirate") }