FFixer

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

Further Tweak: Remove Dialog Prompts in Text boxes and make the boxes have pointy corners

in
Subscribe to Further Tweak: Remove Dialog Prompts in Text boxes and make the boxes have pointy corners 7 posts, 3 voices



Perplexed Guide User

This is another wish list for a further tweak/enhanced feature for Facebook Fixer:

Further Tweak: Remove Dialog Prompts in Text boxes and make the boxes have pointy corners

What I mean is on the home page of Facebook remove: "What's on your mind?" prompt

http://img12.imageshack.us/img12/609/removewhat...

On the Profile page remove: "Write something..." prompt

http://img19.imageshack.us/img19/5341/removewri...

On the friends page remove: "What are you doing right now?" prompt

http://img4.imageshack.us/img4/576/removewhatar...

Then add the option to make the corners pointy like the profile pictures so it all matches nicely

 
Vaughan Chan... Script's Author

I haven't decided if I'll add this feature or not, but you should be able to do this using Adblock Plus and adding a rule to block #div(class^=UIComposer)
That rule should block all 3 of those boxes.

 
Perplexed Guide User

Thanks, removing the text seems simple enough.

Visually the text box frame should match the squared corners though.

Thanks again.

 
Perplexed Guide User

Actually Platypus again works best for this...here is the Greasemonkey Script created in Platypus:

