Mozilla

Gonna be a hell of a rager, Thunderbird!

Over the past couple years I’ve been using Nextcloud as my file syncing solution with plenty of success— you just have to make sure to set it up properly. I’ve enabled a couple of extensions for it (they call them “apps”) but the one I truly rely on is Tasks, which enables a CalDAV compatible to-do list.

Now, over the past decade or so I’ve tried a myriad of to-do applications and a lot of them really fell down on their face:
– Google Tasks: They change their interface so often, at the whims of whomever is in charge of that bit of code over at google. It tries to be too smart for its own good. It’s a google application do you don’t actually know if it’ll stick around.
– Google Keep: Free-form management sure, but it gets extremely unwieldy once you try to have more than what can fit on your screen. It also tries to be smart. There also the potential for extinction.
todo.txt: This is meant for people who are on their desk computers all day every day. I’m not.
Remember the Milk. It’s a paid app. At this point I don’t even remember what the limitation was that turned me off it.
wiki.vim: Again, meant for desk use.
Notion: It’s just so slow.
– Evernote: They seem to care more about how your to-do list looks rather than crossing items off it. Also you have to pay for all the goodies.
Microsoft To Do: You need a Microsoft account and they push hard to get you to upgrade to full-on Office.
Org Mode: Emacs. Just… no.
– I’m not listing any apps on iOS cos Apple devices are toys. Yes iPhones take awesome pictures but that’s cos they’re toys for adults.
– Mozilla Thunderbird: No built-in sync with other Thunderbird instances. Given that Mozilla is putting all of its resources into Firefox…

I’ve probably tried using a myriad others but decided against them for one reason or another, be it compatibility with my operating systems of choice, UI/UX decisions made by the part of the developers, lack of sane defaults forcing me to change al of the configuration settings, etc etc. At some point you just give up. Now, the Tasks app on Nextcloud is plenty capable and so far it has been the only one that I’ve been able to stick with longer than two weeks cos it covers all the features I want, which I found quite surprising:
– Web-based interface for availability pretty much everywhere you have a browser and Internet access.
– Hierarchical tasks! (aka subtasks) with notes attached to everything so you can document what you did and how you did it.
– Compatibility with pretty much everything out there via CalDAV. It’s a bit of a pain depending on what you’re using (looking at you, DAVx and tasks.org.

This last point is what I have to poke fun at Thunderbird. For an application that is trying extremely hard to run your life, they don’t fully support CalDAV, namely, hierarchical tasks. Found this on their Bugzilla

\Thunderbird Bugzilla: Bug 194863: Subtask nesting and event triggers (hierarchical to-do): Opened 20 years ago This bug grew up into quite the young adult[/caption]
This bug has been open since February 25, 2003. I’m typing this in January 3, 2023. In less than two months this bug will be able to drink in the United States.

I like you Thunderbird but what the fuck lol.

Gonna be a hell of a rager, Thunderbird! Read More »

Closing quickly, for that matter.

Social networks are universally more restrictive than web pages but also more fun in significant ways, chief amongst them being that more people can participate. What if the rest of the web have that simplicity and immediacy, but without the centralization? What if we could start over?

Source: A clean start for the web – macwright.com

Mozilla is knowingly walking away from any of these options because they’re bitter they could not come to dominate the Web after Firefox helped bring about the downfall of Internet Explorer. Big Tech will not support a reimagining of what the web could be since it will mean less profits. Can’t have that in a capitalist society, now can we?

There’s hope now that the Servo engine is cut loose, but the time window to avoid having a technological cycle (about 30 years or so) be dominated by corporations is closing.

Closing quickly, for that matter. Read More »

Never write documentation hangry, e.g. this post

I find I Love MDN demeaning to technical writers. It reminds me of breaking into spontaneous applause for our courageous health workers instead of funding them properly so they can do their jobs.

Source: I Love MDN, or the cult of the free in action – QuirksBlog

Another article related to the fall of Mozilla. Back in the day we relied heavily on quirksmode.org and doing that sort of data mining, collating, writing and publishing is not easy. For a while myself helped out writing documentation for WordPress during the <.09 era and we found out for myself exactly how hard technical writing is. It’s something we’re good at and, more importantly, enjoy. We appreciate the skill, nuance, talent and even luck that goes into writing good documentation.

It is something that we complain about often on teh twitter derp corn; often using ultraviolent language cos most developers are assholes. We’ve mentioned on this here blargh of using vimwiki. Their documentation looks like… actually, not even going to bother with a screenshot because they don’t have anything on their github or wiki that actually says “Documentation”. They take the easy way out and tell you “oh run :h vimwiki in vim”.

No, fuck you, lazy assholes.

Another few great examples of technical writing gone wrong:

  • Pretty much any plugins for vim. Most of them are just the same text file you’d use :h for, except without hyperlinking.
  • VirtualBox coming in with the one-page User Manual
  • Nextcloud, with documentation full of gotchas that should be mentioned prior or during installation, but aren’t.
  • Apple: Documentation? What’s that? Also there never was any documentation here.

Agent J: Move along, nothing to see here

I just had to use a gif for Apple. It’s that bad. Most Android apps don’t have any documentation of any kind whatsoever. Windows applications used to have documentation built-in but now they just direct you to their website, where documentation changes and disappears depending on the A-level goals for the quarter.

There are many more examples out there but these are some of the ones I can think of right now. The gist of it is this kind of thing is hard and people who do it should be paid for it, and if they’re good at it they should be paid well. If a developer doesn’t want to write proper documentation then… they should either have someone do it for them and listen to that feedback, or get their ass handed to them so they get on writing it themselves.

Going to go eat something now before the hunger makes me angrier.

Never write documentation hangry, e.g. this post Read More »

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 »

Whatever happened to the chromeless browser?

First there was Prism. Then Mozilla turned it into Chromeless. Which then was killed off.

When Mozilla killed Prism another developed forked it off and renamed the project WebRunner, but then it also died a few months later. I’d show you the link but they all report 404 when you visit the developer’s website.

Chrome doesn’t have Application Shortcuts anymore either, and they’re the ones who came up with the concept to start.

For now there is the the Standalone (which is buggy as hell) Firefox extension but it’s buggy as hell and it only really seems to work well on OSX. I tried using it on Windows 10 and it was basically useless.

All of this except for Standalone went down before 2011. It’s 2015 and the only options available that work well are for OSX, and commercial at that. There’s hope that WebRT will revive the concept since whatever lives on the web now has to compete with native apps for each mobile platform. They are their own form of single-site browser, but it all depends on the developer and obviously they’re tracking your every interaction with it. We need something that’s open and everyone can use to create the browsers they need.

Whatever happened to the chromeless browser? Read More »

This answer pretty much sums up the best way to get it done. The server puts each message on the appropriate label but it remains in an unread state, so Thunderbird will pick up the hint and notify you of unread messages.

This answer pretty much sums up the best way to get it done. The server puts each message on the appropriate label but it remains in an unread state, so Thunderbird will pick up the hint and notify you of unread messages. 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 »