@@ -190,7 +190,7 @@ void I3Ipc::setFocusedWorkspace(I3Workspace* workspace) {
190
190
if (workspace == this ->mFocusedWorkspace ) return ;
191
191
192
192
if (this ->mFocusedWorkspace != nullptr ) {
193
- this ->mFocusedWorkspace ->setFocus (false );
193
+ this ->mFocusedWorkspace ->bindableFocused (). setValue (false );
194
194
QObject::disconnect (this ->mFocusedWorkspace , nullptr , this , nullptr );
195
195
}
196
196
@@ -202,7 +202,7 @@ void I3Ipc::setFocusedWorkspace(I3Workspace* workspace) {
202
202
}
203
203
204
204
QObject::connect (workspace, &QObject::destroyed, this , &I3Ipc::onFocusedWorkspaceDestroyed);
205
- workspace->setFocus (true );
205
+ workspace->bindableFocused (). setValue (true );
206
206
this ->setFocusedMonitor (workspace->monitor ());
207
207
}
208
208
@@ -213,14 +213,14 @@ void I3Ipc::setFocusedMonitor(I3Monitor* monitor) {
213
213
if (monitor == this ->mFocusedMonitor ) return ;
214
214
215
215
if (this ->mFocusedMonitor != nullptr ) {
216
- this ->mFocusedMonitor ->setFocus (false );
216
+ this ->mFocusedMonitor ->bindableFocused (). setValue (false );
217
217
QObject::disconnect (this ->mFocusedMonitor , nullptr , this , nullptr );
218
218
}
219
219
220
220
this ->mFocusedMonitor = monitor;
221
221
222
222
if (monitor != nullptr ) {
223
- monitor->setFocus (true );
223
+ monitor->bindableFocused (). setValue (true );
224
224
QObject::connect (monitor, &QObject::destroyed, this , &I3Ipc::onFocusedMonitorDestroyed);
225
225
}
226
226
@@ -264,8 +264,9 @@ void I3Ipc::handleGetWorkspacesEvent(I3IpcEvent* event) {
264
264
auto object = entry.toObject ().toVariantMap ();
265
265
auto name = object[" name" ].toString ();
266
266
267
- auto workspaceIter =
268
- std::ranges::find_if (mList , [name](const I3Workspace* m) { return m->name () == name; });
267
+ auto workspaceIter = std::ranges::find_if (mList , [name](I3Workspace* m) {
268
+ return m->bindableName ().value () == name;
269
+ });
269
270
270
271
auto * workspace = workspaceIter == mList .end () ? nullptr : *workspaceIter;
271
272
auto existed = workspace != nullptr ;
@@ -276,7 +277,7 @@ void I3Ipc::handleGetWorkspacesEvent(I3IpcEvent* event) {
276
277
277
278
workspace->updateFromObject (object);
278
279
279
- if (workspace->focused ()) {
280
+ if (workspace->bindableFocused (). value ()) {
280
281
this ->setFocusedWorkspace (workspace);
281
282
}
282
283
@@ -290,7 +291,7 @@ void I3Ipc::handleGetWorkspacesEvent(I3IpcEvent* event) {
290
291
auto removedWorkspaces = QVector<I3Workspace*>();
291
292
292
293
for (auto * workspace: mList ) {
293
- if (!names.contains (workspace->name ())) {
294
+ if (!names.contains (workspace->bindableName (). value ())) {
294
295
removedWorkspaces.push_back (workspace);
295
296
}
296
297
}
@@ -320,8 +321,9 @@ void I3Ipc::handleGetOutputsEvent(I3IpcEvent* event) {
320
321
auto object = elem.toObject ().toVariantMap ();
321
322
auto name = object[" name" ].toString ();
322
323
323
- auto monitorIter =
324
- std::ranges::find_if (mList , [name](const I3Monitor* m) { return m->name () == name; });
324
+ auto monitorIter = std::ranges::find_if (mList , [name](I3Monitor* m) {
325
+ return m->bindableName ().value () == name;
326
+ });
325
327
326
328
auto * monitor = monitorIter == mList .end () ? nullptr : *monitorIter;
327
329
auto existed = monitor != nullptr ;
@@ -332,7 +334,7 @@ void I3Ipc::handleGetOutputsEvent(I3IpcEvent* event) {
332
334
333
335
monitor->updateFromObject (object);
334
336
335
- if (monitor->focused ()) {
337
+ if (monitor->bindableFocused (). value ()) {
336
338
this ->setFocusedMonitor (monitor);
337
339
}
338
340
@@ -346,7 +348,7 @@ void I3Ipc::handleGetOutputsEvent(I3IpcEvent* event) {
346
348
auto removedMonitors = QVector<I3Monitor*>();
347
349
348
350
for (auto * monitor: mList ) {
349
- if (!names.contains (monitor->name ())) {
351
+ if (!names.contains (monitor->bindableName (). value ())) {
350
352
removedMonitors.push_back (monitor);
351
353
}
352
354
}
@@ -413,7 +415,7 @@ void I3Ipc::handleWorkspaceEvent(I3IpcEvent* event) {
413
415
414
416
if (!existed) {
415
417
this ->mWorkspaces .insertObject (workspace);
416
- qCInfo (logI3Ipc) << " Added workspace" << workspace->name () << " to list" ;
418
+ qCInfo (logI3Ipc) << " Added workspace" << workspace->bindableName (). value () << " to list" ;
417
419
}
418
420
} else if (change == " focus" ) {
419
421
auto oldData = event->mData [" old" ];
@@ -441,7 +443,7 @@ void I3Ipc::handleWorkspaceEvent(I3IpcEvent* event) {
441
443
auto * oldWorkspace = this ->findWorkspaceByName (name);
442
444
443
445
if (oldWorkspace != nullptr ) {
444
- qCInfo (logI3Ipc) << " Deleting" << oldWorkspace->id () << name;
446
+ qCInfo (logI3Ipc) << " Deleting" << oldWorkspace->bindableId (). value () << name;
445
447
446
448
if (this ->mFocusedWorkspace == oldWorkspace) {
447
449
this ->setFocusedWorkspace (nullptr );
@@ -480,23 +482,25 @@ I3Monitor* I3Ipc::monitorFor(QuickshellScreenInfo* screen) {
480
482
I3Workspace* I3Ipc::findWorkspaceByID (qint32 id) {
481
483
auto list = this ->mWorkspaces .valueList ();
482
484
auto workspaceIter =
483
- std::ranges::find_if (list, [id](const I3Workspace* m) { return m->id () == id; });
485
+ std::ranges::find_if (list, [id](I3Workspace* m) { return m->bindableId (). value () == id; });
484
486
485
487
return workspaceIter == list.end () ? nullptr : *workspaceIter;
486
488
}
487
489
488
490
I3Workspace* I3Ipc::findWorkspaceByName (const QString& name) {
489
491
auto list = this ->mWorkspaces .valueList ();
490
- auto workspaceIter =
491
- std::ranges::find_if (list, [name](const I3Workspace* m) { return m->name () == name; });
492
+ auto workspaceIter = std::ranges::find_if (list, [name](I3Workspace* m) {
493
+ return m->bindableName ().value () == name;
494
+ });
492
495
493
496
return workspaceIter == list.end () ? nullptr : *workspaceIter;
494
497
}
495
498
496
499
I3Monitor* I3Ipc::findMonitorByName (const QString& name) {
497
500
auto list = this ->mMonitors .valueList ();
498
- auto monitorIter =
499
- std::ranges::find_if (list, [name](const I3Monitor* m) { return m->name () == name; });
501
+ auto monitorIter = std::ranges::find_if (list, [name](I3Monitor* m) {
502
+ return m->bindableName ().value () == name;
503
+ });
500
504
501
505
return monitorIter == list.end () ? nullptr : *monitorIter;
502
506
}
0 commit comments