From 6670829bfc4042be064d7ad336e2d14b24a15943 Mon Sep 17 00:00:00 2001 From: Jas Singh Date: Thu, 20 Jun 2024 00:07:24 -0700 Subject: [PATCH] Updated and completed the notifications and bluetooth module. --- modules/bar/volume/index.js | 2 - modules/menus/audio/index.js | 3 - modules/menus/bluetooth/index.js | 15 +--- modules/notifications/index.js | 150 ++++++++++++++++--------------- scss/notifications/popups.scss | 2 - style.css | 1 - style.css.map | 2 +- 7 files changed, 81 insertions(+), 94 deletions(-) diff --git a/modules/bar/volume/index.js b/modules/bar/volume/index.js index 7eb9ca2..17118d6 100644 --- a/modules/bar/volume/index.js +++ b/modules/bar/volume/index.js @@ -21,8 +21,6 @@ const Volume = () => { }, ); - console.log(icon); - return icon.as((i) => icons[i]); }; diff --git a/modules/menus/audio/index.js b/modules/menus/audio/index.js index 88ddf68..32f2ab4 100644 --- a/modules/menus/audio/index.js +++ b/modules/menus/audio/index.js @@ -2,9 +2,6 @@ const audio = await Service.import("audio"); import DropdownMenu from "../DropdownMenu.js"; export default () => { - audio.connect("changed", val => { - // console.log(JSON.stringify(val, null, 2)); - }) const renderPlaybacks = (playbackDevices) => { return playbackDevices.map((device) => { if (device.description === "Dummy Output") { diff --git a/modules/menus/bluetooth/index.js b/modules/menus/bluetooth/index.js index 97dfe40..a9e2516 100644 --- a/modules/menus/bluetooth/index.js +++ b/modules/menus/bluetooth/index.js @@ -84,17 +84,7 @@ export default () => { "menu-icon-button-label disconnect bluetooth", label: dev.connected ? "󱘖" : "", }), - on_primary_click: () => - Utils.execAsync([ - "bash", - "-c", - `bluetoothctl ${dev.connected ? "disconnect" : "connect"} ${dev.address}`, - ]).catch((err) => - console.error( - `bluetoothctl ${dev.connected ? "disconnect" : "connect"} ${dev.address}`, - err, - ), - ), + on_primary_click: () => dev.setConnection(false), }), Widget.Button({ class_name: "menu-icon-button untrust bluetooth", @@ -123,7 +113,6 @@ export default () => { label: "󰆴", }), on_primary_click: () => { - // dev.setConnection(false); Utils.execAsync([ "bash", "-c", @@ -190,7 +179,7 @@ export default () => { hexpand: true, class_name: `menu-button bluetooth ${device}`, on_primary_click: () => { - device.setConnection(true); + device.setConnection(true); }, child: Widget.Box({ children: [ diff --git a/modules/notifications/index.js b/modules/notifications/index.js index 88c7a64..f6fdb3f 100644 --- a/modules/notifications/index.js +++ b/modules/notifications/index.js @@ -6,16 +6,15 @@ export default () => { return Widget.Window({ name: "notifications-window", class_name: "notifications-window", - layer: "top", - anchor: ["top", "right"], + layer: "overlay", + anchor: ["top","right"], monitor: 2, exclusivity: "ignore", child: Widget.Box({ - vertical: true, + vertical: true, class_name: "notification-card-container", setup: (self) => { self.hook(notifs, () => { - console.log(JSON.stringify(notifs.popups, null, 2)); if (notifs.dnd) { return; } @@ -26,6 +25,7 @@ export default () => { Widget.Box({ class_name: "notification-card-image-container", hpack: "center", + vpack: "center", vexpand: false, child: Widget.Box({ hpack: "center", @@ -40,80 +40,86 @@ export default () => { return []; }; - return (self.children = notifs.popups.map((notif, index) => { - return Widget.Box({ - child: Widget.Box({ - class_name: "notification-card", - children: [ - ...imageContainer(notif), - Widget.Box({ - vertical: true, - hpack: "end", - class_name: "notification-card-content", - children: [ - Widget.Box({ - class_name: "notification-card-header", + const actionsContainer = (notif) => { + if (notif.actions !== undefined && notif.actions.length > 0) { + return [ + Widget.Box({ + class_name: "notification-card-actions", + hpack: "start", + children: notif.actions.map((action) => { + return Widget.Button({ + class_name: "notification-action-buttons", + on_primary_click: () => { + notif.invoke(action.id); + }, + child: Widget.Box({ + hpack: "center", children: [ Widget.Label({ - class_name: "notification-card-header-label", - truncate: "end", - wrap: true, - label: notif["summary"], + class_name: "notification-action-buttons-label", + label: action.label, }), ], }), - Widget.Box({ - class_name: "notification-card-body", - vexpand: true, - children: [ - Widget.Label({ - class_name: "notification-card-body-label", - useMarkup: true, - lines: 2, - wrap: true, - truncate: "end", - label: notif["body"], - }), - ], - }), - Widget.Box({ - class_name: "notification-card-actions", - children: notif.actions.map((action) => { - return Widget.Button({ - class_name: "notification-action-buttons", - on_primary_click: () => { - console.log(`clicked: ${action.id}`); - notif.invoke(action.id); - }, - child: Widget.Box({ - children: [ - Widget.Label({ - hpack: "center", - hexpand: true, - class_name: - "notification-action-buttons-label", - label: action.label, - }), - ], - }), - }); - }), - }), - Widget.Box({ - class_name: "notification-card-appname", - children: [ - Widget.Label({ - class_name: "notification-card-appname-label", - truncate: "end", - wrap: true, - label: notif["app-name"].toUpperCase(), - }), - ], - }), - ], + }); }), - ], - }), + }), + ]; + } + + return []; + }; + + return (self.children = notifs.popups.map((notif, index) => { + // FIX: Bottom part of notification gets cut of... need to find and fix culprit + return Widget.Box({ + class_name: "notification-card", + children: [ + ...imageContainer(notif), + Widget.Box({ + vertical: true, + class_name: "notification-card-content", + children: [ + Widget.Box({ + class_name: "notification-card-header", + children: [ + Widget.Label({ + class_name: "notification-card-header-label", + truncate: "end", + wrap: true, + label: notif["summary"], + }), + ], + }), + Widget.Box({ + class_name: "notification-card-body", + children: [ + Widget.Label({ + class_name: "notification-card-body-label", + useMarkup: true, + lines: 2, + wrap: true, + maxWidthChars: 30, + truncate: "end", + label: notif["body"], + }), + ], + }), + ...actionsContainer(notif), + Widget.Box({ + class_name: "notification-card-appname", + children: [ + Widget.Label({ + class_name: "notification-card-appname-label", + truncate: "end", + wrap: true, + label: notif["app-name"].toUpperCase(), + }), + ], + }), + ], + }), + ], }); })); }); diff --git a/scss/notifications/popups.scss b/scss/notifications/popups.scss index fb89cf4..90ae28a 100644 --- a/scss/notifications/popups.scss +++ b/scss/notifications/popups.scss @@ -32,12 +32,10 @@ border-radius: 0.4rem; } .notification-card-image { - border: 0.2rem solid $base; border-radius: 0.4rem; min-width: 3rem; min-height: 3rem; padding: 1rem 1rem; - // margin-top: 1rem; background-size: contain; background-repeat: no-repeat; } diff --git a/style.css b/style.css index a5e326f..3c54249 100644 --- a/style.css +++ b/style.css @@ -844,7 +844,6 @@ window#powermenu .powermenu.box { } .notification-card-image { - border: 0.2rem solid #1e1e2e; border-radius: 0.4rem; min-width: 3rem; min-height: 3rem; diff --git a/style.css.map b/style.css.map index 16d639e..58a5470 100644 --- a/style.css.map +++ b/style.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["scss/main.scss","scss/common/common.scss","scss/colors.scss","scss/common/widget-button.scss","scss/bar/menu.scss","scss/bar/audio.scss","scss/bar/media.scss","scss/bar/network.scss","scss/bar/bluetooth.scss","scss/bar/clock.scss","scss/bar/workspace.scss","scss/bar/window_title.scss","scss/bar/systray.scss","scss/bar/power.scss","scss/bar/bar.scss","scss/menus/menu.scss","scss/menus/power.scss","scss/common/floating-widget.scss","scss/menus/audiomenu.scss","scss/menus/bluetooth.scss","scss/notifications/popups.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;;;ACJF;EACE;EACA;EACA,kBCFgB;EDGhB;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI,kBChBW;;ADkBf;EACE,OCnBa;;ADqBf;EACE;EACA;EACA;EACA;;AAGJ;EACE;EACA;EACA,kBC/Be;;;ADmCnB;EACE;EACA;EACA;EACA,OCvCiB;;;AD0CnB;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA,kBC9DiB;ED+DjB;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA,kBC9EgB;;;ADiFlB;AAAA;EAEE;EACA,kBCpFgB;;;ADuFlB;AAAA;AAAA;EAGE,OC1FgB;ED2FhB,kBC7CW;;;ADgDb;AAAA;AAAA;EAGE;EACA,kBCpDW;;;ADuDb;AAAA;AAAA;EAGE;EACA,kBC3DW;;;AD8Db;EACE;EACA;EACA;EACA;EACA,kBChHiB;EDiHjB;EACA;EACA;;;AAGF;EACE,kBC1EW;;;AD6Eb;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA,kBCvIc;EDwId;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA,kBChKiB;;;ADmKnB;EACE;EACA,kBCxHW;;;AD2Hb;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA,OC1IW;ED2IX,kBCzLgB;ED0LhB;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE,kBC1MgB;ED2MhB,OC5Mc;ED6Md;;;AAGF;EACE;EACA;EACA,kBCjNiB;;;ADoNnB;EACE;IACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AE/NF;EACE,YDmCM;EClCN;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cD2BM;EC1BN;EACA;;AAEA;EACE;EACA,cDSO;ECRP;;AAGF;EAEE;EACA,cDEO;;ACCT;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","file":"style.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["scss/main.scss","scss/common/common.scss","scss/colors.scss","scss/common/widget-button.scss","scss/bar/menu.scss","scss/bar/audio.scss","scss/bar/media.scss","scss/bar/network.scss","scss/bar/bluetooth.scss","scss/bar/clock.scss","scss/bar/workspace.scss","scss/bar/window_title.scss","scss/bar/systray.scss","scss/bar/power.scss","scss/bar/bar.scss","scss/menus/menu.scss","scss/menus/power.scss","scss/common/floating-widget.scss","scss/menus/audiomenu.scss","scss/menus/bluetooth.scss","scss/notifications/popups.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;;;ACJF;EACE;EACA;EACA,kBCFgB;EDGhB;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI,kBChBW;;ADkBf;EACE,OCnBa;;ADqBf;EACE;EACA;EACA;EACA;;AAGJ;EACE;EACA;EACA,kBC/Be;;;ADmCnB;EACE;EACA;EACA;EACA,OCvCiB;;;AD0CnB;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA,kBC9DiB;ED+DjB;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA,kBC9EgB;;;ADiFlB;AAAA;EAEE;EACA,kBCpFgB;;;ADuFlB;AAAA;AAAA;EAGE,OC1FgB;ED2FhB,kBC7CW;;;ADgDb;AAAA;AAAA;EAGE;EACA,kBCpDW;;;ADuDb;AAAA;AAAA;EAGE;EACA,kBC3DW;;;AD8Db;EACE;EACA;EACA;EACA;EACA,kBChHiB;EDiHjB;EACA;EACA;;;AAGF;EACE,kBC1EW;;;AD6Eb;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA,kBCvIc;EDwId;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA,kBChKiB;;;ADmKnB;EACE;EACA,kBCxHW;;;AD2Hb;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA,OC1IW;ED2IX,kBCzLgB;ED0LhB;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE,kBC1MgB;ED2MhB,OC5Mc;ED6Md;;;AAGF;EACE;EACA;EACA,kBCjNiB;;;ADoNnB;EACE;IACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AE/NF;EACE,YDmCM;EClCN;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cD2BM;EC1BN;EACA;;AAEA;EACE;EACA,cDSO;ECRP;;AAGF;EAEE;EACA,cDEO;;ACCT;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","file":"style.css"} \ No newline at end of file