Nama / swayrst

Restore workspaces in sway to displays and move applications to saved workspaces
MIT License
54 stars 7 forks source link

Unable to save layout #12

Closed JoshElias closed 7 months ago

JoshElias commented 7 months ago

Steps

Error Log

Traceback (most recent call last):
  File "/usr/bin/swayrst", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/bin/swayrst.py", line 153, in main
    notify('Saved Workspace Setup', profile)
  File "/usr/bin/swayrst.py", line 56, in notify
    notifysend(headline, text)
  File "/usr/lib/python3.11/site-packages/sh.py", line 1524, in __call__
    return RunningCommand(cmd, call_args, stdin, stdout, stderr)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/sh.py", line 788, in __init__
    self.wait()
  File "/usr/lib/python3.11/site-packages/sh.py", line 845, in wait
    self.handle_command_exit_code(exit_code)
  File "/usr/lib/python3.11/site-packages/sh.py", line 869, in handle_command_exit_code
    raise exc
sh.ErrorReturnCode_1:

  RAN: /usr/bin/notify-send 'Saved Workspace Setup' main-work

  STDOUT:

  STDERR:
GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
Nama commented 7 months ago

Weird. Can you run notify-send test from the terminal?

JoshElias commented 7 months ago

Wow you're fast at responding! TY! I get this error when running that.

GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
Nama commented 7 months ago

Welcome XD

Yeah, there is something wrong on your system. I found this with a quick search, not sure if it will fix your problem.

You seem to be missing a notification server.

In order to use libnotify, you have to install a notification server.

https://wiki.archlinux.org/title/Desktop_notifications#Notification_servers

Even tho swayrst crashes, your workspace should be saved, since the notification is sent after saving. https://github.com/Nama/swayrst/blob/main/swayrst/swayrst.py#L152

Try to load it.

JoshElias commented 7 months ago

I ran load and it gave me the same notification error. My layout didn't load either.

I should also note that I'm on Arch and have gnome-keyring installed.

swayrst load 'main-work'
Traceback (most recent call last):
  File "/usr/bin/swayrst", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/bin/swayrst.py", line 201, in main
    notify('Loaded Workspace Setup', profile)
  File "/usr/bin/swayrst.py", line 56, in notify
    notifysend(headline, text)
  File "/usr/lib/python3.11/site-packages/sh.py", line 1524, in __call__
    return RunningCommand(cmd, call_args, stdin, stdout, stderr)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/sh.py", line 788, in __init__
    self.wait()
  File "/usr/lib/python3.11/site-packages/sh.py", line 845, in wait
    self.handle_command_exit_code(exit_code)
  File "/usr/lib/python3.11/site-packages/sh.py", line 869, in handle_command_exit_code
    raise exc
sh.ErrorReturnCode_1:

  RAN: /usr/bin/notify-send 'Loaded Workspace Setup' main-work

  STDOUT:

  STDERR:
GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
Nama commented 7 months ago

Do you have any of the notification servers? I use Dunst e.g.

Don't you want any notifications to work on your machine?

JoshElias commented 7 months ago

Haha I do for sure! Sorry I'm very new to sway and window managers in general. My installation is still very bare bones. Notification server must be missing.

I'll look into that and retest! Thanks again

JoshElias commented 7 months ago

Installed Dunst. Thanks for that. The notifications say that saving and loaded worked but loading doesn't do anything. Not seeing any errors in journalctl either.

I should see my windows come back in the layout they were in when I saved correct?

Nama commented 7 months ago

Do you have multiple windows of one process? Did you change more than single windows to test?

Nama commented 7 months ago

Just pushed a commit which implements -v for debug messages (I thought I did that long time ago >_<).

Could you please update and run swayrst -v load main-work

Also please look into your sway folder ~/.config/sway/ if the files from swayrst are there.

JoshElias commented 7 months ago

I got your update, but now am getting this arg error?

❯ swayrst load main-work
usage: swayrst [-h] [-v]
swayrst: error: unrecognized arguments: load main-work
❯ swayrst -v load main-work
usage: swayrst [-h] [-v]
swayrst: error: unrecognized arguments: load main-work
JoshElias commented 7 months ago

I do have multiple instances of my terminal and browser in my layout.

Nama commented 7 months ago

I should see my windows come back in the layout they were in when I saved correct?

Should have notice your wording here. Layouts aren't restored. But thats the next thing I'd like to have, just not sure how to implement it.

swayrst moves windows to workspaces and workspaces to displays they were in.

I do have multiple instances of my terminal and browser in my layout.

The implementation for multiple windows of a process is not working perfectly. https://github.com/Nama/swayrst/issues/3#issuecomment-1280110354

JoshElias commented 7 months ago

Oh that makes sense. Sorry for wasting your time!