From fa41490406330c9bf47af1965a8f970c9af8ebc4 Mon Sep 17 00:00:00 2001 From: tom Date: Tue, 2 Jul 2024 21:20:22 +0100 Subject: [PATCH] CHANGE: removed actor disconnect due to error --- Makefile | 15 ++++----------- dist/extension.js | 16 ++++++++-------- dist/metadata.json | 10 ++++++++++ dist/stylesheet.css | 9 +++++++++ extension.ts | 17 +++++++++-------- floatbar.zip | Bin 0 -> 1740 bytes 6 files changed, 40 insertions(+), 27 deletions(-) create mode 100644 dist/metadata.json create mode 100644 dist/stylesheet.css create mode 100644 floatbar.zip diff --git a/Makefile b/Makefile index d530394..654b3f8 100644 --- a/Makefile +++ b/Makefile @@ -8,17 +8,14 @@ all: dist/extension.js node_modules: package.json npm install -dist/extension.js dist/prefs.js: node_modules +dist/extension.js: node_modules tsc dist/stylesheet.css: stylesheet.css cp stylesheet.css dist/ -schemas/gschemas.compiled: schemas/org.gnome.shell.extensions.$(NAME).gschema.xml - glib-compile-schemas schemas -$(NAME).zip: dist/extension.js dist/prefs.js dist/stylesheet.css schemas/gschemas.compiled - @cp -r schemas dist/ +$(NAME).zip: dist/extension.js dist/stylesheet.css @cp metadata.json dist/ @(cd dist && zip ../$(NAME).zip -9r .) @@ -27,14 +24,10 @@ pack: $(NAME).zip install: $(NAME).zip @touch ~/.local/share/gnome-shell/extensions/$(NAME)@$(DOMAIN) @rm -rf ~/.local/share/gnome-shell/extensions/$(NAME)@$(DOMAIN) - @cp -r dist ~/.local/share/gnome-shell/extensions/$(NAME)@$(DOMAIN) + @mv dist ~/.local/share/gnome-shell/extensions/$(NAME)@$(DOMAIN) clean: @rm -rf dist node_modules $(NAME).zip test: - @dbus-run-session -- gnome-shell --nested --wayland - -full: - @make install - @make test \ No newline at end of file + @dbus-run-session -- gnome-shell --nested --wayland \ No newline at end of file diff --git a/dist/extension.js b/dist/extension.js index d1572a0..bafe23e 100644 --- a/dist/extension.js +++ b/dist/extension.js @@ -38,13 +38,14 @@ export default class MyExtension extends Extension { this._actorSignalIds.set(global.window_manager, [global.window_manager.connect("switch-workspace", this._updateFloating.bind(this))]); } disable() { - for (const actorSignalIds of [this._actorSignalIds, this._windowSignalIds]) { - for (const [actor, signalIds] of actorSignalIds) { - for (const signalId of signalIds) { - actor.disconnect(signalId); - } - } - } + // for (const actorSignalIds of [this._actorSignalIds, this._windowSignalIds]) { + // for (const [actor, signalIds] of actorSignalIds!) { + // for (const signalId of signalIds) { + // console.log("SignalID ", signalId); + // console.log("Actor ", actor instanceof Clutter.Actor); + // } + // } + // } this._actorSignalIds?.clear(); this._windowSignalIds?.clear(); this._setFloat(false); @@ -80,7 +81,6 @@ export default class MyExtension extends Extension { this._setFloat(!maximized); } _setFloat(float) { - console.log("Float: ", float); Main.panel.add_style_class_name(float ? "floating" : "solid"); Main.panel.remove_style_class_name(float ? "solid" : "floating"); } diff --git a/dist/metadata.json b/dist/metadata.json new file mode 100644 index 0000000..c6df5c3 --- /dev/null +++ b/dist/metadata.json @@ -0,0 +1,10 @@ +{ + "name": "float bar", + "description": "Adaptive floating topbar", + "uuid": "floatbar@tomtroeger.de", + "settings-schema": "org.gnome.shell.extensions.my-extension", + "shell-version": [ + "46" + ] + } + \ No newline at end of file diff --git a/dist/stylesheet.css b/dist/stylesheet.css new file mode 100644 index 0000000..11b31f5 --- /dev/null +++ b/dist/stylesheet.css @@ -0,0 +1,9 @@ +#panel.floating { + margin: 3px; + border-radius: 9999px; +} + +#panel.solid { + margin: 0; + border-radius: 0; +} diff --git a/extension.ts b/extension.ts index 441aff5..4cc60ac 100644 --- a/extension.ts +++ b/extension.ts @@ -1,5 +1,6 @@ import Gio from "gi://Gio"; import Meta from "gi://Meta"; +import Clutter from "gi://Clutter"; import { Extension } from "resource:///org/gnome/shell/extensions/extension.js"; import { EventEmitter } from "resource:///org/gnome/shell/misc/signals.js"; import * as Main from "resource:///org/gnome/shell/ui/main.js"; @@ -53,13 +54,14 @@ export default class MyExtension extends Extension { } disable() { - for (const actorSignalIds of [this._actorSignalIds, this._windowSignalIds]) { - for (const [actor, signalIds] of actorSignalIds!) { - for (const signalId of signalIds) { - actor.disconnect(signalId); - } - } - } + // for (const actorSignalIds of [this._actorSignalIds, this._windowSignalIds]) { + // for (const [actor, signalIds] of actorSignalIds!) { + // for (const signalId of signalIds) { + // console.log("SignalID ", signalId); + // console.log("Actor ", actor instanceof Clutter.Actor); + // } + // } + // } this._actorSignalIds?.clear(); this._windowSignalIds?.clear(); @@ -98,7 +100,6 @@ export default class MyExtension extends Extension { } _setFloat(float: boolean) { - console.log("Float: ", float); Main.panel.add_style_class_name(float ? "floating" : "solid"); Main.panel.remove_style_class_name(float ? "solid" : "floating"); } diff --git a/floatbar.zip b/floatbar.zip new file mode 100644 index 0000000000000000000000000000000000000000..c471faa45863a18a47d43fab90b09b7a192711bc GIT binary patch literal 1740 zcmZ{kdpOg39LImVkeX2;P6;K2Y~?m3By=|Be#x+PEOTpYV;7f%%ISz4BiCZNbc7BW zLbUP_HK}b>6s6Dwg~EnTb*7%@9H&mt_j!N6-+#XE=kxmh@p8pNpvnLkkOLT%!#FXn z$&(ELz%yy!fI1K!$RLu43?lL{ol5cYTnRu1{gZ;0!ih-N4Im##Y!Ne9)a#P4yu*|RnAR&tf9?h788@+oCT3A z5lEqjQYlidFH~G9(Neyl;(24KBdFC@)OeZFb{k~9`w^#S$R1Xzn2j~FR@~<=?7;-t zX2{w<;v@eWiqds3(z}yx@Oa!GH`;AB^&5_t)5X3#+M5b0&Q~U(9dyWR^@O!)6*-UJ5YNQZ1ITyCZ!s57xyt}e)2U~&oi!n}3yn5)yIo|0;! ziNU3eo_FooJHJ@lZ=hiARs3Ak$E&EC{8fDVbL{?UA5i}*pS@ep z&7Ow7+gv0YKZS&bL3&5>OMQidn7ON_Q-Ts(zp#AWQSmd+%3xku%r*c@h)fPHj1(Jg zFYC43*j3epcjqXeC7!}np1#MpC68pqqdaE~_i}XbElYxC=1G>LM^L^tEB;N02FWX8 z{twHPx6IrAkb>$8fYVbF%{~t|O}p-4?KfN>ip!X<2{yqR(js8`W<@CZhLthuyWS|_ z%dRSeBbCsxI--qUS*sZff4x!|Of@=KhGpa#AIialn-6tJh*pHKGTCsC`Ge~cbAC@3 zSMI9l=xCl_pXHvRmQlY68CZa_%Q*^u95-{BVKJi=MLnsU&`65P8L!qYNx+mlI&l0-jMmsbzimnDOI$Q@@LIzNi->T|2`GQli`rFz?D7@P zaAS3gaKY}@nZ@F>Rko3*5N^gK+@C4~{x^lZ;zWW?{GupIMC58RGmo$LklbK-Y=tW2>JXmGl`8D01j`F%uJ z3aRNP zqnN6VKlxBi(m93h8~bGWKoIuPdTu7O(#I9P%CYojcp{y&Cr@CnO{=mYr1WZ?0m3&H zx^lx;jD%X2Y3gG!?OlE6HgsL><|bcgDr(4VBvSK&aB);{y!jeIbt-RD$!GU1HXS2l zqDk)w25<=mj@~J`CEqWKMZ4UWOgbv4w1SSrlC00^GUoa*F6or0u@>6U#q=G*M(v01 zkZA=gLV|NC2`6f|&*q_CI7-OMNY_w))5ol7ypWqnv)MNwjCDByjr~0Xz*a3$jX1nxdwWzSkbTQr&Vx+v%bex zm8XGgkLz#r`7m+Oc3#94zRYef`RI(7OKENq@Y1*Fw~$h9!%xwMYc{{1o%SD$q=Wf} zet96ekQFrt|5qwYt{i~fG_{v{k}QpaR4Q~vOjsa2BruSH44{A2$`54efy8uU?~1T@ z_$~(gZmf6t%i(S(0|!BOo%>E?dCkjV$F3a?_J|&YgCpMn(coSK1+$|Os<}pXjq;XPey`5um3`96|B6)F l_&*X|-uV5$EpIfC0lxdiA5AGEyMzRht_A7IlfDFizX4@&*_{9Y literal 0 HcmV?d00001