You are not logged in.
I did some work on the code of the tint2 and conky managers, sessions and pipemenus, on and off over the last couple of months. It was all sort of intertwined, so I haven't released any new packages yet - they'll all need to go up together. Anyway, before doing that I thought it would be best to check in with you guys first just in case I overlooked something (happens ).
1) We've been shipping a default conky in bunsen-configs (conky.conf) and another one in bunsen-conky (BL-Default-conky.conf symlink to BL-Lithium-conky.conf). BL-Lithium-conky.conf and conky.conf are (or should be) identical which means extra work for devs keeping them in sync after every tiny tweak. I've now moved BL-Default-conky.conf (symlink) and BL-Lithium-conky.conf from bunsen-conky to bunsen-configs, and dropped the default default conky.conf from bunsen-configs. If users want to create a conky.conf of their own and launch a conky without any -c option to define the conky file, then maybe we can just stay out of it and let them do their thing? Our conky utilities can go on using BL-Default-conky.conf just as before, but bunsen-conky will no longer hold the default conky file for that BL release - it will now be shipped by bunsen-configs.
2) Conky utilities now handle setting a certain desktop, if the conky is non-sticky. Damo had already done this in BLOB, and I extended it to bl-conky-session and the conky pipemenu. But I changed the way the desktop is recorded in the conky sessionfiles - instead of writing the whole command, I added an optional D[<number>] to indicate what desktop the conky should be launched on, followed by a space, then the path to the conkyfile. (The conkyfile path can contain spaces.)
eg here's my test conky-sessionfile:
/home/john/.config/conky/netmon_conkyrc
/home/john/.config/conky/netusers.conkyrc
/home/john/.config/conky/sysmon.conkyrc
D[1] /home/john/.config/conky/two words/BL-Button-conky.conf
So the Button goes on the second desktop, the others are sticky.
If a desktop has been set, bl-conky-session launches the conky like this:
*) launch the conky as usual but send its stdout to a temporary file
*) discover the window ID from the tmpfile
*) use wmctrl to move the conky to the desired desktop:
wmctrl -i -r "$id" -t "$desktop"
3) bl-conky-session now handles launching of all conkys. If other utilities want to launch a conky sessionfile they call bl-conky-session. That way there's only one conky-launching function to maintain. (I haven't done this yet, but I think BLOB could also use bl-conky-session to restore conkys.)
4) bl-conky-session now has an option '--kill-running' to kill any currently running conkys without asking, when starting a new session. Without that option, the current behaviour of putting up a popup "kill running conkys first?" remains as it is.
5) bl-conky-session no longer needs the option '--autostart' when run in the user autostart script. Now it looks like bl-tint2-session. At startup time there are no currently running conkys anyway, so there's no need to suppress the "kill?" popup.
6) bl-conky-session allows switching from one sessionfile to another. There is a symlink called conky-startup-session which points by default to conky-sessionfile. That's the sessionfile that gets launched when bl-conky-session is called with no options at user session startup time. User can change where the symlink points via a CLI option or via the conky pipemenu.
Here's 'bl-conky-session --help':
bl-conky-session is a script to parse saved BunsenLabs Conky session file(s)
and start the conkys
Usage: bl-conky-session [OPTION(S)]...FILES
With no command argument, the script uses "~/.config/conky/conky-startup-session"
which is a symlink pointing by default to "~/.config/conky/conky-sessionfile".
Change the symlink to make a different sessionfile the default at startup.
If not absolute, sessionfile paths are assumed to be relative to ~/.config/conky/
Options:
--default : add the default sessionfile to a list of files
sessionfile1 sessionfile2 etc
--kill-running : kill current running conkys without prompting
--set-startup <file> : set <file> as default startup session
(Use "default" to reset session to conky-sessionfile.)
--list : list available session files
(An asterisk is appended to the current startup session.)
Examples:
Run default sessionfile at login:
"bl-conky-session &"
Run specified sessionfile at login:
"bl-conky-session /path/to/sessionfile &"
Run default sessionfile, do not prompt about killing current conkys:
"bl-conky-session --kill-running"
Run several conky sessionfiles, including default:
"bl-conky-session sessionfile1 --default sessionfile2 etc"
Set newsession as default sessionfile:
(filepath can be absolute or relative to HOME/.config/conky/)
"bl-conky-session --set-startup newsession"
Restore HOME/.config/conky/conky-sessionfile as startup session:
"bl-conky-session --set-startup default"
7) bl-conky-manager will detect a non-sticky conky and ask the user what desktop to put it on.
8 ) 'bl-conky-manager --choose-startup' puts up a yad GUI to choose the startup conky sessionfile. This can be called from the pipemenu. Also b-c-m asks whether a newly created session should be set as default startup or not.
9) bl-conkymove keeps temporary backup of conkyfile while editing and restores it if move is cancelled, so nothing is written to it.
10) bl-conky-edit renamed from bl-conkyedit to look more like the others (likewise bl-tint2-edit), and displays the conkys in alphabetical order, like bl-conky-manager.
11) Added generic restart script bl-restart instead of tint2-restart (so use 'bl-restart tint2'). I was hoping to use this for conky too, but any desktop information would be lost after a restart, so fell back to a "Restart Startup Session" entry in the pipemenu.
12) bl-tint2-session will accept a filepath to use as sessionfile instead of the default. No other fancy session features like those with conky have been added though. Could be done in future if wanted.
Here's 'bl-tint2-session --help':
bl-tint2-session is a script to parse a saved Tint2 session file
and start the tint2s.
Usage: bl-tint2-session [OPTION(S)]...[FILES]
Optional arguments:
--help | -h
show this message
<SESSIONFILE>
With no command arguments, the script uses the default tint2 session file
~/.config/tint2/tint2-sessionfile" if it exists,
otherwise the default tint2rc is written to a new tint2-sessionfile.
If a filepath is passed it is used as the session file,
multiple sessions can be loaded.
If not absolute, sessionfile paths are assumed to be relative to ~/.config/tint2/
To start the default tint2 session at login,
add the following line to autostart:
bl-tint2-session
In fact the ampersand is optional for bl-conky-session too, but starting up a bunch of conkys can be time-consuming, so probably better to fork.
Does that all look reasonable? No nasty surprises?
All the commits have been pushed up to github, but the packages haven't been upgraded yet so there's time to adjust things.
Last edited by johnraff (2021-08-17 07:51:03)
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
Impressive work John, with some clever ideas. Thumbs-up from me
Be Excellent to Each Other...
The Bunsenlabs Lithium Desktop » Here
FORUM RULES and posting guidelines «» Help page for forum post formatting
Artwork on DeviantArt «» BunsenLabs on DeviantArt
Offline
Ditto. Push it.
Push it real good. (Sorry, had to go with the Salt and Pepa reference.)
No, he can't sleep on the floor. What do you think I'm yelling for?!!!
Offline
New packages now in the experiental Beryllium repo.
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
Nice, looks good!
No, he can't sleep on the floor. What do you think I'm yelling for?!!!
Offline