working on fixes for wurrkspaces in sway
This commit is contained in:
parent
848a48e1e5
commit
72f27e56db
1 changed files with 4 additions and 39 deletions
|
@ -76,21 +76,6 @@ proc switchWorkspace(workspace: string) =
|
||||||
discard execCmd(cmd)
|
discard execCmd(cmd)
|
||||||
showWorkspaces()
|
showWorkspaces()
|
||||||
|
|
||||||
# proc getApplications(node: JsonNode): (seq[string],bool) =
|
|
||||||
# var apps: seq[string] = @[]
|
|
||||||
# var focused = false
|
|
||||||
# for item in node["nodes"].getElems():
|
|
||||||
# var name = ""
|
|
||||||
# if item["focused"].getBool():
|
|
||||||
# focused = true
|
|
||||||
# if item{"window_properties"} != nil :
|
|
||||||
# let prop = item["window_properties"]
|
|
||||||
# name = prop["class"].getStr()
|
|
||||||
# name &= " " & prop["title"].getStr()
|
|
||||||
# echo "Adding application : " & name
|
|
||||||
# apps.add(name)
|
|
||||||
# return (apps, focused)
|
|
||||||
#
|
|
||||||
proc getApplication(node: JsonNode, ws: Workspace = Workspace()): Application =
|
proc getApplication(node: JsonNode, ws: Workspace = Workspace()): Application =
|
||||||
var app = Application()
|
var app = Application()
|
||||||
let window = node["window_properties"]
|
let window = node["window_properties"]
|
||||||
|
@ -102,30 +87,6 @@ proc getApplication(node: JsonNode, ws: Workspace = Workspace()): Application =
|
||||||
#echo app.title & " " & app.class
|
#echo app.title & " " & app.class
|
||||||
return app
|
return app
|
||||||
|
|
||||||
# proc findWorkspaces(node: JsonNode) =
|
|
||||||
# for channel in node["nodes"].getElems():
|
|
||||||
# case channel["type"].getStr():
|
|
||||||
# of "workspace":
|
|
||||||
# if channel["output"].getStr() == "__i3":
|
|
||||||
# continue
|
|
||||||
# let w = channel
|
|
||||||
# let apps = getApplications(channel)
|
|
||||||
# var space = Workspace(
|
|
||||||
# num: w["num"].getInt(),
|
|
||||||
# name: w["name"].getStr(),
|
|
||||||
# focused: apps[1],
|
|
||||||
# #visible: w["visible"].getBool(),
|
|
||||||
# urgent: w["urgent"].getBool(),
|
|
||||||
# output: w["output"].getStr(),
|
|
||||||
# apps: apps[0]
|
|
||||||
# )
|
|
||||||
# space.display_string = buildString(space)
|
|
||||||
# my_workspaces.add(space)
|
|
||||||
# else:
|
|
||||||
# echo "finding workspaces..."
|
|
||||||
# findWorkspaces(channel)
|
|
||||||
# return
|
|
||||||
|
|
||||||
proc newWorkspace(node: JsonNode): Workspace =
|
proc newWorkspace(node: JsonNode): Workspace =
|
||||||
return Workspace(
|
return Workspace(
|
||||||
num: node["num"].getInt(),
|
num: node["num"].getInt(),
|
||||||
|
@ -146,9 +107,13 @@ proc findWorkspacesTree(node: JsonNode, parent: Workspace = Workspace()) =
|
||||||
if node["output"].getStr() == "__i3":
|
if node["output"].getStr() == "__i3":
|
||||||
return
|
return
|
||||||
ws = newWorkspace(node)
|
ws = newWorkspace(node)
|
||||||
|
echo ws
|
||||||
###
|
###
|
||||||
|
echo channel
|
||||||
if channel{"window_properties"} != nil:
|
if channel{"window_properties"} != nil:
|
||||||
|
#or (wayland and `something that is the same as window_properties'):
|
||||||
let app = getApplication(channel,ws)
|
let app = getApplication(channel,ws)
|
||||||
|
echo app
|
||||||
if ws.name != "":
|
if ws.name != "":
|
||||||
#if app.focused:
|
#if app.focused:
|
||||||
# ws.focused = true
|
# ws.focused = true
|
||||||
|
|
Loading…
Reference in a new issue