diff options
-rw-r--r-- | .SRCINFO | 9 | ||||
-rw-r--r-- | PKGBUILD | 24 | ||||
-rw-r--r-- | google-calendar-nativefier-dark.js | 510 |
3 files changed, 14 insertions, 529 deletions
@@ -1,16 +1,13 @@ pkgbase = google-calendar-nativefier-dark pkgdesc = Google Calendar in shared Electron runtime with dark theme (by pyxelr) pkgver = 2023.02.13 - pkgrel = 1 + pkgrel = 2 url = https://calendar.google.com arch = x86_64 license = MIT makedepends = curl makedepends = gendesk - makedepends = yarn - depends = electron19 - source = google-calendar-nativefier-dark.js - sha256sums = 97e7237e745704869306cc96856e320d673140ff6f91f9ed61b592e7afc0f176 - sha256sums = bd1a3d162153596ac3bda552de689d0bde95f038fcaf4f0d1143b2bdf16d03b2 + makedepends = nodejs-nativefier + depends = electron pkgname = google-calendar-nativefier-dark @@ -3,28 +3,24 @@ pkgname=google-calendar-nativefier-dark pkgver=2023.02.13 -pkgrel=1 +pkgrel=2 pkgdesc='Google Calendar in shared Electron runtime with dark theme (by pyxelr)' arch=('x86_64') url='https://calendar.google.com' license=('MIT') -_nativefier=50 -_electron=19 -depends=("electron${_electron}") +depends=("electron") makedepends=( 'curl' 'gendesk' - 'yarn' + 'nodejs-nativefier' ) -source=("${pkgname}.js") -sha256sums=('866be0e5f2ba37c0256530568c18c01ac9fcba25d5037c9f0be5b415be6506e9') _name='Google Calendar Dark' prepare() { cat > "${pkgname}" <<EOF #!/usr/bin/env bash -exec electron${_electronv} /usr/share/${pkgname} "\$@" +exec electron /usr/share/${pkgname} "\$@" EOF gendesk \ --pkgname "${pkgname}" \ @@ -36,20 +32,22 @@ EOF curl \ https://upload.wikimedia.org/wikipedia/commons/thumb/a/a5/Google_Calendar_icon_%282020%29.svg/512px-Google_Calendar_icon_%282020%29.svg.png \ > "${pkgname}.png" + curl \ + https://raw.githubusercontent.com/pyxelr/dark-google-calendar/master/Google-DarkCalendar.user.css \ + > "${pkgname}.css" } build() { cd "${srcdir}" - yarn add "nativefier@${_nativefier}" - yarn nativefier \ + nativefier \ + https://calendar.google.com \ --name "${_name}" \ --icon "${pkgname}.png" \ --maximize \ - --user-agent safari \ + --user-agent firefox \ --single-instance \ --verbose \ - --inject "${pkgname}.js" \ - https://calendar.google.com + --inject "${pkgname}.css" } package() { diff --git a/google-calendar-nativefier-dark.js b/google-calendar-nativefier-dark.js deleted file mode 100644 index 041bcbba2531..000000000000 --- a/google-calendar-nativefier-dark.js +++ /dev/null @@ -1,510 +0,0 @@ -// ==UserScript== -// @name Dark Google Calendar (2020) -// @namespace http://userstyles.org -// @description “<b>Really appreciate your awesome work. You are making my life so much better than Google's glaring light world.</b>� ~ pht049<br /> -// @author pyxelr -// @homepage https://userstyles.org/styles/143026 -// @run-at document-start -// @version 0.20230108154405 -// ==/UserScript== -(function () { - var css = ""; - if ( - false || - document.domain == "calendar.google.com" || - document.domain.substring( - document.domain.indexOf(".calendar.google.com") + 1 - ) == "calendar.google.com" - ) - css += [ - "/* Dark Google Calendar (2020)", - " v2.7.11 (2023-01-08)", - " Author: Pawel Cislo (pyxelr) <pyxelr@gmail.com>", - " Repository: https://github.com/pyxelr/dark-google-calendar", - " Userstyle: https://userstyles.org/styles/143026/dark-google-calendar-2020", - " UserCSS: https://github.com/pyxelr/dark-google-calendar/blob/master/Google-DarkCalendar.user.css", - " License: MIT", - "*/", - "", - " /* Invert the entire website */", - " html {", - " -webkit-filter: invert(90%) hue-rotate(180deg)!important;", - " filter: invert(90%) hue-rotate(180deg)!important;", - " background: rgb(25, 25, 25)!important;", - " }", - "", - " /* ==== GENERAL ==== */", - " /* Inversion of images (avatars) */", - " *:not([data-date]):before,", - " img {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) contrast(105%)!important;", - " }", - " ", - " /* Inversion of task panel on the right hand side */", - " .YqtBEc,", - " .xuBVOe {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " }", - "", - " /* Dark blue top of right hand panel and black text */", - " .CflnFb {", - " background-color: #7b96c1!important;", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " color: white!important;", - " }", - "", - " .h5t3Nc .GrK4Mb,", - " .h5t3Nc .hVDHke,", - " .h5t3Nc .l7VQxb,", - " .h5t3Nc .zP0T0b,", - " .h5t3Nc .qNixLe {", - " border-color: white;", - " background-color: #c9c9c9;", - " }", - "", - " /* Color change of event deleted panel */", - " .lq96Td {", - " background-color: #003e3a!important;", - " color: white!important;", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " }", - "", - ' /* "View recently deleted items" color */', - " .GooADb {", - " color: #9dceff!important;", - " text-shadow: 0.0px 0.0px #404040!important;", - " }", - "", - " /* Opacity reduction of the background color while adding an event */", - " .bJZIjf.qs41qe {", - " opacity: 0.3;", - " }", - "", - " /* Inversion of event action pop up (saved, updated, deleted etc.)*/", - " .Mh0NNb {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " }", - "", - " /* Color of event action pop up (saved, updated, deleted etc.)*/", - " .M6tHv {", - " background-color: #444444!important;", - " }", - "", - " /* Inversion of notification panel */", - " #I0_1513527137275 {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) contrast(105%)!important;", - " }", - "", - ' /* Inversion of "Create" button for adding an event */', - " .Gw6Zhc {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) contrast(105%)!important;", - " }", - "", - ' /* Background color of "More" button in Google Apps menu */', - " .gb_ea.gb_6f {", - " background-color: #e8e8e8!important;", - " }", - "", - " .ck4bY {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " }", - "", - " /* Update to white color of the icons next to avatar */", - " .gb_yc svg,", - " .gb_kc svg {", - " color: white;", - " opacity: .54;", - " }", - "", - " /* Inversion of icons in the search bar */", - " .asor.asor_i0,", - " .gsoi.gsoi_w,", - " .gsoi.gsoi_c.asor_v,", - " .gsoi.gsoi_9.asor_v,", - " .gsoi.gsoi_7.asor_v {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " }", - "", - " /* Inversion of images (avatars) */", - " *:not([data-date]):before,", - " img {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) contrast(105%)!important;", - " }", - "", - " /* Inversion of guest avatars attending the event */", - " .jPtXgd {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) contrast(105%)!important;", - " }", - "", - " /* Menu uninversion of uploading attachment from Google Drive (the id's are not static and this function doesn't always work) */", - " #vqd3vxfo4jpl,", - " #pnsketfj08m {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " }", - "", - " /* Change of arrow color in the settings menu*/", - " .gb_yc svg,", - " .gb_kc svg {", - " opacity: .54!important;", - " }", - "", - " /* Inversion of calendar icon in the top left corner of month view */", - " .gb_Wa.gb_Fe {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) contrast(105%)!important;", - " }", - "", - " /* Border color for events that overlap each other in the week view */", - " .EfQccc.F262Ye.EiZ8Dd::after {", - " border-color: #000000;", - " }", - "", - " .EfQccc.Hrn1mc.EiZ8Dd::after {", - " border: 1px solid #000;", - " }", - "", - " /* Border color for selected events that overlap each other in the week view */", - " .EfQccc.MmaWIb.KKjvXb.EiZ8Dd::after {", - " border: 1px solid #000;", - " }", - "", - " /* Inside color of unticked calendar check boxes in the month view */", - " .uHMk6b.fsHoPb {", - " border: 7px solid black!important;", - " }", - "", - ' /* "Choose custom color" menu */', - " .g3VIld.GFhhge.Up8vH.hFEqNb.J9Nfi.iWO5td {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " background: rgb(25, 25, 25)!important;", - " color: white!important;", - " }", - "", - ' /* "Hex" word in "Choose custom color" menu */', - " .XBkKC.WSvIUd {", - " color: white;", - " }", - "", - ' /* "Cancel" button in "Choose custom color" menu */', - " .IP9Hyd .O0WRkf:first-child {", - " color: #ffffff;", - " }", - "", - ' /* "Moon phases" inversion */', - " .st-wc {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " }", - "", - " /* Time of the events we were invited to (in the week view) */", - " .Jmftzc.gVNoLb.LKeQwe {", - " color: rgb(0, 0, 0);", - " }", - "", - " /* Comma color in the events we were invited to (in the week view) */", - " .Jmftzc.EiZ8Dd {", - " color: #000;", - " }", - "", - " /* Fix of current event colors and text in month view */", - " .g3dbUc .jKgTF,", - " .QGRmIf,", - " .lcPUt {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " font-weight: bold!important;", - " mix-blend-mode: darken;", - " }", - "", - " /* Past events in the month view */", - " .g3dbUc.UflSff {", - " filter: invert(100%) hue-rotate(180deg) saturate(140%) contrast(105%) opacity(40%)!important;", - " }", - "", - " /* Past events in the week view */", - " .NlL62b.EfQccc.elYzab-cXXICe-Hjleke.EiZ8Dd.UflSff.jKgTF {", - " filter: invert(100%) hue-rotate(180deg) saturate(140%) contrast(50%) brightness(140%) opacity(90%)!important;", - " }", - "", - " /* Past events in the week view (reapplication of oppacity) */", - " .NlL62b.EfQccc.elYzab-cXXICe-Hjleke.EiZ8Dd.UflSff {", - " filter: opacity(80%)!important;", - " }", - "", - " /* Events in the week view */", - " .NlL62b.EfQccc.elYzab-cXXICe-Hjleke.EiZ8Dd {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " }", - "", - " /* Inversion of event colors in the pop up view coming after right clicking the event in the month view */", - " .a63c9c.ztKZ3d {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " }", - "", - " /* Inversion of event colors in the main event view */", - " .a63c9c {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " }", - "", - ' /* Event color in "4 days" view" */', - " .NlL62b.EfQccc.elYzab-cXXICe-Hjleke.EiZ8Dd.jKgTF {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " font-weight: bold!important;", - " }", - "", - ' /* Color of events in the "Schedule" view */', - " .Oxm52e {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " }", - "", - " /* Event color in the view of adding a task */", - " .kImhzd {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " }", - "", - " /* Event color in the settings menu */", - " .hsrazb {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " }", - "", - " /* Text and color in the pop up view coming after left clicking the event in the month view */", - " .Tnsqdc,", - " .kw5sif {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " }", - "", - " /* Pen icon in the pop up view coming after left clicking the event in the month view */", - " .kXIDId {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " }", - "", - " /* Color of calendar in the pop up menu of month view */", - " .sIyjR {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " }", - "", - " /* Inversion of attachment frame */", - " .fFW7wc-OEVmcd {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) contrast(105%)!important;", - " }", - "", - " /* Inversion of attachment icon */", - " .ghXZpb {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " }", - "", - " /* Inversion of the icons in the right hand menu */", - " .DWWcKd-OomVLb-LgbsSe-Bz112c-haAclf {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(120%) contrast(105%)!important;", - " }", - "", - " /* Inversion of the + icon (Get add-ons) in the right hand menu */", - " #qJTzr {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(120%) contrast(105%)!important;", - " }", - " ", - " /* Inversion of the event cover image (like a dentist event) */", - " .YrCd2b {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(120%) contrast(105%)!important;", - " }", - "", - "", - "", - "", - " /* ==== FONT ==== */ ", - ' /* "Calendar" text next to the top-left logo */', - " .logo-plus-button-lockup-text {", - " color: white;", - " }", - "", - " .gb_je.gb_ee {", - " color: #fff;", - " }", - "", - " /* Weight increase of the font used in top left mini calendar */", - " .W0m3G {", - " font-weight: 500!important;", - " }", - "", - " /* Font weight increase of the event titles (month view) */", - " .g3dbUc {", - " font-weight: 900!important;", - " color: #000000 !important;", - " }", - "", - " /* Change of the font color of the past events (month view) */", - " .g3dbUc.UflSff {", - " color: #404040 !important;", - " }", - "", - " /* Change of the font color for some kind of events (month view) */", - " .g3dbUc.smECzc {", - " color: #666666 !important;", - " }", - "", - " /* Darkify some of the help/support sections of the site */", - " .ghp-dialog,", - " .ghp-header,", - " .ng-scope,", - " .article-container,", - " .article-content-container {", - " background: rgb(25, 25, 25);", - " }", - "", - " .ghp-iconTextComponent-label {", - " color: white;", - " }", - "", - " ghp-iconTextComponent:hover,", - " .ghp-iconTextComponent:focus {", - " background: #000;", - " }", - "", - " /* Font color of past events (week view) */", - " .FAxxKc {", - " font-weight: 600!important;", - " color: #000000 !important;", - " }", - "", - " /* Font color of time and places of events (week view) */", - " .A6wOnd,", - " .VgueE,", - " .Jmftzc.gVNoLb.EiZ8Dd,", - " .Jmftzc.K9QN7e.EiZ8Dd.UflSff,", - " .Jmftzc.K9QN7e.EiZ8Dd {", - " color: #000000 !important;", - " }", - "", - " /* Check mark color in the left side bar */", - " .rq8Mwb {", - " filter: invert(100%)!important;", - " }", - "", - " /* Change of event text color in the pop-up window */", - " .i5a7ie {", - " color: #000!important;", - " }", - "", - " /* Change of text color in the pop-up menu under the avatar icon */", - " .gb_Eb {", - " color: grey!important;", - " }", - "", - " /* Font color in the pop up view coming after left clicking the event in the month view */", - " #rAECCd,", - " .jPtXgd {", - " font-weight: 600!important;", - " }", - " .zHQkBf {", - " filter: invert(90%) hue-rotate(180deg)!important;", - " color: #c1c1c1!important;", - " }", - "", - " /* Input text of event creation pop up menu */", - " .whsOnd.zHQkBf {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) saturate(140%) contrast(105%)!important;", - " }", - "", - " /* Text in the pop-up menu of the month view*/", - " .UfeRlc {", - " filter: invert(90%) hue-rotate(180deg)!important;", - " color: #c1c1c1!important;", - " }", - "", - ' /* More readable "More" text */', - " .gb_fa.gb_ng {", - " font-weight: bolder!important;", - " }", - "", - " /* Text in Apps menu */", - " .gb_Z {", - " font-weight: bolder!important;", - " }", - ].join("\n"); - if ( - false || - new RegExp( - "^(?=.*?\\/contacts.google.com)(?=.*?calendar.google.com).*$" - ).test(document.location.href) - ) - css += [ - '/* Inversion of the avatar displayed in the frame after hovering over the image in the "Add guests" menu while creating a new event */', - " .jgZKbb,", - " .oMU93c {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) !important;", - " }", - "", - ' /* Invesion of images in the right hand-side menu of "Contacts" menu */', - " .MJ58we {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) contrast(105%)!important;", - " }", - ].join("\n"); - if ( - false || - new RegExp("^(?=.*?\\/ogs.google.com)(?=.*?calendar.google.com).*$").test( - document.location.href - ) - ) - css += [ - "/* Icons color in the pop up view coming after left clicking the event in the month view */", - " .MrEfLc {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) contrast(105%)!important;", - " }", - "", - " /* Text in Google menu with apps*/", - " .Rq5Gcb {", - " font-weight: 600!important;", - " }", - "", - " /* Inversion of images, svg graphics (avatars, icons) in the avatar menu */", - " *:not([data-date]):before,", - " img,", - " svg {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) contrast(105%)!important;", - " }", - ].join("\n"); - if ( - false || - new RegExp( - "^(?=.*?\\/workspace.google.com)(?=.*?calendar.google.com).*$" - ).test(document.location.href) - ) - css += [ - "/* Icons in Google Workspace Marketplace */", - " .OIYSWc {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) contrast(105%)!important;", - " }", - " /* Google Workplace Marketplace logo */", - " .yQsxXc {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) contrast(105%)!important;", - " font-weight: bold !important;", - " }", - ].join("\n"); - if ( - false || - document.domain == "google.com" || - document.domain.substring(document.domain.indexOf(".google.com") + 1) == - "google.com" - ) - css += [ - "/* Inversion of Google Map */", - " #map.map {", - " filter: invert(100%) hue-rotate(180deg) brightness(1.1) contrast(105%)!important;", - " }", - ].join("\n"); - if (typeof GM_addStyle != "undefined") { - GM_addStyle(css); - } else if (typeof PRO_addStyle != "undefined") { - PRO_addStyle(css); - } else if (typeof addStyle != "undefined") { - addStyle(css); - } else { - var node = document.createElement("style"); - node.type = "text/css"; - node.appendChild(document.createTextNode(css)); - var heads = document.getElementsByTagName("head"); - if (heads.length > 0) { - heads[0].appendChild(node); - } else { - // no head yet, stick it whereever - document.documentElement.appendChild(node); - } - } -})(); |