sleek icon indicating copy to clipboard operation
sleek copied to clipboard

Multiple Sleek instances / separate windows

Open amariusz opened this issue 1 year ago • 3 comments

Sometimes it would be useful to have two Sleek windows with different set of todo.txt files, sorting, filtering etc. Currently I'm able to run Sleek in two windows but changes in one window are reflected in the other - which is kind of strange, but still a feature :)

Probably the ony way right now to have 2 separate instances is to run Sleek 2 and Sleek 1.3 alongside.

Probably the easiest way to have multiple instances would be to use different config directories. Could you add a command line switch to Sleek executable that accepts a path to custom config directory? That way user could create custom shortcut per instance.

amariusz avatar Feb 01 '24 19:02 amariusz

@amariusz not sure if this is really a thing in the world of Electron/Chromium. This at least makes me doubt this is possible without bending the whole framework somehow.

What you might be looking for is a function of keeping the configuration bound to todo.txt files as described here: https://github.com/ransome1/sleek/issues/588

Currently I'm able to run Sleek in two windows but changes in one window are reflected in the other - which is kind of strange, but still a feature :)

How do you run two instances of sleek (2.x) at the same time? If this is somehow possible, it wasn't intended by me tbh.

ransome1 avatar Feb 04 '24 12:02 ransome1

@amariusz not sure if this is really a thing in the world of Electron/Chromium. This at least makes me doubt this is possible without bending the whole framework somehow.

There seems to be such possibility. code and chrome apps can be invoked in terminal with --help switch. Maybe this thread would be more helpful? https://stackoverflow.com/questions/45051296/read-windows-command-line-option-in-electron-renderer-process

What you might be looking for is a function of keeping the configuration bound to todo.txt files as described here: #588

No, I'd like to work also on the same todo.txt file with different filters. Sleek seems to reload externally modified file quick enough to avoid data corruption.

How do you run two instances of sleek (2.x) at the same time? If this is somehow possible, it wasn't intended by me tbh. As simple as opening two terminals (on linux) and launching sleek-2.0.8.AppImage in each one. Maybe there's a check just for windows?

If processing commandline arguments is problematic maybe you could consider those options:

  • using config from local directory if it's present next to sleek binary
  • ability to switch "profiles" similarly to what chrome offers for multiple accounts

Thanks!

amariusz avatar Feb 04 '24 13:02 amariusz

... maybe also those links could be useful

https://github.com/electron/electron/issues/4690 https://www.tabnine.com/code/javascript/functions/electron/Process/argv

amariusz avatar Feb 04 '24 13:02 amariusz

What we're talking about here is a feature called "configuration profiles" and these are definitely possible with Electron. In addition, at least under Linux, you can quite easily run AppImage in a portable mode, which achieves the same thing: https://docs.appimage.org/user-guide/portable-mode.html

andrei-a-papou avatar Feb 27 '24 08:02 andrei-a-papou

Sorry for late reply. That's a great tip, thanks! I've tested it today and it seems to work fine with Sleek.

This method allows me to have multiple Sleek windows with independent configuration and common todo files, so I'm closing the issue.

amariusz avatar Mar 08 '24 08:03 amariusz

I've tested it today and it seems to work fine with Sleek

Why wouldn't it :)

That's a great tip, thanks!

Glad I could help!

andrei-a-papou avatar Mar 08 '24 08:03 andrei-a-papou

I could imagine several reasons :) But in short, luckily Sleek uses recent enough version of AppImageKit and have no explicit check that would prevent multiple instances.

amariusz avatar Mar 08 '24 08:03 amariusz

Another option for running an app like sleek with different configuration but shared todo files would be to dockerize sleek and have each Docker image access the todos via a shared volume on the host. That should work across platforms -- irrespective of AppImage or other packaging options.

@ransome1 Just an idea :)

andrei-a-papou avatar Mar 08 '24 11:03 andrei-a-papou