91861 / wayst

A simple terminal emulator
MIT License
295 stars 9 forks source link

Changing TTYs will remove keyboard capability for wayst #11

Closed freed00m closed 4 years ago

freed00m commented 4 years ago

Latest version is getting stuck if I put the laptop to suspend and resume.

The windows can be exited with SIGTERM (+15) signal on the window.

Arch distribution running wayland, Sway 1.4 + wlroots.

91861 commented 4 years ago

It survived suspending and hibernating on every compositor I tested. Maybe it had been fixed already?

freed00m commented 4 years ago

@91861 My bad, it's not the Resume/suspend action but switching TTY,

Because Swaylock will support unlocking with systemd-homed in release version 246, I now need to login to different tty to issue a SIGKILL swaylock to get back to working tty1.

The seat is what is unhandled.

Reproduce byt switching from graphical wm to a tty and back. I will test if it is happening on non homed users.

$ wayst --debug
pty.read( 37)  ~> { <ESC>[?1h<ESC>=<ESC>[1;34m~<ESC>[1;33m (M)<ESC>[0m $ <ESC>[0m }

pty.write(  1) <~ { l }

pty.read(  1)  ~> { l }

pty.write(  1) <~ { s }

pty.read(  1)  ~> { s }

pty.write(  1) <~ {   }

pty.read(  1)  ~> {   }

pty.write(  1) <~ { - }

pty.read(  1)  ~> { - }

pty.write(  1) <~ { a }

pty.read(  1)  ~> { a }

pty.write(  1) <~ { <CR> }

pty.read(957)  ~> { <CR><LF><ESC>[?1l<ESC>><ESC>[0m<ESC>[01;34m.<ESC>[0m       <ESC>[01;34m.config<ESC>[0m            <ESC>[01;34m.git<ESC>[0m      <ESC>[01;34m.keychain<ESC>[0m  <ESC>[01;34mMusic<ESC>[0m     <ESC>[01;34msrc<ESC>[0m         <ESC>[01;34m.vscode-oss<ESC>[0m    .bash_profile     <ESC>[01;36m.face.icon<ESC>[0m      .gitmodules  LICENSE.md  .vimrc<CR><LF><ESC>[01;34m..<ESC>[0m      <ESC>[01;34mDocuments<ESC>[0m          <ESC>[01;34m.gnupg<ESC>[0m    <ESC>[01;34m.local<ESC>[0m     <ESC>[01;34mPictures<ESC>[0m  <ESC>[01;34m.ssh<ESC>[0m        <ESC>[01;34m.yarn<ESC>[0m          .bashrc           .gitattributes  <ESC>[01;36m.icon<ESC>[0m        <ESC>[01;32mloop.sh<ESC>[0m     .yarnrc<CR><LF><ESC>[01;34m.cache<ESC>[0m  <ESC>[01;34mDocuments_private<ESC>[0m  <ESC>[01;34m.icons<ESC>[0m    <ESC>[01;34m.matlab<ESC>[0m    <ESC>[01;34m.pki<ESC>[0m      <ESC>[01;34m.templates<ESC>[0m  .bash_history  .bashrc_Warspite  .gitconfig      .identity    <ESC>[01;32m.profile<ESC>[0m<CR><LF><ESC>[01;34m.cargo<ESC>[0m  <ESC>[01;34mDownloads<ESC>[0m          <ESC>[01;34m.keepass<ESC>[0m  <ESC>[01;34m.mozilla<ESC>[0m   <ESC>[01;34m.scripts<ESC>[0m  <ESC>[01;34m.vim<ESC>[0m        .bash_logout   .face             .gitignore      .lesshst     tee<CR><LF> }

pty.read( 37)  ~> { <ESC>[?1h<ESC>=<ESC>[1;34m~<ESC>[1;33m (M)<ESC>[0m $ <ESC>[0m }

[warning] No keyboard capability found for seat