Firefox

All for a fistful of dollars

FOSS is dead. what now?

Source: Post-Open Source | boringcactus

the gods fucken damnit, Mozilla. This is but one article out of so, so, so many out there that are talking about the death, dearth, and zombification of open source projects. And that’s before we even bring in the tweets.

But sure, those Mozilla Corporation executives deserve millions of dollars so they can look preen themselves when they have to prostate themselves before their capitalist gods making hundreds of times their salaries.

All for a fistful of dollars Read More »

Also, fuck you, Mozilla.

Since Mozilla discontinued the ability of extensions to make modifications to the UI the customization ability of Firefox has gone to shit. Hence tricks like (this)[https://github.com/andreicristianpetcu/UserChrome-Tweaks] and (this)[https://github.com/Aris-t2/CustomCSSforFx] that kick back to how you’d have to do it back in the Phoenix/Firebird days.

Fuck I’m old.

Anyway I’m using the following in userChrome.css to get:

  • Tabs under the navigation/address bar
  • Multi-row tabs. No more fucking scrolling side to side. Who came up with that? It’s bloody stupid.
  • A prettier look in general
  • Makes you feel like you’re using a real browser instead of a toy browser like Chrome.

Firefox menu, navigation, and tab bars

I grabbed a couple things from the links above and made the tab bar a bit narrower. but other than that no changes. If you need to learn how to make this all work visit (this link)[https://www.userchrome.org/what-is-userchrome-css.html].

Here’s the CSS code:


/* Firefox Quantum userChrome.css tweaks ************************************************/ /* Github: https://github.com/aris-t2/customcssforfx ************************************/ /****************************************************************************************/ :root { --colored_menubar_background_image: linear-gradient(#f9f9fa,#f9f9fa); --general_toolbar_color_toolbars: linear-gradient(#f9f9fa,#f9f9fa); --general_toolbar_color_navbar: linear-gradient(#f9f9fa,#f9f9fa); --tabs_toolbar_color_tabs_not_on_top: linear-gradient(#f9f9fa,#f9f9fa); --tabs_toolbar_border-tnot_normal_mode_size: 1px; --tabs_toolbar_border-tnot_normal_mode: var(--tabs-border-color); --classic_squared_tabs_tab_text_color: black; --classic_squared_tabs_new_tab_icon_color: black; --classic_squared_tabs_tab_text_shadow: transparent; --tab-min-height_tnot: 32px; } :root[uidensity=compact] { --tab-min-height_tnot: 25px; } :root[uidensity=touch] { --tab-min-height_tnot: 40px; } /* tabs toolbar adjustment */ #main-window[tabsintitlebar] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[uidensity=compact][tabsintitlebar] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[uidensity=compact][tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #TabsToolbar { -moz-padding-start: 2px !important; } #main-window[tabsintitlebar] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar:-moz-lwtheme, #main-window[tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar:-moz-lwtheme, #main-window[uidensity=compact][tabsintitlebar] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar:-moz-lwtheme, #main-window[uidensity=compact][tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar:-moz-lwtheme, #TabsToolbar:-moz-lwtheme, #main-window[tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[uidensity=compact][tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[sizemode="maximized"] #TabsToolbar, #main-window[tabsintitlebar]:not([style*='--lwt-header-image']):-moz-lwtheme #navigator-toolbox #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[tabsintitlebar][sizemode="maximized"]:not([style*='--lwt-header-image']):-moz-lwtheme #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[uidensity=compact][tabsintitlebar]:not([style*='--lwt-header-image']):-moz-lwtheme #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[uidensity=compact][tabsintitlebar][sizemode="maximized"]:not([style*='--lwt-header-image']):-moz-lwtheme #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[tabsintitlebar]:not([style*='--lwt-header-image']):-moz-lwtheme #TabsToolbar { -moz-padding-start: 0px !important; } #main-window[tabsintitlebar][sizemode="normal"]:not([sizemode="fullscreen"]) #TabsToolbar { margin-top: 0px !important; } #main-window[tabsintitlebar][sizemode="normal"][chromehidden~="menubar"] #TabsToolbar, #main-window[tabsintitlebar][sizemode="normal"] #toolbar-menubar[autohide="true"][inactive] + #TabsToolbar, #main-window[tabsintitlebar][sizemode="maximized"][chromehidden~="menubar"] #TabsToolbar, #main-window[tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive] + #TabsToolbar { padding-top: 0px !important; } #main-window[tabsintitlebar] #toolbar-menubar[autohide="true"]:not([inactive="true"]) ~ #TabsToolbar, #main-window[tabsintitlebar] #toolbar-menubar[autohide="false"] ~ #TabsToolbar{ margin-top: 0px !important; } /* tab title in titlebar support */ #main-window[tabsintitlebar][sizemode="normal"] #navigator-toolbox #TabsToolbar, #main-window[uidensity=compact][tabsintitlebar][sizemode="normal"] #navigator-toolbox #TabsToolbar, #main-window[tabsintitlebar][sizemode="maximized"] #navigator-toolbox #TabsToolbar, #main-window[uidensity=compact][tabsintitlebar][sizemode="maximized"] #navigator-toolbox #TabsToolbar, #main-window[tabsintitlebar][sizemode="normal"] #navigator-toolbox #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[uidensity=compact][tabsintitlebar][sizemode="normal"] #navigator-toolbox #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[tabsintitlebar][sizemode="maximized"] #navigator-toolbox #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar, #main-window[uidensity=compact][tabsintitlebar][sizemode="maximized"] #navigator-toolbox #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar{ margin-top: 0px !important; } /* titlebar button support */ #main-window[tabsintitlebar] #toolbar-menubar[autohide="true"][inactive="true"] ~ #nav-bar{ margin-top: 2px !important; } /* fix for application/hamburger button in titlebar */ #main-window[tabsintitlebar][sizemode="fullscreen"] #toolbar-menubar[autohide="true"][inactive="true"] ~ #nav-bar #PanelUI-button { visibility: collapse !important; } #main-window[inDOMFullscreen="true"] #TabsToolbar { opacity: 0 !important; } /* tab height */ #tabbrowser-tabs, #tabbrowser-tabs > .tabbrowser-arrowscrollbox, .tabbrowser-tabs[positionpinnedtabs] > .tabbrowser-tab[pinned] { min-height: var(--tab-min-height_tnot) !important; } /* toolbar order (start) ************************************/ #print-preview-toolbar, #printedit-toolbar, #titlebar { -moz-box-ordinal-group: 0 !important; } #navigator-toolbox #toolbar-menubar { -moz-box-ordinal-group: 1 !important; } /* navigation toolbar */ #navigator-toolbox #nav-bar { -moz-box-ordinal-group: 2 !important; } /* bookmarks toolbar */ #navigator-toolbox #PersonalToolbar { -moz-box-ordinal-group: 3 !important; } /* 3rd party toolbars */ #navigator-toolbox toolbar { -moz-box-ordinal-group: 10 !important; } /* tabs toolbar */ #navigator-toolbox #TabsToolbar { -moz-box-ordinal-group: 100 !important; } /* toolbar order (end) **************************************/ /* toolbar colors */ #main-window:not([tabsintitlebar]) #toolbar-menubar:not(:-moz-lwtheme) { background-image: var(--colored_menubar_background_image) !important; border: 0px !important; margin-bottom: -1px !important; } #nav-bar:not(:-moz-lwtheme) { -moz-appearance: none !important; background: var(--general_toolbar_color_navbar, inherit) !important; } toolbar:not(#TabsToolbar):not(#toolbar-menubar):not(#nav-bar):not(:-moz-lwtheme) { -moz-appearance: none !important; background: var(--general_toolbar_color_toolbars, inherit) !important; } #TabsToolbar:not(:-moz-lwtheme){ -moz-appearance: none !important; background-image: var(--tabs_toolbar_color_tabs_not_on_top) !important; } /* remove color overlay for lw-themes */ #main-window[style*='--lwt-header-image'] :-moz-any(#nav-bar,#PersonalToolbar,#TabsToolbar):-moz-lwtheme{ background: unset !important; } /* adjust compact themes background color */ #main-window:not([style*='--lwt-header-image']) #TabsToolbar:-moz-lwtheme { -moz-appearance: none !important; background-image: linear-gradient(var(--toolbar-bgcolor),var(--toolbar-bgcolor)) !important; } #main-window:not(:-moz-lwtheme) #TabsToolbar :-moz-any(.tabs-newtab-button,.scrollbutton-up,.scrollbutton-down), #main-window:not(:-moz-lwtheme) #TabsToolbar > toolbarbutton, #main-window:not([style*='--lwt-header-image']):-moz-lwtheme:-moz-lwtheme-darktext #TabsToolbar :-moz-any(.tabs-newtab-button,.scrollbutton-up,.scrollbutton-down), #main-window:not([style*='--lwt-header-image']):-moz-lwtheme:-moz-lwtheme-darktext #TabsToolbar > toolbarbutton { fill: var(--classic_squared_tabs_new_tab_icon_color) !important; color: var(--classic_squared_tabs_new_tab_icon_color) !important; } /* toolbar borders */ #main-window #navigator-toolbox::after { opacity: 0 !important; } #TabsToolbar{ margin-bottom: 0px !important; border-bottom: 1px solid #5f7181 !important; } #main-window[sizemode="normal"] #navigator-toolbox :-moz-any(#nav-bar,#PersonalToolbar,#TabsToolbar) { border-left: var(--tabs_toolbar_border-tnot_normal_mode_size) solid var(--tabs_toolbar_border-tnot_normal_mode) !important; border-right: var(--tabs_toolbar_border-tnot_normal_mode_size) solid var(--tabs_toolbar_border-tnot_normal_mode) !important; background-clip: padding-box !important; } #main-window[sizemode="maximized"] #navigator-toolbox :-moz-any(#nav-bar,#PersonalToolbar,#TabsToolbar) { border-left: 0px !important; border-right: 0px !important; } #main-window[style*='--lwt-header-image'][sizemode="normal"] #navigator-toolbox :-moz-any(#nav-bar,#PersonalToolbar,#TabsToolbar):-moz-lwtheme, #main-window[style*='--lwt-header-image'][sizemode="maximized"] #navigator-toolbox :-moz-any(#nav-bar,#PersonalToolbar,#TabsToolbar):-moz-lwtheme { border-top: 0px !important; border-left: 0px !important; border-right: 0px !important; } #main-window:not([style*='--lwt-header-image']):-moz-lwtheme-brighttext #TabsToolbar:-moz-lwtheme { border-bottom: 1px solid #323234 !important; } #main-window:not([style*='--lwt-header-image']):-moz-lwtheme:-moz-lwtheme-brighttext #TabsToolbar:-moz-lwtheme { border-bottom: 1px solid #323234 !important; } #main-window:not([sizemode="fullscreen"])[tabsintitlebar] #TabsToolbar{ -moz-margin-end: 0px !important; } #main-window[tabsintitlebar] #TabsToolbar .titlebar-placeholder{ visibility: collapse !important; } #main-window[tabsintitlebar][sizemode="normal"] #toolbar-menubar[autohide="true"][inactive="true"] { margin-top: 21px !important; } #main-window[tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive="true"] { margin-top: 20px !important; } #tabbrowser-tabs .tab-drop-indicator { margin-bottom: 0px !important; } #PersonalToolbar:-moz-lwtheme, #nav-bar:-moz-lwtheme { background-image: none !important; box-shadow: none !important; border-top: none !important; border-bottom: none !important; } /* remove tab fog */ #TabsToolbar:not(:-moz-lwtheme), #TabsToolbar:not(:-moz-lwtheme)::before, #TabsToolbar:not(:-moz-lwtheme)::after { box-shadow: unset !important; } /* remove 'dragging tab' margin/padding nonsense */ #TabsToolbar[movingtab] { padding-bottom: unset !important; } #TabsToolbar[movingtab] > .tabbrowser-tabs { padding-bottom: unset !important; margin-bottom: unset !important; } #TabsToolbar[movingtab] + #nav-bar { margin-top: unset !important; } /* scroll buttons */ #TabsToolbar:not(:-moz-lwtheme) #alltabs-button, #TabsToolbar:not(:-moz-lwtheme) .tabbrowser-arrowscrollbox > .scrollbutton-up, #TabsToolbar:not(:-moz-lwtheme) .tabbrowser-arrowscrollbox > .scrollbutton-down { fill: black !important; } /* Fx58+ titlebar placeholders */ #TabsToolbar .titlebar-placeholder[type="pre-tabs"], #TabsToolbar .titlebar-placeholder[type="post-tabs"]{ display: none !important; } @media (-moz-os-version: windows-win10) { #main-window[tabsintitlebar][sizemode="normal"] #toolbar-menubar[autohide="true"][inactive="true"] { margin-top: 30px !important; } #main-window[tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive="true"] { margin-top: 30px !important; } } @media (-moz-windows-classic) { /* tweaks for Windows Classic theme */ #nav-bar:not(:-moz-lwtheme), #PersonalToolbar:not(:-moz-lwtheme), #main-window:not([tabsintitlebar]) #TabsToolbar:not(:-moz-lwtheme) { border-left: unset !important; border-right: unset !important; background: unset !important; } #main-window[sizemode="normal"] #navigator-toolbox :-moz-any(#nav-bar,#PersonalToolbar,#TabsToolbar) { border-left: 0px !important; border-right: 0px !important; } #main-window:not([tabsintitlebar]) #toolbar-menubar:not(:-moz-lwtheme) { background: unset !important; box-shadow: unset !important; border-bottom: unset !important; } #main-window:not([tabsintitlebar]):not(:-moz-lwtheme) #navigator-toolbox, #main-window:not([tabsintitlebar]):not(:-moz-lwtheme) #nav-bar, #main-window:not([tabsintitlebar]):not(:-moz-lwtheme) #navigator-toolbox::before, #main-window:not([tabsintitlebar]):not(:-moz-lwtheme) #nav-bar::before, #main-window:not([tabsintitlebar]):not(:-moz-lwtheme) #navigator-toolbox::after, #main-window:not([tabsintitlebar]):not(:-moz-lwtheme) #nav-bar::after { background: unset !important; box-shadow: unset !important; border: unset !important; border-image: unset !important; } #main-window:not([tabsintitlebar]) toolbar:not(#TabsToolbar):not(#toolbar-menubar):not(#nav-bar):not(:-moz-lwtheme) { background: unset !important; } } /* tab text colors */ #TabsToolbar:not(:-moz-lwtheme) .tabbrowser-tab { color: var(--classic_squared_tabs_tab_text_color) !important; text-shadow: 1px 1px 1px var(--classic_squared_tabs_tab_text_shadow) !important; } /* fix Windows 7s default tab background (remove dark purple bg color)*/ @media (-moz-os-version: windows-win7) { @media (-moz-windows-default-theme) { .tabbrowser-tab:not([selected]):not(:hover):not(:-moz-lwtheme) { background-color: #e3e4e6 !important; } .tabbrowser-tab:not([selected]):hover:not(:-moz-lwtheme) { background-color: #cccdcf !important; } } } /* Firefox Quantum userChrome.css tweaks ************************************************/ /* Github: https://github.com/aris-t2/customcssforfx ************************************/ /****************************************************************************************/ /****************************************************************************************/ /* multirow / multiple tab lines - modified for CustomCSSforFx **************************/ /* all credits go to the original author: ***********************************************/ /* https://www.reddit.com/r/FirefoxCSS/comments/7dclp7/multirow_tabs_in_ff57/ ***********/ /****************************************************************************************/ :root { --tabs-lines: 3; /* 3 rows, increase for more */ --tab_min_width_mlt: 120px; --tab_max_width_mlt: 200px; --tab-min-height_mlt: var(--tab-min-height,25px); /* set own value here, if used without configuration files */ } .tabbrowser-tab[fadein]:not([pinned]) { flex-grow: 1; min-width: var(--tab_min_width_mlt) !important; max-width: var(--tab_max_width_mlt) !important; } .tabbrowser-tab,.tab-background { min-height: var(--tab-min-height_mlt); } .tabs-newtab-button { vertical-align: bottom !important; height: var(--tab-min-height_mlt); margin-bottom: -1px !important; } .tab-stack { width: 100%; } /* fix tab position */ #tabbrowser-tabs, #tabbrowser-tabs > .tabbrowser-arrowscrollbox { min-height: var(--tab-min-height_mlt) !important; } :root[uidensity=touch] .tabbrowser-tab:not([pinned]) .tab-content .close-icon { padding-top: 0px !important; padding-bottom: 0px !important; } /**/ #tabbrowser-tabs .scrollbox-innerbox { display: flex; flex-wrap: wrap; overflow-x: collapse !important; overflow-y: auto !important; min-height: var(--tab-min-height_mlt); max-height: calc( var(--tabs-lines) * var(--tab-min-height_mlt) ) !important; } #tabbrowser-tabs .arrowscrollbox-scrollbox { overflow-x: collapse; overflow: visible; display: block; } #tabbrowser-tabs .scrollbutton-up, #tabbrowser-tabs .scrollbutton-down, #TabsToolbar #alltabs-button, .tabbrowser-tab:not([fadein]){ display: none; } #main-window[tabsintitlebar] #tabbrowser-tabs { -moz-window-dragging: no-drag !important; } .tabbrowser-arrowscrollbox > .arrowscrollbox-overflow-start-indicator:not([collapsed]), .tabbrowser-arrowscrollbox > .arrowscrollbox-overflow-end-indicator:not([collapsed]) { opacity: 0 !important; } #tabbrowser-tabs * { overflow-x: none !important; } #main-window[customizing] #tabbrowser-tabs .scrollbox-innerbox { display: block !important; } #tabbrowser-tabs .scrollbox-innerbox { -moz-padding-end: 4px !important; } #TabsToolbar[currentset^="tabbrowser-tabs,new-tab-button"] #tabbrowser-tabs .scrollbox-innerbox { -moz-padding-end: 0px !important; } /* remove crap set by Firefox 58+ */ .tabbrowser-tab::after, .tabbrowser-tab::before { border-left: unset !important; border-image: unset !important; border-image-slice: unset !important; border: 0 !important; } #TabsToolbar .titlebar-placeholder[type="pre-tabs"], #TabsToolbar .titlebar-placeholder[type="post-tabs"]{ opacity: 0 !important; }

Also, fuck you, Mozilla. Read More »

Press This

WordPress removed the “Press This” bookmarklet because:

  • WordPress developers are fucking idiots.
  • WordPress developers fucking hate you, the user.

Most of the links I put up on this site were usually through the bookmarklet. “We just want to increase security”, they say, then break the functionality without a proper equivalent in place.

They’re probably friends with Firefox developers, who also like to break with the past without regard to their users.

But what do users know, right? Developers always know better.

Press This Read More »

Modificaciones simples pero efectivas

He estado usando estos hacks por un buen rato… desde Firebird 0.7. Quizá alguien les encuentre utilidad.

El primero es userChrome.css, localizado en ~/.mozilla/firefox/<profile_dir>/chrome. Existe un archivo ya incluido llamado userChrome-example.css que puedes usar para comenzar modificaciones, que fue lo que yo hice. A este archivo le hice un solo cambio:

/* Hacer pestañas inactivas translúcidas */
#content tab:not([selected="true"]) { -moz-opacity: 0.5 !important; }

De ahí tenemos userContent.css, también localizado en ~/.mozilla/firefox/<profile_dir>/chrome, que también cuenta con un archivo de ejemplo llamado — que mas — userContent-example.css. A este archivo le hice dos cambios:

/* Change cursor for links that open in new window */
:link[target="_blank"], :visited[target="_blank"],
:link[target="_new"], :visited[target="_new"] {
cursor: crosshair;
}

/* Change cursor for JavaScript links */
a[href^="javascript:"] {
cursor: move;
}

A lo largo del tiempo estas modificaciones se hicieron parte integra de mi experiencia diaria con Firefox. Originalmente las encontré en la pagina customizing Mozilla page. Si quieres probar otras modificaciones en la pagina adelante, pero debes saber que la pagina ya tiene mucho sin ser actualizada. Las que puse arriba funcionan con cualquier versión de Firefox y deberían funcionar con navegadores basados en Firefox como lo es Flock, pero no hago ninguna promesa.

Si al final si las quieres probar, solamente asegúrate de respaldar el directorio de tu perfil.

Modificaciones simples pero efectivas Read More »

Simple but effective hacks

I’ve been using these hacks for a long time now… since Firebird 0.7. Thought someone might find good use for them.

The first one up is userChrome.css, located in ~/.mozilla/firefox/<profile_dir>/chrome. There is a built-in file called userChrome-example.css which you can build on top of, which is what I’ve done. To this file I only made a single change:

/* Make inactive tabs partially transparent */
#content tab:not([selected="true"]) { -moz-opacity: 0.5 !important; }

Then we’ve got userContent.css, also located in ~/.mozilla/firefox/<profile_dir>/chrome, which also comes with an example files called — what else — userContent-example.css. To this file I made some more changes:

/* Change cursor for links that open in new window */
:link[target="_blank"], :visited[target="_blank"],
:link[target="_new"], :visited[target="_new"] {
cursor: crosshair;
}

/* Change cursor for JavaScript links */
a[href^="javascript:"] {
cursor: move;
}

Over time these modifications have become an integral part of my daily Firefox experience. I originally found them in the customizing Mozilla page. If you want to try some of the hacks there you’re obviously welcome to try them, but be aware the page is now extremely outdated. The ones above do work with all versions of Firefox and should work with Firefox-based browsers like Flock, but I’m not making any promises.

If you do want to try them out, just make sure to backup your profile folder.

Simple but effective hacks Read More »