FluxBox Slit

PackRat

#15
@vastone -

You're welcome

This in the rc.xml - toward the end where the per-app settings are written -

  <application class="lxpanel">
    <desktop>all</desktop>
    <layer>below</layer>
  </application>


should give the same behavior in openbox; I still need to test it on my other computer that has openbox installed. Openbox layers are - above, normal, or below. A setting of normal or below will allow maximized windows to cover lxpanel. Setting also makes lxpanel sticky across all desktops.

May need/want to uncheck the dock and reserved space boxes in the lxpanel configuration; let openbox control the strut policy for the panels.

Edit - This works for openbox; assign per-app settings to lxpanel then un-check the dock and reserved space settings to allow maximized windows to cover lxpanel. The Margins settings in obconf can be used if you want the panel visible - control the strut policy from openbox.
I am tired of talk that comes to nothing.
-- Chief Joseph

...the sun, the darkness, the winds are all listening to what we have to say.
-- Geronimo

ew

#16
OK. Now I`m almost  there. but not quite. Conky can stay up when all windows are minmized(ShowDesktop) if window-type is dock and it`s in the slit..., but it also stays up with "override" without using the slit... So Conky is fine, that`s solved. But when we come to the lxpanel I`m starting to wonder if I`m looking to do the impossible. If I use your addition to the .fluxbox/apps-file and set it to desktop or dock it behaves as I want it to do, with the exeption of not being able to raise it when a browser-window covers it. To be able to do this, the panel has to be on top, but then it disappears when I go to the desktop...

So my question is, do any of you manage to raise the panel above a fullscreen-window, when the panel is on a lower layer and is hidden. It sounds impossible to me, but it`s this behaviour I need.... or else I have to take a totally different route to achive my goal. To make it clear, I want to achive that the lxpanel functions as a autohide-dock, without being minimized by "ShowDesktop.
This works in the openbox-session....

Edit. Found a new way to do it so that the same executable works for ToggleShowDesktop in the xfce and the openbox-sessions".
It doesn`t work for fluxbox. But I don`t give up:)

Edit2, lol. I think we call it the night. My question to myself now is why I should try to fix this in fluxbox, when the xfce4-session is perfect and feels just as snappy as the fluxbox-session. At least on my quad-core and 8 GB RAM. It is very tempting to use xfce instead, but I guess the answer must be that I have to fix it because otherwise I would feel defeated by fb:)
-ew
-----------------------------
"What happens when you read some doc and either it doesn't answer your question or is demonstrably wrong? In Linux, you say "Linux sucks" and go read the code. In Windows/Oracle/etc you say "Windows sucks" and start banging your head against the wall."
--- Denis Vlasenko on lkml

PackRat

#17
Add these (or similar) key bindings to ~/fluxbox/keys -:

Mod1 Shift F6 :Lower
Mod1 Shift F7 :MacroCmd {Raise} {Focus}


You will perform the action on the active - in this case maximized or full screen - window to lower it below lxpanel or raise it above lxpanel. In fluxbox, lxpanel doesn't grab focus so the bindings will not effect it. The MacroCmd runs the two commands in sequence so the window will grab focus after it is raised.

You can change the keys to whatever fits your scheme.

If you prefer a mouse -

OnWindow Mod4 Mouse3 :Lower
OnWindow Mod4 Mouse2 :MacroCmd {Raise} {Focus}
[/code]

Always verify that you're not making double entries in the ~/fluxbox/keys file after you make custom edits; fluxbox will still run but key bindings may get a bit wonky.

Your other option would be to use the native fluxbox toolbar with the "autohide" and "maximize over" configurations. You could configure lxpanel with a menu and launcher (+ systray, clock if those are not part of the fluxbox toolbar) if you still want those items available.
I am tired of talk that comes to nothing.
-- Chief Joseph

...the sun, the darkness, the winds are all listening to what we have to say.
-- Geronimo

ew

#18
Ok Thanks. I tried adding this to the keys file:

Mod4 d 6:Lower
Mod4 d 7 :MacroCmd {Raise} {Focus}

It didn`t do anything as far as I could see.
-ew
-----------------------------
"What happens when you read some doc and either it doesn't answer your question or is demonstrably wrong? In Linux, you say "Linux sucks" and go read the code. In Windows/Oracle/etc you say "Windows sucks" and start banging your head against the wall."
--- Denis Vlasenko on lkml

PackRat

That syntax is wrong. You can have -

Mod4 d :Lower
Mod4 Shift d :MacroCmd {Raise} {Focus}


Something like you have will need to be written as a key chain like emacs -

modifiers-1 key-1 modifiers-2 key-2 :'command' [arguments ...]
I am tired of talk that comes to nothing.
-- Chief Joseph

...the sun, the darkness, the winds are all listening to what we have to say.
-- Geronimo

ew

#20
Quote from: PackRat on November 07, 2013, 05:27:20 PM
That syntax is wrong. You can have -

Mod4 d :Lower
Mod4 Shift d :MacroCmd {Raise} {Focus}


Something like you have will need to be written as a key chain like emacs -

modifiers-1 key-1 modifiers-2 key-2 :'command' [arguments ...]

Ok, thanks. That works to lower a window and raise it again, if another window isn`t opened while that window is lowered. So I guess it works as it should. But it`s not quite what I look for. I want to use "ShowDesktop" (minimize all windows), but I want to do so without closing the lxpanel. If I set lxpanel to the desktop-layer, then everything works as I want it to, with the exception that fullscreen winows covers it, which I obviously want them to(autohide dock). But in this state it isn`t possible to raise the panel. If the panel isn`t covered by a window, and I set Chromium to open slightly above the panel, then it works fine. But then the panel becomes just a launcher/taskbar, not a autohide-dock.

So what I`m looking for, is how to set lxpanel so that it doesn`t get affected at all by the window-manger(fb), but remains in the same state regardless. Which seems to work if the lxpanel is set to the desktop-layer. But I need the same behaviour when it`s set to the top layer, because setting it to "dock" and try to put it in the "slit" doesn`t work.

Edit. No need to worry about it. I`m usually not into the docks, as they are just bling to me. I don`t use them, so I`ll configure it as a 30 pixel high bar instead, and have it always raised. That solves it, and is more my kind of thing. I took a look at fbpanel, and installed it. It seems very light and also has the options that I need, so perhaps I will use fbpanel for the fb-session. But before I do that, I will try to configure the lxpanel to my liking. If I don`t manage to do that, then I just replace it. It`s cleaner and easier to have the same panels in all sessions, but it`s more interesting to have a totally different setup in all sessions.
-ew
-----------------------------
"What happens when you read some doc and either it doesn't answer your question or is demonstrably wrong? In Linux, you say "Linux sucks" and go read the code. In Windows/Oracle/etc you say "Windows sucks" and start banging your head against the wall."
--- Denis Vlasenko on lkml

ew

Oh how stupid I am. The "minimize all windows" button already exists, and can be added by the configuration gui in lxpanel. At first it seems that it only minimizes the windows, but then I noticed the "Minimize All Windows-settings" when I right-clicked the panel, and  it turned out that it could be set to toggle. So now everything is fine, and I will continue to use the lxpanel. :D 
-ew
-----------------------------
"What happens when you read some doc and either it doesn't answer your question or is demonstrably wrong? In Linux, you say "Linux sucks" and go read the code. In Windows/Oracle/etc you say "Windows sucks" and start banging your head against the wall."
--- Denis Vlasenko on lkml

VastOne

#22
Hey PackRat...

Another question on this...

If I set an app in ~/.fluxbox/apps at a layer of {2} they effectively cover any panel, in this case the top right tint2 panel

The question ... Is there a way to set all applications to a {2} without having to add everything to ~/.fluxbox/apps

I am sure the answer is probably in the slit config

EDIT

Found the answer in the tint2 config...
VSIDO      VSIDO Change Blog    

    I dev VSIDO

PackRat

The apps file accepts wildcards

from memory so check my syntax -

[app] (class=*)
        [DECO]   {BORDER}
        [Layer]    {2}
[end]

Will cause every app to only display a border as window decorations (for that evilwm aesthetic) and put all apps on layer 2.

Be careful with it though, apps like fbrun need to be above other apps to work properly - you may cause some problems because any opened app will want to be above the existing apps - I don't know if Layer 2 works the way Layer 8 works in that regard.
I am tired of talk that comes to nothing.
-- Chief Joseph

...the sun, the darkness, the winds are all listening to what we have to say.
-- Geronimo

VastOne

^ Good to know..  The more I dive into FluxBox, the more powerful it gets

Thanks for the assist mate!
VSIDO      VSIDO Change Blog    

    I dev VSIDO

PackRat

I am tired of talk that comes to nothing.
-- Chief Joseph

...the sun, the darkness, the winds are all listening to what we have to say.
-- Geronimo