(New / Fixed) Widescreen Package Update
-
I got some more notes… all of this work started with Evgeny Yurchenko's original widescreen package.. It was a down and dirty hardcoded patch.. it was essentially an overlay to pfsense, and not a theme, nor was it a package.. in its previous iteration it was unqualified to remain as a package, It modified pfsenses own personal zones of files, this isnt what a package is meant to be, packages extend pfsense.. if a package modifies pfsense, it has stepped beyond its boundries into the area which makes pfsense feel insecure.. and uncomfortable with it.
I think its easy to see how we wont have wide screen themes until the 2 column hardcoded routines are reworked... its bad form to hardcode something that needs to scale, the only difference between 2 columns and 9 is the number of lines of code.. the hardcoded stuff in the widescreen is not different than the 2 column code. just more of it.
Please read the big post I made above, overlay the widescreen fix onto your www folder, test against all themes, etc.. everything should work.. truth be told some stuff looks better, but some centering is lost.. this had not been overlooked.
Besides the official pull tweaks to index.php and fend.inc.. I dont think its good form to overlay onto the pfsense_ng theme.. Why should it even be a package. This is MUCH NEEDED fixes to the existing layout code, and is really at its core enabling wide themes.. Pay close attention to the way the new code lays out the widgets, all of the padding is consistent, top bottom and sides.. also certain widgets look better now.. the picture widget is centered pixel perfect.
The old widescreen plugin attempted scaling the widget widths.. this was just plain terrible and its gone.. unfortunately the content div still scales like it did in the old widescreen plugin, which is terrible to a lesser degree..
All percentage based scaling has been reworked, and spit polished. except. the right side of the content div is scaling based upon %, Check out the superwide screenshot, looks good? nah.. look at the wasted space.. look at how stuff is not centered in the content area. I tried using padding which scaled, it was worse than float left.. all of this has just convinced me that the width needs to scale to accommodate the number of columns, instead of the columns trying to take advantage of the available space in the content area.
The old widescreen looked like it was having a seizure as it scaled.. all the widgets were refreshing hundreds of times as the width changed.... That is fixed also.
I have a github account, I can do pull requests, etc... I honestly was just as excited as you guys were asking to publish this thing.. I jumped in and said "Look at what I did, I fixed the widescreen." Then as a went deeper and picked it apart I kept finding more and more that needed addressing. I think we are close.. but I'd like to fix the right size scaling / passing problem.. this will also make the other themes that dont scale appear consistently centered right now they push a tiny bit left,.. nothing to get worked up about.. but it can be better.
My final feature was going to be to revert everything to match the standard theme, and have widescreen be implemented as an easter egg to be activated only after entering the konami code on the keyboard. Just slap me now. (Don't think mine wont work like that though. hehe)
Best Regards,
Richard Graver
-
Yes, we want it fixed properly in the base code but at this point it's too late to get it into 2.1, because we need to stop adding features there and ship it.
Once we branch 2.1 off, we'd have no problem accepting this kind of change into HEAD/master (which will become 2.2).
-
Overlays are OK for packages so long as there are fun/scary notes about it not being able to be uninstalled.
Patches are good because, assuming nothing else mangled the files, patches can be reverted. (See the System Patches package for an easy way to apply and revert patches) there are quite a few "patch packages" that are little more than a .patch file with some "package" code wrapped around it. The tap fix package, for example. Those are quite easy to make.
-
Problem if we then get an update that destroys it.
If its nothing more to work in the base code, then why not?
Rich says its close and I thinks its a brilliant job. Why not see it through and get it done so people can enjoy a much needed update to the GUI?
-
It's too late for 2.1, it can be in 2.2. cmb stated that a couple times in other widescreen-related threads.
We have to draw a line somewhere or 2.1 will never be released.
-
:(
-
If it's patched against 2.1 or a package is made, it can be used in the meantime. It's not really that big of a deal to go that route.
-
Can we get a package done for both the 2.0.x series and then 2.1 since its not on release yet you think?
Marcello had something going but I dont know if he is talking to Rich about this and they do it together?
-
If it's patched against 2.1 or a package is made, it can be used in the meantime. It's not really that big of a deal to go that route.
So, I'll keep some of the hard coded stuff that works with comments that it needs a little logic love, and focus on asthetics and functionality.
I'll do what it says here to my eclipse, hopefully it will get me off of the napkins I have been using to get this widescreen thing done.
http://devwiki.pfsense.org/PfsenseEclipseXdebugSetup
I STILL need some kind of autocomplete Ai Syntax thing where I type just a few letters of what I'm trying to do, and a whole function appears that just works exactly like what I'm picturing in my head.
(I hope you guys can tell when I'm joking.. all I hear is crickets.. is this thing on? How come there are many programmers who think that Halloween is XMas? because Oct 31 == Dec 25!! Um, how many coders to screw in a lightbulb? Can't be done .. hardware issue. Ok, I swear.. maybe not today , maybe not this week. I'll get some more time to keep this moving forward.,….)I anyone who is using the current 2.1 widescreen stuff... Any comments? does it feel like I'm going in the right direction with this so far?
-
Rich,
Your widescreen update does work in v2.1, sorry no screen shots (yet!), unfortunately the "all.css" file that is included in the zip file appears to be old and misses some later updates.
The dashboard (index.php) has an issue with the HTML DIV statements, it's giving an error message. I'm not at home at present and will try and find the culprit, but may be something to do with the closing DIV statement before column 1 ("col1").
Definitely a thumbs up from me (and probably lots from Supermule ;) ).
-
Yes…..! Its fairly annoying to sit on a 2560x1600 screen and mess with the "old" theme.... :D
Rich. Can you walk me through a 3-4 column code change in 2.0.3??
-
Just found this thread thanks to Supermule. I was unaware of your work while I was working on something similar! I was struggling with loading the columns after a save, but looking at your code I figured this out big THANKS!
Anyway I have taken a different approach to you and have attempted to implement this into a theme as opposed to the existing pfsense. If your interested in what I have done you can follow it here:
-
Can we somehow merge the threads??
-
Since I thought initially this was for 2.0.x I installed it on a few I have around. What Ive found is that if Ive had the original widescreen package on a box before (but uninstalled) things work fine. If not then I seem to have issues. (Actually one I tried to install over the widescreen package and that didn't so so well until I uninstalled that package then worked fine. 2nd had the package then uninstalled before I tried, works fine. third never had the package and didn't do so well.) Forth same as third before went to 2.1…
I have it on two boxes now with 2.1 RC and everything (this widescreen (manual install)) is great so far. :)
Some others going to 2.1 today and will add it later.
-
Guys any way we can add it to the packages repo on 2.0.3?
Thanks!
-
bump :)
-
That would be nice! We need it :)
-
bump :)
-
bump :)
Hi Serialdie,
For now you can use the ZIP file earlier in the thread to overlay onto your install.. There is just a few files to be updated underneath of /usr/local/www the subfolder layout in the www folder of the zip file should match up if you take a moment to look at it.
If you are on Windows you can grab 2 tools which are very useful to examining the changes that were made from the official files and mine. If your not on Windows I assume you know how to do all of this already. The best place (I find) to grab these tool on a Windows PC would be http://ninite.com, you should grab WinSCP and
WinDiffWinMerge. WinSCP will allow you to transfer files in and out of your pfSense installation in a GUI interface.. its cake.. Here is the magic sauce if anyone needs it.. #1 SSH Enabled. #2 Use the username "root" not admin. #3 Use the same password as your admin user. I'm pretty sure both SCP and SFTP will work fine.. if one doesn't work, try the other.WinDiffWinMerge will give you a GUI to compare the Widescreen patched files and the release files in the image (If you so desire to understand the changes).. If it doesn't compare properly, its probably because the line endings are wrong in one of the files.. There is an option on the first menu inWinDiffWinMerge which will unify the line endings to unix or windows (You want them to be unix before putting them back into your router, obviously) I only mentionWinDiffWinMerge because it was instrumental in helping me sort out the Widescreen fixes and keep track of what I was changing along the way as I worked on this.I'm tied down in another project, but I forked everything under my Github account which matches up with this user name here… It will probably be about a week before I can dig in again like I did before. I still have a few things I wanted to do to the Widescreen before publishing it.. its perfectly functional as is.. but not where I want it to be before I figure out how to package it properly and submit it.
It really is easy enough to patch these files into your router if you understand basic file management.. WinSCP will get you the access you need to do so in the mean time.
I hope this helps for now.. I was rushing initially thinking it was possible to get this into 2.1, but JimP says its a "no go" due to it being late in the cycle. I'll dig back into this ASAP.
Rich
-
The File Manager Package is also good for getting these files in place. :)