FFixer

By Vaughan Chandler Last update Mar 9, 2011 — Installed 14,798,424 times.

Facebook Events Suggestion

in
Subscribe to Facebook Events Suggestion 13 posts, 3 voices



Nujj User

Thanks for making Facebook Fixer, I love it!

I was wondering if it was possible to change the "events" section on the homepage. In the new layout, facebook made it so small and at the bottom of the page. I feel as though I am missing people's birthdays. Is it possible to have the option to move it to the top?

Also, if it is someone's birthday, facebook lists the event as happening on a day of the week ("Tues" or "Wed") instead of saying "TODAY!" or something.

ex. Instead of:
Bob Smith's birthday Fri
Jane Doe's birthday Sat
John Doe's birthday Sun

Have:
Bob Smith's birthday TODAY!
Jane Doe's birthday Tomorrow
John Doe's birthday Sun

I don't know if these suggestions are possible or useful to other people, but I know it would help me keep track of whose birthday it is!

Thanks!

 
Vaughan Chan... Script's Author

Hi Nujj, I'll see what I can do. In the mean time, the script has an option to hide the highlights section. If you won't miss that section you could hide it and get the events section closer to the top of the page.

 
sizzlemctwizzle Scriptwright

It's fairly simple to move the events section to the top of the right sidebar.

if((right=document.getElementById('home_sidebar'))&&(events=document.getElementsByClassName('UIUpcoming')[0]))right.insertBefore(events.parentNode.parentNode,right.firstChild);

 
Vaughan Chan... Script's Author

Thanks for the great code (once again). It will be in the next release.

 
sizzlemctwizzle Scriptwright

I like putting everything above the Highlights section, since the highlights are usually kind of boring. So here's that code too if you want it. Obviously you can order them any way you like.

function $(element) { return document.getElementById(element); }
function $c(element) { return document.getElementsByClassName(element); }
if(right=$('home_sidebar')) {
      if(pokes=$c('pokes')[0]) right.insertBefore(pokes, right.firstChild);
      if(events=$c('UIUpcoming')[0]) right.insertBefore(events.parentNode.parentNode, right.firstChild);
      if(requests=$c('UIRequestsBox')[0]) right.insertBefore(requests.parentNode.parentNode, right.firstChild);
}

 
Vaughan Chan... Script's Author

Yeah I was thinking about doing that too. I actually have the highlights hidden all the time. Maybe I'll just add an option to move the highlights to the bottom of that column... that's easier for me to add to the configuration screen.

 
sizzlemctwizzle Scriptwright

That sounds good, but the real pain is that the highlights section is the only one to not have it's own unique class. You're gonna have to write some really obscure xpath to get it and move it to the bottom of the column.

 
Vaughan Chan... Script's Author

Well I'd have to double check to be sure, but I think the highlights section is the only place where there are div's with a class of UIHotStream. If so I should be able to find it with:
$c('UIHotStream')[0].parentNode.parentNode

 
sizzlemctwizzle Scriptwright

Yes you're right. Been awhile since I've messed around in Facebook's html and I totally forgot about that lol.

$('home_sidebar').appendChild($c('UIHotStream')[0].parentNode.parentNode);

It's so nice that Mozilla lets us use getElementsByClassName. Best part is that it's like getElementsByTagName and you can use it on any element. Not just the document.

 
Vaughan Chan... Script's Author

Yeah its nice, but as far as I know document.evaluate has been around longer, so I tend to use that instead of getElementsByClassName for compatibility. I'm not sure which is more efficient though.

 
sizzlemctwizzle Scriptwright

Yeah getElementsByClassName has only been around since the release of Firefox 3, so you might be right about compatibility. But it is faster than XPath, not that it makes much of a difference.

 
Nujj User

Wow! Thanks for responding so quickly!! I can't wait to see the script in action :) Keep up the great work!

 
Nujj User

It looks like they changed birthdays that are today to say "Today" ... but the events are still at the bottom, lol

Cross
Presentational HTML allowed.
Use <code> for inline code and <pre> for code blocks. Use &lt; and &gt; for literal < and >.
We help break paragraphs and link your links.
or cancel