// ==UserScript==
// @name Platypus-www.facebook.com/home.ph
// @namespace Platypus
// @include http://www.facebook.com/home.php?ref=logo#/frie...
// ==/UserScript==
function do_platypus_script() {
smart_remove(window.document,document.evaluate('/HTML[1]/BODY[1]/DIV[4]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/UL[1]/LI[1]/A[1]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue,null,null,null);
smart_remove(window.document,document.evaluate('/HTML[1]/BODY[1]/DIV[4]/DIV[1]/DIV[2]/DIV[1]/DIV[1]/DIV[2]/DIV[2]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/LABEL[1]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue,null,null,null);
smart_remove(window.document,document.evaluate('/HTML[1]/BODY[1]/DIV[4]/DIV[1]/DIV[2]/DIV[1]/DIV[2]/DIV[1]/DIV[1]/DIV[2]/DIV[2]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/LABEL[1]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue,null,null,null);
}; // Ends do_platypus_script
window.addEventListener("load", function() { do_platypus_script() }, false);
var gplatypusBundle = Components.classes["@mozilla.org/intl/stringbundle;1"].getService(Components.interfaces.nsIStringBundleService);
var mystrings = gplatypusBundle.createBundle("chrome://platypus/locale/platypusCore.properties");
var platypusplatypuscouldntfi1 = mystrings.GetStringFromName("platypusplatypuscouldntfi1");
var platypusthisusuallyhappens = mystrings.GetStringFromName("platypusthisusuallyhappens");

//
// Mon Dec 19 15:59:37 2005 -- Scott R. Turner
// Short, uncommented file containing all the code to implement Platypus
// actions. Can be "included" into the Platypus script.
//
//
//
function walk_down(node, func) {
if (node.nodeType == 1) {
if (node.tagName != "IMG") func(node);
if (node.childNodes.length != 0)
for (var i=0; i<node>
walk_down(node.childNodes.item(i),func);
}
}
function make_bw(doc, node) {
walk_down(node,
function (node) {
if (node.tagName != 'A') {
node.bgcolor = "white";
node.color = "black";
node.style.backgroundColor = "white";
node.style.color = "black";
node.style.backgroundImage = "";
}});
}
function center_it(doc, node) {
var center_node = doc.createElement ("CENTER");
node.parentNode.insertBefore(center_node, node);
node.parentNode.removeChild(node);
center_node.appendChild(node);
return center_node;
};
function erase_it(doc, node) {
var offset_height = node.offsetHeight;
var offset_width = node.offsetWidth;
var replacement_div = doc.createElement ("DIV");
replacement_div.setAttribute('style',
"height: "+offset_height+"; width: "+offset_width+";");
node.parentNode.insertBefore(replacement_div, node);
node.style.display = "none";
return replacement_div;
};
function smart_remove(doc, node) {
if (node.parentNode.childNodes.length == 1) {
smart_remove(doc, node.parentNode);
} else {
remove_it(doc, node);
};
};
function remove_it(doc, node) {
if (doc == null || node == null) return;
if (!node.parentNode) return;
node.style.display = "none";
doc.last_removed_node = node;
};
function script_paste(doc, where, what) {
var new_node = what.cloneNode(true);
new_node.style.display = "";
where.parentNode.insertBefore(new_node, where);
};
function isolate(doc, node) {
if (!node.parentNode) return;
node.parentNode.removeChild(node);
while (doc.body.childNodes.length > 0) {
doc.body.removeChild(doc.body.childNodes[0]);
};
var replacement_div = doc.createElement ("DIV");
replacement_div.setAttribute('style',
"margin: 0 2%; text-align: left");
replacement_div.appendChild(node);
doc.body.appendChild(replacement_div);
};
function set_style_script(doc, element, new_style) {
element.setAttribute('style', new_style);
};
function modify_single_url(doc, match_re, replace_string, node) {
if (node.href) {
node.href = node.href.replace(match_re, replace_string);
};
};
function do_modify_url_it(doc, node, match_re, replace_string, global_flag) {
match_re = new RegExp(match_re);
if (global_flag) {
var allurls = doc.getElementsByTagName('A');
for(var i = 0, url; url = allurls[i]; i++)
modify_single_url(doc, match_re, replace_string, url);
} else {
modify_single_url(doc, match_re, replace_string, node);
};
};
function do_modify_html_it(doc, element, match_re, replace_string) {
match_re = new RegExp(match_re);
if (element.innerHTML) {
element.innerHTML = element.innerHTML.replace(match_re, replace_string);
};
};
function relax(doc, node) {
walk_down(node, function (node) {
node.style.width = 'auto';
node.style.marginLeft = '0pt';
node.style.marginRight = '0pt';
if (node.width) node.width = null; });
}
function fix_page_it(doc, node) {
doc.background = null;
doc.bgColor = "white";
if (doc.style) {
doc.style.backgroundColor = "white";
doc.style.backgroundImage = "none";
if (doc.style.color == "white") {
doc.style.color = "black";
};
if (doc.text == "white") {
doc.text = "black";
};
};
doc.body.background = null;
doc.body.bgColor = "white";
if (doc.body.style) {
doc.body.style.backgroundColor = "white";
doc.body.style.backgroundImage = "none";
if (doc.body.style.color == "white") {
doc.body.style.color = "black";
};
if (doc.body.text == "white") {
doc.body.text = "black";
};
};
};
function insertAfter(newNode, target) {
var parent = target.parentNode;
var refChild = target.nextSibling;
if(refChild != null)
parent.insertBefore(newNode, refChild);
else
parent.appendChild(newNode);
};
function html_insert_it(doc, element, new_html, before, insert_as_block) {
var new_element;
if (insert_as_block) {
new_element = doc.createElement ("DIV");
} else {
new_element = doc.createElement ("SPAN");
};
new_element.innerHTML = new_html;
if (before) {
element.parentNode.insertBefore(new_element, element);
} else {
insertAfter(new_element, element);
};
};
function auto_repair_it(doc, node) {
Dump("In auto_repair_it...");
var biggest_elem = find_biggest_elem(doc);
Dump("biggest_elem = "+biggest_elem);
isolate(doc, biggest_elem);
Dump("After isolate.");
relax(doc, biggest_elem);
Dump("After relax.");
make_bw(doc, biggest_elem);
Dump("After make_bw.");
fix_page_it(doc, biggest_elem);
Dump("After fix_page_it.");
};
function find_biggest_elem(doc) {
const big_element_limit = 0.25;
var size_of_doc = doc.documentElement.offsetHeight *
doc.documentElement.offsetWidth;
var body = doc.body;
var size_of_body = body.offsetHeight * body.offsetWidth;
if (size_of_body < (0.80 * size_of_doc)) {
size_of_body = size_of_doc;
};
var max_size = 0;
var max_elem = doc;
/*
var allElems = doc("//*",
doc, null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null);
Dump("allElems = "+allElems);
Dump("allElems.snapshotLength = "+allElems.snapshotLength);
for (var i = 0; i < allElems.snapshotLength; i++) {
var thisElem = allElems.snapshotItem(i);
*/

var allElems = doc.getElementsByTagName("*");
Dump("allElems = "+allElems);
Dump("allElems.snapshotLength = "+allElems.length);
for (var i = 0; i < allElems.length; i++) {
var thisElem = allElems[i];
var thisElem_size = thisElem.offsetHeight * thisElem.offsetWidth;

if (thisElem_size < size_of_body &&
thisElem_size > max_size &&
!contains_big_element(thisElem, size_of_body * big_element_limit)) {
max_size = thisElem_size;
max_elem = thisElem;
};
};
Dump("Max elem = "+max_elem.tagName);
return max_elem;
};

function contains_big_element(node, limit) {
if (node.childNodes.length != 0)
for (var i=0; i<node>
var child = node.childNodes.item(i);
var child_size = child.offsetHeight * child.offsetWidth;
if (child_size > limit) return true;
};
return false;
};

function platypus_do(win, func_name, o, other, other2, other3) {
var func = eval(func_name);
var doc = null;
if (func == null) return;
if (!o) {
Warning(platypusplatypuscouldntfi1+
func_name+platypusthisusuallyhappens);
};
doc = win.document;
func(doc, o, other, other2, other3);
};

//.user.js

 
Vaughan Chan... Script's Author

Out of curiosity, what makes the Platypus version better? It seems like a lot of code just to hide something.

I never heard of Platypus before you mentioned it, but it seems interesting. I'll probably check it out some time.

 
ma1achai User

I was about to ask the same thing.... I'm just starting to learn greasemonkey scripting... mainly by looking through Vaughan's code. The Platypus code looks pretty bloated...

 
Perplexed Guide User

Platypus is just an easy way for someone like myself not as familiar with code as you guys to easily edit a page and create a Greasemonkey script. Nothing will be as good or as efficient as writing code by hand for eliminating bloat.

Platypus is a fast and easy hack for me that works in coordination with Greasmonkey.

I prefer to use Vaughan's well written code but for tweaks that are NOT included I can quickly use Platypus.

I never said Platypus was better then Greasemonkey, simply because Platypus works hand in hand with Greasemonkey...what I did say was that Platypus was better then Adblock Plus in removing some unwanted things on webpages, most notably if I use Adblock Plus to remove the Facebook Logo on the top userbar it still leaves a blank space on the user bar where the facebook logo used to be, but if I use Platypus it not only removes the Facebook logo but also the blank space behind the Facebook logo thus making a cleaner cut of the unwanted content and it's associated background. Thus my statement: "Actually Platypus again works best for this..." meaning Platypus works better to solve my problem then Adblock Plus (and Remove Permanently) but since Platypus generates a Greasemonkey script for the user to install on your web browser Platypus does not work in a comparison/contrast way to Greasemonkey but instead Platypus simply enhances Greasemonkey for a quick and fast script for easily install and utilization.

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