[xmonad] auto start apps on login, but not reloads
Dmitriy Matrosov
sgf.dma at gmail.com
Sat Mar 25 16:45:52 UTC 2017
On 03/24/2017 11:43 PM, Sam Halliday wrote:
> [..]
> Just thinking aloud, another way I could do this would be to have
> rules in place that always assign a new app to a given workspace. Then
> I could start my main apps as usual from .xsession. But sometimes I
> move a chromium window to a different workspace, so it would need to
> allow that.
>
Hi.
Some time ago i've written a [module for tracking PIDs][1] of launched
programs and not launching them again, if process still running. But..
- It was not released yet, because i think about rewriting (part of) it.
- It depends on other modules from my config. Not that many and not really
big, but still..
- I don't know (and heven't tried) how to build a config with this module
alone (perhaps, place it in `.xmonad/lib` directory?). Now i build using
`stack` and rebuild work through [X.H.EntryHelper][4]. I've heard, that
xmonad 0.13 supports different build systems, but i haven't tried.
- Part of this module (related to docks, not needed in your config) is
broken
with `xmonad-contrib-0.13` (the struts are no longer honored and
panels are
covered by windows).
- Program pid tracking will move *all* new windows of a multi-window
application to defined workspace. That may be not convenient at all
in some
cases: e.g. you want to start a new browser window on another
workspace, but
the new window will still appear on a workspace assigned to it. The same
applies to a windows, like password manager prompts, etc.
But, that's said, it still works with `xmonad-0.12` and stack will
install all
necessary dependencies for you. [Here][2] is your config, which starts
programs using my module `Sgf.XMonad.Restartable` and the listed programs do
not restart after `xmonad --restart`, if they're still running. To build
your
config i replaced mine (`src/xmonad.hs`) in [my repository][3] and installed
it with `make install`.
**NOTE** : `make install` will also install `xmobarrc`, `Xsession` and other
stuff. You may either try `make install_xmonad` or (better) create a new
user
for trying this.
[1]:
https://github.com/sgf-dma/sgf-xmonad-modules/blob/master/src/Sgf/XMonad/Restartable.hs
[2]: https://gist.github.com/sgf-dma/2709f8279365b262f567d3d99f43dfc1
[3]: https://github.com/sgf-dma/sgf-xmonad-config
[4]: https://hackage.haskell.org/package/xmonad-entryhelper
More information about the xmonad
mailing list