How to skin a cat?
#1
Posted 15 October 2012 - 11:32
- Based on PLi-HD 3.0.
- Full HD (1920x1080).
- Configurable (overscan)margins.
- Configurable font sizes.
- Easily adjustable/editable layout due to dynamic screen content.
- Automatically resizing widgets due to changes in margins, font sizes or content.
I have four questions:
a. If anyone wants to take a glance at the work in progress, I'd be happy to post it, but I don't know how to create an ipk file yet (so any hints there would be welcome).
b. Does anyone know about a skin widget which allows one to display just the ECM time or just the provider name?
c. In some other skin I see reference to a Picon2 widget, which does not seem to work in standard OpenPLi; do I need a plugin installed for that?
d. I read somewhere that one can add supporting .py files to a skin; does anyone have an example or documentation on how this is to be accomplished?
Re: How to skin a cat? #2
Re: How to skin a cat? #3
Posted 15 October 2012 - 14:40
I'll be happy to make an ipk out of your package.
Same applies to adding .py's, as long as you tell me where they should go and if there are any dependency's.
Many thanks for the offer.
However, I'm here to learn, so I'd prefer a pointer to some documentation or example that allows me to infer on how to do it myself.
Besides, my motto always is, if it can be scripted, it should be.
Re: How to skin a cat? #4
Re: How to skin a cat? #5
Posted 16 October 2012 - 08:24
Is there a reason why e.g. there is a widget called "blue" *and* another widget called "key_blue" ?
They appear to fulfill the same function, yet are not defined at the same time (if one is filled, the other is empy, and vice versa it seems).
Re: How to skin a cat? #6
Posted 16 October 2012 - 08:32
Welcome to the world of enigma2..... due to the coders this is not made consequent... and when we change it a lot of skins will not be compatible anymore.... I discovered it when using templates in our standard OpenPLi-HD skin.......Is there a reason why e.g. there is a widget called "blue" *and* another widget called "key_blue" ?
WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W
Re: How to skin a cat? #7
Re: How to skin a cat? #8
Posted 16 October 2012 - 10:12
Sigh. I see, so things like this mark the difference between a coder and a programmer... ;-)..... due to the coders this is not made consequent...
Is there a reason why e.g. there is a widget called "blue" *and* another widget called "key_blue" ?
Well, the good news is, I found a solution for it (using a single template for both).I discovered it when using templates in our standard OpenPLi-HD skin.......
Re: How to skin a cat? #9
Posted 16 October 2012 - 10:16
Anything specific you can recall?There are even more variations to this theme..........
Is there a reason why e.g. there is a widget called "blue" *and* another widget called "key_blue" ?
I mean, I'm converting everything into templates, so I'm bound to encounter them somewhere along the line, but since "discovering and learning" here sadly always involves a restart of enigma, any insights you can offer will help.
Re: How to skin a cat? #10
Posted 16 October 2012 - 11:41
Yes, instead of 'key_red' etc. one also finds (with and without capital(s)):Anything specific you can recall?
There are even more variations to this theme..........
Is there a reason why e.g. there is a widget called "blue" *and* another widget called "key_blue" ?
I mean, I'm converting everything into templates, so I'm bound to encounter them somewhere along the line, but since "discovering and learning" here sadly always involves a restart of enigma, any insights you can offer will help.
name="cancel"
name="OK"
name="Save"
name="buttonred", name="buttongreen" etc.
name="languagetext" (quite exeptional)
name="ButtonBluetext"
name="stationmenu"
name="key_r"
name="key_g"
name="key_y"
name="key_b"
source="red" etc.
And sometimes no label at all is available, so the skin could add something like '< eLabel text="Exit"........>'
The above is an exhaustive list of what I found so far, but I'm pretty sure there's more out there......
Could I make a test-ride with your skin? Manually implanting files/py's is no problem.
Edited by SatKiekerd, 16 October 2012 - 11:42.
Re: How to skin a cat? #11
Posted 16 October 2012 - 12:16
Yes, instead of 'key_red' etc. one also finds (with and without capital(s)):
name="cancel"
...
The above is an exhaustive list of what I found so far, but I'm pretty sure there's more out there......
Aargh... And to add insult to injury, I just found: <widget name="title" /> and <widget name="Title" />.
This sadly proves that programming and skin design is something that should be left to real programmers, or, at the very least, a real programmer should check any code a coder produces before committing it. But, I realise, like any community effort, there always is a shortage of resources (time), so we'll have to do with what everyone is offering.
Could I make a test-ride with your skin? Manually implanting files/py's is no problem.
Sure. Take note, it's very much a work in progress. I started with the PLi-HD skin, and am slowly transmogrifying it. There is still plenty of old skin left, it's all being replaced by brand new code.
Most notably, I've been working on ChannelSelection, InfoBar, SecondInfoBar, About, ServiceInfo and generic Menus.
The idea is that once the design is finished, it is easily tweaked by changing (at best) one value/width/height/fontsize whatever, and everything else will scale accordingly. Case in point: the infobars, I moved the infobar to the top (to get it out of the hair of subtitles); but if anyone wants to move it back down, it's easy, it just consists of blocks which can be moved, reordered, etc. without the need to recalculate any coordinates whatsoever.
The reason I sometimes cannot easily get away with changing just one value is because there is no provision for generic text-macros with parameters.
To assist in calibrating font sizes, I included some visible strings which are present in the About page, which allow you to calibrate the font width/height dimensions (in case someone changes the font sizes).
Anyway, the following skin currently consists of only one file (skin.xml), just place it in a subdirectory (current working name for the skin is BuGless on my machine).
There needs to be a PLi-HD skin on the same machine, otherwise it will miss a *lot* of images.
Attached Files
Edited by BuGless, 16 October 2012 - 12:20.
Re: How to skin a cat? #12
Re: How to skin a cat? #13
Posted 17 October 2012 - 13:22
De GraphMultiEpg.py file moet de huidige geinstalleerde overschrijven ("opkg flag hold enigma2-plugin-extensions-graphmultiepg" als je niet wilt dat updates de wijzigingen overschrijven).
P.S. Waarom verbiedt dit (development!) forum me een .py file te uploaden?
Attached Files
Re: How to skin a cat? #14
Posted 17 October 2012 - 13:45
Dit is natuurlijk een vette note done...!!! Een skin hoort geen py files te overschrijven!!! Dat is heel erg foei en verklaart meteen je P.S.....De GraphMultiEpg.py file moet de huidige geinstalleerde overschrijven
En het is nu ook al mogelijk om de GME volledig met 20 zenders of zo te laten zien. In feite kun je twee screens toekennen... om te schakelen via de gele toets...
Maar wat heb je dan aangepast in GME (kun je een diff maken?).... misschien als het heel goed is kan het standaard worden??? Maar wij moeten dan ook weer rekening houden dat het met elke skin kan werken..... en dan loop je weer tegen bepaalde grenzen aan.
Maar nu kun je ook al door kanalen heen scrollen... dus onder de streep denk ik dat het goed is zoals het nu al is... alleen heb je niet geweten dat er een tweede scherm al mogelijk was.
Edited by littlesat, 17 October 2012 - 13:48.
WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W
Re: How to skin a cat? #15
Posted 17 October 2012 - 14:03
Dit is natuurlijk een vette note done...!!! Een skin hoort geen py files te overschrijven!!! Dat is heel erg foei en verklaart meteen je P.S.....
De GraphMultiEpg.py file moet de huidige geinstalleerde overschrijven
The skin doesn't require it. It's just in tweaking the GraphMultiEPG skin layout I found that the skin doesn't offer enough options to influence the behaviour. The GraphMultiEpg.py changes will not be part of the skin (eventually), but will (preferably) flow into the standard GraphMultiEPG package.
As such, if I want to discuss changes in py files, it is rather silly to forbid uploading of py files in this forum.
En het is nu ook al mogelijk om de GME volledig met 20 zenders of zo te laten zien. In feite kun je twee screens toekennen... om te schakelen via de gele toets...
I know. But I have a 2m wide HD screen with all pixels visible, and the current max. numbers don't cut it. Too much wasted space.
Maar wat heb je dan aangepast in GME (kun je een diff maken?).... misschien als het heel goed is kan het standaard worden??? Maar wij moeten dan ook weer rekening houden dat het met elke skin kan werken..... en dan loop je weer tegen bepaalde grenzen aan.
I'll provide a diff, eventually, it's not finished yet though; and yes, the changes will be compatible with all other skins (as the skinning of my cat progresses and the mist starts to clear up, I'm gradually becoming aware of the crosscompatibility mess enigma is in).
Maar nu kun je ook al door kanalen heen scrollen... dus onder de streep denk ik dat het goed is zoals het nu al is... alleen heb je niet geweten dat er een tweede scherm al mogelijk was.
Well, besides the wasted space (in my skin, margins are much smaller, so there is more screen real-estate to fill, the current GraphMultiEPG has an IMHO *very* erratic behaviour when pushing the up and down arrows. Also, centering the eventname makes it difficult to visually find the start of the program; and allowing wraparound in eventnames gets messy because the display sometimes shows partial letters if a complete second or third line does not fit anymore.
Edited by BuGless, 17 October 2012 - 14:05.
Re: How to skin a cat? #16
Re: How to skin a cat? #17
Posted 17 October 2012 - 15:31
The concept of Open Source normally is not just that you can fork it, the general idea is to contribute back instead; is there a reason why people in the enigma environment often seem to forget the second part?
Re: How to skin a cat? #18
Re: How to skin a cat? #19
Posted 17 October 2012 - 17:22
The concept of Open Source normally is not just that you can fork it, the general idea is to contribute back instead; is there a reason why people in the enigma environment often seem to forget the second part?
because most e2 'developers' are script kiddies?
Well, spank them!
Re: How to skin a cat? #20
Posted 17 October 2012 - 20:57
And don't forget the smaller the kiddy, the bigger the ego. They all want to show how great they are, even if they stole most of it from someone else.because most e2 'developers' are script kiddies?
It also contributes to a lot of this stuff being closed-source. Otherwise the stealing would be very obvious...
Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Ultimate (S2+T2), Octagon SF8008 (S2+T2), Zgemma H9.2H (S2+T2)
Due to my bad health, I will not be very active at times and may be slow to respond. I will not read the forum or PM on a regular basis.
Many answers to your question can be found in our new and improved wiki.
4 user(s) are reading this topic
0 members, 4 guests, 0 anonymous users