https://bugs.kde.org/show_bug.cgi?id=412731
Askar Safin <safinas...@mail.ru> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|WAITINGFORINFO |--- Status|NEEDSINFO |REPORTED --- Comment #4 from Askar Safin <safinas...@mail.ru> --- (In reply to David Edmundson from comment #3) > I am happy to help do what we need to address any valid use cases, if we can > solve them properly. Thanks a lot! > However, I still don't yet understand, how does this > help with a crash? I often have something like 50 various windows opened. When my computer crashes, of course, I am completely disappointed and frustrated. Because all information about state of my computer and all information about my work is lost. In some sense set of opened windows *is* to-do list. When I start to do something, I open relevant windows. Then this work may for some reason become postponed and some new urgent work may appear. Then I open new windows (without closing previous set of windows). This can happen a lot of times and then I may got 50+ windows, some of them are "new" (i. e. opened recently) and some "old" (i. e. I saw them very lot of time ago). I rarely reboot my computer and I often use hibernate. So, I want to record video from every window. If my computer crashes, I will watch all this videos (with a paper and pencil in my hands) and thus I will be able to open all this windows again restoring their state. You may ask: why you need to watch video, why not just see the last screenshot? Well, there is a lot of programs, such that their state cannot be restored by last screenshot. For example, browser window with tabs. I need to watch video in reverse order starting from last screenshot until all tabs will show up in video. Same for konsole windows. I need to watch entire video to see all commands and their output. Last screenshot will show me only few last commands. So I will watch all this videos in reverse order from last screenshot until all information from this particular video is restored. Okey, what I do currently? Currently I don't have such program. I use X11, and I simply record video from whole screen using "ffmpeg -f x11grab". When my computer crashes I watch this video (with a paper and pencil) from last frame until all windows will show up in video and all information from them is restored. I usually restart video capturing once a day and unminimize all windows to make sure all they are captured. So in case of crash I need to watch no more than last day. Watching such video usually takes whole day. What programs I use? Most of time I use 3 programs only: konsole, chromium and kate/kwrite. Usually I have lots of konsole windows opened, lots of chromium windows opened and a few kate/kwrite windows. Currently I have 8 konsoles and 11 chromiums (i. e. 19 windows). This is good situation, often windows count is more. You may ask: why not just use build-in capabilities in this programs for restoring state? Chromium can restore tabs, kate can restore unsaved files and for konsole we have .bash_history. Well, this is true, but unfortunately all this features are not complete. Let's begin from Chromium. Usually it restores form data correctly. But unfortunately sometimes this just fails. Also, Chromium doesn't restore form data for dynamically created form elements. If I remember correctly Chromium dev even said to me in bug tracker that Chromium will never restore form data in dynamically created elements. For example, go open https://paste.gg/ . Then click "Add file". Additional dynamically created <textarea> will open. Type some text to it, then crash your browser and restore tabs. That text will be lost. Now let's speak about konsole. I use konsole windows as to-do list in some sense. Let me explain. For example, I created some file or directory using konsole. Say, I typed "mkdir /some-dir". Then I will not close this window while I need this dir. I. e. this window serves as reminder that this directory exists and that I should delete it when it becomes not needed. So I need to restore all konsole windows. To know what files and dirs I created to know that I should delete them. Of course, all this applies not only to files and dirs, but to other things, too. For example, I temporary moved some file from one place to another. Then this konsole window with "mv" command serves as reminder that this file should be moved back. Etc, etc. Okey, what about .bash_history? Well, first of all, in case of hard crash commands in opened windows are lost (because bash writes .bash_history at exit). But bash can be configured to write command to history immediately. So, let us assume we configured bash so. What next? Well, then .bash_history will contain all commands. From opened windows and from closed. But I need from opened only! Because they are in some sense to-do list. They mean actions which started but not finished. Temporary dirs which I created and not yet deleted etc. Also I need output of commands, not only commands themselves. Okey, all this problems with programs can be fixed. I can write Chromium extension which will save tabs better than standard mechanism. I can use something like asciinema or script ( https://manpages.debian.org/buster/bsdutils/script.1.en.html ) to save konsole state (side note: asciinema and script don't handle change of window size correctly, so they are not full solution, either). But I still need some mechanism which will simply record video from all windows. Why? For two reasons: 1. Robustness. Having general failback mechanism in addition to application-specific hacky solutions (chromium extensions and asciinema) is a good thing. Robustness is a good thing. 2. Most of time I use konsole, chromium and kate/kwrite, but sometimes I use something different. And I don't want to research ways to restore state in new application before using it. I want state saving to simply work. Ask me questions if you still have them. I can explain you everything. I also can show you code I wrote so far. I wrote tool which captures videos for all X11 windows. This program is unfinished, so I currently don't use it. Also I wrote my own small analog of asciinema/script. You may ask: why not simply fix all software and hardware problems which can cause crashes? Well, reasons are diverse. This can be power outage on my laptop. This can be something completely different. For example, one day I created isolated container on my laptop and gave away the access to this container to members of public IRC channel. I thought this container is completely isolated and anonymous IRC members will not cause any harm to my computer. But this was mistake. Someone simply started fork bomb and my computer got completely frozen. So I forcibly rebooted it and lost all state (this was time when I didn't use "ffmpeg -f x11grab" yet). > Not currently, but it's something I do want to add. Thanks a lot. If you address my use case, this would be great -- You are receiving this mail because: You are watching all bug changes.