diff -ruN workspace-switcher@cinnamon.org.v6.2.9/applet.js workspace-switcher@cinnamon.org/applet.js
--- workspace-switcher@cinnamon.org.v6.2.9/applet.js	2025-02-06 14:10:19.001492753 -0600
+++ workspace-switcher@cinnamon.org/applet.js	2025-02-06 13:29:44.000000000 -0600
@@ -14,31 +14,6 @@
 
 const MIN_SWITCH_INTERVAL_MS = 220;
 
-
-function removeWorkspaceAtIndex(index) {
-    if (global.workspace_manager.n_workspaces <= 1 ||
-        index >= global.workspace_manager.n_workspaces) {
-        return;
-    }
-
-    const removeAction = () => {
-        Main._removeWorkspace(global.workspace_manager.get_workspace_by_index(index));
-    };
-
-    if (!Main.hasDefaultWorkspaceName(index)) {
-        let prompt = _("Are you sure you want to remove workspace \"%s\"?\n\n").format(
-            Main.getWorkspaceName(index)
-        );
-
-        let confirm = new ModalDialog.ConfirmDialog(prompt, removeAction);
-        confirm.open();
-    }
-    else {
-        removeAction();
-    }
-}
-
-
 class WorkspaceButton {
     constructor(index, applet) {
         this.index = index;
@@ -72,8 +47,6 @@
     onClicked(actor, event) {
         if (event.get_button() == 1) {
             Main.wm.moveToWorkspace(this.workspace);
-        } else if (event.get_button() == 2) {
-            removeWorkspaceAtIndex(this.index);
         }
     }
 
@@ -248,13 +221,19 @@
                                      reactive: applet._draggable.inhibit });
 
         if (applet.orientation == St.Side.TOP || applet.orientation == St.Side.BOTTOM) {
+            if (applet.display_type == "labels")
+                this.actor.set_width(applet.button_width);
             this.actor.set_height(applet._panelHeight);
         } else {
             this.actor.set_width(applet._panelHeight);
             this.actor.add_style_class_name('vertical');
         }
 
-        let label = new St.Label({ text: (index + 1).toString() });
+        let label = new St.Label();
+        if (applet.display_type == "labels")
+            label.text = this.workspace_name;
+        else
+            label.text = (index + 1).toString();
         label.clutter_text.set_ellipsize(Pango.EllipsizeMode.NONE);
         this.actor.set_child(label);
         this.update();
@@ -305,6 +284,7 @@
 
         this.settings = new Settings.AppletSettings(this, metadata.uuid, instance_id);
         this.settings.bind("display-type", "display_type", this.queueCreateButtons);
+        this.settings.bind("button-width", "button_width", this.queueCreateButtons);
         this.settings.bind("scroll-behavior", "scroll_behavior");
 
         this.actor.connect('scroll-event', this.hook.bind(this));
@@ -331,7 +311,9 @@
         this._applet_context_menu.addMenuItem(addWorkspaceMenuItem);
 
         this.removeWorkspaceMenuItem = new PopupMenu.PopupIconMenuItem (_("Remove the current workspace"), "list-remove", St.IconType.SYMBOLIC);
-        this.removeWorkspaceMenuItem.connect('activate', this.removeCurrentWorkspace.bind(this));
+        this.removeWorkspaceMenuItem.connect('activate', Lang.bind(this, function() {
+            this.removeWorkspace();
+        }));
         this._applet_context_menu.addMenuItem(this.removeWorkspaceMenuItem);
         this.removeWorkspaceMenuItem.setSensitive(global.workspace_manager.n_workspaces > 1);
     }
@@ -341,12 +323,23 @@
         this._createButtons();
     }
 
-    removeCurrentWorkspace() {
+    removeWorkspace  (){
         if (global.workspace_manager.n_workspaces <= 1) {
             return;
         }
         this.workspace_index = global.workspace_manager.get_active_workspace_index();
-        removeWorkspaceAtIndex(this.workspace_index);
+        let removeAction = Lang.bind(this, function() {
+            Main._removeWorkspace(global.workspace_manager.get_active_workspace());
+        });
+        if (!Main.hasDefaultWorkspaceName(this.workspace_index)) {
+            let prompt = _("Are you sure you want to remove workspace \"%s\"?\n\n").format(
+                Main.getWorkspaceName(this.workspace_index));
+            let confirm = new ModalDialog.ConfirmDialog(prompt, removeAction);
+            confirm.open();
+        }
+        else {
+            removeAction();
+        }
     }
 
     _onWorkspaceChanged(wm, from, to) {
diff -ruN workspace-switcher@cinnamon.org.v6.2.9/settings-schema.json workspace-switcher@cinnamon.org/settings-schema.json
--- workspace-switcher@cinnamon.org.v6.2.9/settings-schema.json	2025-02-06 14:10:19.069490763 -0600
+++ workspace-switcher@cinnamon.org/settings-schema.json	2025-02-06 13:33:04.000000000 -0600
@@ -6,9 +6,18 @@
         "tooltip": "Note that the visual representation will only work if your panel is large enough to display it properly, otherwise the simple style will be used.",
         "options": {
             "A visual representation of the workspaces": "visual",
-            "Simple buttons": "buttons"
+            "The names of the workspaces": "labels",
+            "The workspace numbers": "buttons"
         }
     },
+    "button-width": {
+        "type": "spinbutton",
+        "default": 100,
+        "description": "The width of named buttons",
+        "min": 10,
+        "max": 1000,
+        "step": 10
+    },
     "scroll-behavior": {
         "type": "combobox",
         "default": "normal",
