forked from quickshell/quickshell
		
	hyprland/ipc: handle renameworkspace
This commit is contained in:
		
							parent
							
								
									b336129c34
								
							
						
					
					
						commit
						3c7dfcb220
					
				
					 3 changed files with 28 additions and 1 deletions
				
			
		| 
						 | 
					@ -352,6 +352,22 @@ void HyprlandIpc::onEvent(HyprlandIpcEvent* event) {
 | 
				
			||||||
		auto* monitor = this->findMonitorByName(monitorName, true);
 | 
							auto* monitor = this->findMonitorByName(monitorName, true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		workspace->setMonitor(monitor);
 | 
							workspace->setMonitor(monitor);
 | 
				
			||||||
 | 
						} else if (event->name == "renameworkspace") {
 | 
				
			||||||
 | 
							auto args = event->parseView(2);
 | 
				
			||||||
 | 
							auto id = args.at(0).toInt();
 | 
				
			||||||
 | 
							auto name = QString::fromUtf8(args.at(1));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							const auto& mList = this->mWorkspaces.valueList();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							auto workspaceIter =
 | 
				
			||||||
 | 
							    std::ranges::find_if(mList, [id](const HyprlandWorkspace* m) { return m->id() == id; });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if (workspaceIter == mList.end()) return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							qCDebug(logHyprlandIpc) << "Workspace with id" << id << "renamed from"
 | 
				
			||||||
 | 
							                        << (*workspaceIter)->name() << "to" << name;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							(*workspaceIter)->setName(name);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,7 +11,15 @@
 | 
				
			||||||
namespace qs::hyprland::ipc {
 | 
					namespace qs::hyprland::ipc {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
qint32 HyprlandWorkspace::id() const { return this->mId; }
 | 
					qint32 HyprlandWorkspace::id() const { return this->mId; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
QString HyprlandWorkspace::name() const { return this->mName; }
 | 
					QString HyprlandWorkspace::name() const { return this->mName; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void HyprlandWorkspace::setName(QString name) {
 | 
				
			||||||
 | 
						if (name == this->mName) return;
 | 
				
			||||||
 | 
						this->mName = std::move(name);
 | 
				
			||||||
 | 
						emit this->nameChanged();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
QVariantMap HyprlandWorkspace::lastIpcObject() const { return this->mLastIpcObject; }
 | 
					QVariantMap HyprlandWorkspace::lastIpcObject() const { return this->mLastIpcObject; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void HyprlandWorkspace::updateInitial(qint32 id, QString name) {
 | 
					void HyprlandWorkspace::updateInitial(qint32 id, QString name) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,11 +32,14 @@ public:
 | 
				
			||||||
	void updateFromObject(QVariantMap object);
 | 
						void updateFromObject(QVariantMap object);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	[[nodiscard]] qint32 id() const;
 | 
						[[nodiscard]] qint32 id() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	[[nodiscard]] QString name() const;
 | 
						[[nodiscard]] QString name() const;
 | 
				
			||||||
 | 
						void setName(QString name);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	[[nodiscard]] QVariantMap lastIpcObject() const;
 | 
						[[nodiscard]] QVariantMap lastIpcObject() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	void setMonitor(HyprlandMonitor* monitor);
 | 
					 | 
				
			||||||
	[[nodiscard]] HyprlandMonitor* monitor() const;
 | 
						[[nodiscard]] HyprlandMonitor* monitor() const;
 | 
				
			||||||
 | 
						void setMonitor(HyprlandMonitor* monitor);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
signals:
 | 
					signals:
 | 
				
			||||||
	void idChanged();
 | 
						void idChanged();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue