2

I have got a Mono/C# application running on linux that has to behave like a panel. It is docked on a side and "always on top" but I can't make it to reserve space on screen. I found out to do something like this:

byte[] StrutData = new byte[4];
StrutData [2] = 20;
Gdk.Property.Change(this.GdkWindow, Gdk.Atom.Intern("_NET_WM_STRUT", false), Gdk.Atom.Intern("CARDINAL", false), 32, Gdk.PropMode.Replace, StrutData , 4);

Result of this is that all windows are in bottom half of screen and can be moved only about 50 pixels up and down. What is wrong? Or is it at least possible to do that?

Pavl
  • 83
  • 1
  • 8

1 Answers1

-1

Use "_NET_WM_STRUT_PARTIAL".

  • 1
    [A code-only answer is not high quality](//meta.stackoverflow.com/questions/392712/explaining-entirely-code-based-answers). While this code may be useful, you can improve it by saying why it works, how it works, when it should be used, and what its limitations are. Please [edit] your answer to include explanation and link to relevant documentation. – Stephen Ostermiller Dec 24 '22 at 10:10
  • As it’s currently written, your answer is unclear. Please [edit] to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Dec 25 '22 at 00:43