Menu

#168 Feature: Make systray icon pinning (ordered) available

future
open
None
5
2017-10-23
2013-12-14
No

"""
Subject: [PATCH] Make systray icon pinning available.

The user options screenname.systray.pinLeft and
screenname.systray.pinRight in .fluxbox/init are read as comma sperated
list of window classnames.

While preserving the order of the lists, systray icons are sorted so
that pinLeft'ed classnames appear left and vice versa.
"""

I use this to make the network manager applet and the volume icon stick to the clock (in this order). This is handy if you are used to expect the "system icons" in a fixed location instead of any pseudo-random place depending on which finished launching first.

Example provided in the attached screenshot:

session.screen0.systray.pinRight: Nm-applet, Volti

TODO (by somebody else, the patch works for me and Im not going to apply any more free time):

(o) I have no Idea when to call sortClients in the code. Currently I fiddled it into the event loop, it seems to work like expected and is stable. However it should also be called after reconfigure.

(o) I use std:: functions for parsing the comma seperated string and sorting. I don't know whether Fluxbox provides own facilites for these tasks or not.

(o) It uses c++11 and I needed to change the Makefile; I have no experience with autogen and don't know how auto it actually is.

(o) Debug messages maybe.

Based on git master with last change being made 02-08-2013.

2 Attachments

Discussion

  • Mathias Gumz

    Mathias Gumz - 2014-09-29

    nice idea. reading the README.md of your branch it says this: "consider a system tray: A C B D E F with pinRight = A, B and pinLeft = E, F it will look like E F [C D E] A B while the icons in [] are un-ordered as usual."

    the "E" appears two times in the the resulting order "E F [C D E] A B": is this a typo?

     
  • Mathias Gumz

    Mathias Gumz - 2014-09-29
    • assigned_to: Mathias Gumz
     
  • Anonymous

    Anonymous - 2014-09-29

    It's indeed a typo. Just corrected it.

     
  • Arkq

    Arkq - 2014-10-03

    Just before I've found (actually Mathias has told me) this patch tracker, I had had wrote something similar (exactly the same idea) - pinning tray icons. However my approach is a little different. I've thought, that such a ordering should be done analogical to the slit ordering - via the separate file, not init settings. In the attachment you will find my initial work. I've bailed further development (it lacks live reload mechanism, despite that, it is fully functional), after I've found this patch. Maybe you will be interested in it - just for the comparison's sake.

     
  • Mathias Gumz

    Mathias Gumz - 2015-01-07

    mhh .. i ve put this thread on my todo but never came close to actually answer. sorry about that.

    i have no real oppinion right now which approach is better, a new file (systray) or having the stuff inside .fluxbox/init ... matter of fact is, in certain situations an admin might want to enforce a read-only version of .fluxbox/init and thus the order would not be saved. it could be done by first loading whats specified by the admin (who enforces a special session onto his users) and then loading additional stuff ontop / underneath, just like the way the overlay works.

     
  • Craig Gordon

    Craig Gordon - 2017-10-23

    Bump.
    It would be nice to see this feature implemented.

     

Log in to post a comment.