After a much longer amount of time than I had anticipated, The next release of EasySeats is available. This is a very nice update and when I compared how version 7 works, and I am very happy with the current functionality.
For this release, large parts of the program have been re-written. There have been significant code re-factors and more efficient code reuse which all work to make the program more dynamic when syncing with loginctl. Second and third and more seats are automatically recognized now, and there is additional logging and error handling. The functionality for reading from a text file instead of directly from terminal has been removed. If you need the ability to read a text file instead of reading directly from the terminal for an older distro, version 7 is the last to have this capability.
With the more dynamic nature of this release, EasySeats now keeps a copy of the seats and their status in a series of arrays. During testing I tried moving, removing, adding, and more, devices to various seats back and forth and it always worked for me. The one way to produce an error is to assign a seat and then press "cancel" when the root password dialog comes up. EasySeats assumes that when you move mouse number 2 to seat number 2, that you intend to do this after you press the assign button. When the root password dialog comes up, the seat number assignment has already been made in the status arrays.
To restore, clear all status and re-get the seats. To download, the jar file has been uploaded to the releases folder:
One of the big reasons that this release was delayed so long was a bug that I ran into that I could not figure out. My suspicion is that there is a Java versioning issue. In one of my methods there is a counter variable that is set to 1 instead of zero. I'm still not sure with 100% certainty, but in order to get this working on multiple distros I put a check in the method that looks at the Java version. If the Java version is older than 1.9, the counter is incremented. If not, it stays at zero.
I have several distros that I develop and test on, and in this instance the older version of Fedora I have and the newer version of Ubuntu require different handling for the increment. Hopefully this can be ironed out in the next version. I will most likely be upgrading several of my computers soon to newer distros, which I think will help bring the issue to its conclusion.
For future testing purposes, I think this version could be very useful. There is additional logging available by launching EasySeats via the terminal instead of double clicking the jar file.
EasySeats is open source software developed to bring ease to users who choose to go multi-seat. It supports video cards for seat creation as well as external USB docks.