VSIDO Community

VSIDO Support => WM Designs and Discussions => Topic started by: VastOne on November 05, 2013, 02:46:04 AM

Title: FluxBox Slit
Post by: VastOne on November 05, 2013, 02:46:04 AM
I am having an issue with Slit in FluxBox with the lxpanel

As I understand slit, it will recognize a dock item as long as it is labeled as dock within it's configuration, for instance in conky you can put

own_window_type dock

and slit sees it fine in the slit list

However by telling lxpanel that it is a dock, lxpanel never shows up in the slit list (damn that sounds weird)...

Any suggestions?
Title: Re: FluxBox Slit
Post by: PackRat on November 05, 2013, 03:20:44 AM
I don't think the ~/.fluxbox/slitlist is autogenerated like the ~/.fluxbox/apps file.

Use xprop to get the window class for lxpanel and edit the slitlist accordingly.

edit - nope, didn't work. I guess that the lxpanel configuration to be "treated as a dock" is different than being a dockable app.
Title: Re: FluxBox Slit
Post by: VastOne on November 05, 2013, 03:23:33 AM
^ It does seem to auto-generate... If I have the slit file open and make a change to the conky configurations, it is updated immediately in the file...

I do not know how to use xprop and am off to search on it

Thanks...
Title: Re: FluxBox Slit
Post by: PackRat on November 05, 2013, 03:25:49 AM
In a terminal -

xprop

the mouse cursor will become a cross; click on the window you want the properties, the output will be in the original terminal.
Title: Re: FluxBox Slit
Post by: VastOne on November 05, 2013, 03:32:23 AM
^ I knew that... damn it has been too long... ::)

The first thing I did (incorrectly) was apt-cache policy xprop... DOH!

Thanks!
Title: Re: FluxBox Slit
Post by: VastOne on November 05, 2013, 03:38:53 AM
Just saw your edit on it not working... I am finding more and more issues with lxpanel, and frustrations. The very thing that I am trying to correct is actually a setting in lxpanel that is not working

There is a setting... 'Reserve space, and not covered by maximized windows' in lxpanel that is supposed to make 'Once that is checked, any windows created will not be placed under the panel.'

This checked off would give me the behavior I want, which is to allow any window to cover the panel/dock... it simply does not work checking it off.  I saw it work one time and for the life of me I have no idea why it worked then and not since

I wanted to use slit to see it as a dock and keep it under all windows at all times
Title: Re: FluxBox Slit
Post by: PackRat on November 05, 2013, 03:47:41 AM
I have both -

make window managers treat the panel as a dock
reserve space and not covered by maximized windows


check and it works - max windows don't cover the panel.

Unchecking just reserve space results in a maximized window going behind the panel; unchecking just the dock option and space is still reserved.

I suspect that the reserved space option is a strut policy only - I have no idea what the difference between strut policy, dock - and apparently dockable - could be.

edit -

This is the goal -

Quotewould give me the behavior I want, which is to allow any window to cover the panel/dock.

one solution - apparently, lxpanel is coded to open in a window manager's (fluxbox anyway) top layer. You can edit the ~/.fluxbox/apps file (in your editor of choice since lxpanel does not have the window menu) and add something like -

[app] (name=panel) (class=lxpanel)
  [Layer]  {8}
[end]


the name and class I got from xprop; fluxbox layers are:

   2 - Above Dock

    4 - Dock

    6 - Top

    8 - Normal

    10 - Bottom

    12 - Desktop


put lxpanel on layer 8, 10, 12 to have it covered by maximized windows.
Title: Re: FluxBox Slit
Post by: VastOne on November 05, 2013, 03:52:17 AM
^ I agree and it should work as advertised...

Both Jedi and I have had this same issue...

Here is a scrot that shoes the settings as correct and that it is not working... I have the browser pulled down below and it is under the panel

(http://www.zimagez.com/miniature/screenshot-11042013-094937pm.php) (http://www.zimagez.com/zimage/screenshot-11042013-094937pm.php)

What version of lxpanel are you using?  VSIDO or another version?
Title: Re: FluxBox Slit
Post by: PackRat on November 05, 2013, 04:05:05 AM
lxpanel version 0.6.1 - compiled from source.

actually using debian testing on my laptop as we type; seriously borked my vsido install the other day and haven't reinstalled.

edit - off to bed; best of luck amigo.
Title: Re: FluxBox Slit
Post by: VastOne on November 05, 2013, 04:07:11 AM
I thought that might be the case...

Do you have a link for the source you used?

I will compile it and use in on VSIDO

OMG, he borked VSIDO!!!!    :'(

How?
Title: Re: FluxBox Slit
Post by: VastOne on November 05, 2013, 04:10:03 AM
Found it...

Get some sleep mate...

Thanks for all this help!
Title: Re: FluxBox Slit
Post by: VastOne on November 05, 2013, 04:44:43 AM
Installed 6.1 and this issue is not resolved

Still doing the same behavior

If I understand that setting correctly, having it checked means it will stay above all and having it unchecked means it will stay below any window...

Think I will just go back to Tint2

Thanks PackRat   8)
Title: Re: FluxBox Slit
Post by: PackRat on November 05, 2013, 11:07:37 AM
That is how I interpret it - lxpanel is set either above or below other windows.

Have you checked lxpanel behavior with openbox?
edit - tried with openbox, same behavior.

Tinkering with it last night (see edited post above) it appears that lxpanel resides in Layer 6 or higher with fluxbox and that fluxbox is controlling the strut policy. I actually ran into something similar relating to how fluxbox deals with window assignments (a conky with compton issue). Setting the layer for lxpanel in the apps file appears to get you where you want to go.
Title: Re: FluxBox Slit
Post by: VastOne on November 06, 2013, 12:14:36 AM
Quote from: PackRat on November 05, 2013, 03:47:41 AM

This is the goal -

Quotewould give me the behavior I want, which is to allow any window to cover the panel/dock.

one solution - apparently, lxpanel is coded to open in a window manager's (fluxbox anyway) top layer. You can edit the ~/.fluxbox/apps file (in your editor of choice since lxpanel does not have the window menu) and add something like -

[app] (name=panel) (class=lxpanel)
  [Layer]  {8}
[end]


the name and class I got from xprop; fluxbox layers are:

   2 - Above Dock

    4 - Dock

    6 - Top

    8 - Normal

    10 - Bottom

    12 - Desktop


put lxpanel on layer 8, 10, 12 to have it covered by maximized windows.

Absolute genius!  Thanks so much PackRat!

I added this to ~/.fluxbox/apps

[app] (name=panel) (class=lxpanel)
  [Layer]  {8}
[end]


and restarted FluxBox and it works perfectly... Now I can say I am absolutely thrilled with lxpanel

I will make this the default behavior in VSIDO from this point forward

Thanks so much sir!
Title: Re: FluxBox Slit
Post by: ew on November 06, 2013, 02:34:03 AM
Nice that you got it as you wanted it too. I have another project, and are stopped by the fact that Fluxbox doesn`t treat lxpanel as a dock, even if I`ve set it to do just that. The slit doesn`t pick it up, regardless how I position it. But the slit works fine with Conky. Anyway, the slit couldn`t have solved it for me, because I can`t put both lxpanel and conky in it at the same time. So I got to find another solution. Turns out it isn`t as easy as I`ve thought. I`ve googled a lot and been at arch and many other forums, but it doesn`t seem that anyone has a solution for me. I know I can do it in openbox with tint2. The tint2-taskbar remains visible when you use "ToggleShowDesktop", so perhaps I could try a lxpanel in openbox to see if openbox respects the lxpanel as a dock, or alternatively try tint2-panel in fluxbox. It wouldn`t solve it for me, but it would reveal who is to blame, fluxbox or lxpanel :)

OK, I will not mess up my fluxbox-session, so I`m going to test lxpanel in openbox.... At least I know my way around there. So off I go :D

Edit. That was a quick test. Works fine in openbox. Super+d iconifies the windows and shows a clean desktop, but it keeps both the conky and lxpanel up. Not the answer I hoped for, but at least that limits my research to fluxbox. Well, that`ll have to be tomorrow. Hopefully I get a bit more free time to use on linux tomorrow. Nightynight, I`m signing off to sleep a little  :D

Title: Re: FluxBox Slit
Post by: PackRat on November 06, 2013, 03:28:21 AM
@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.
Title: Re: FluxBox Slit
Post by: ew on November 07, 2013, 12:20:03 AM
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:)
Title: Re: FluxBox Slit
Post by: PackRat on November 07, 2013, 03:34:55 AM
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.
Title: Re: FluxBox Slit
Post by: ew on November 07, 2013, 01:14:41 PM
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.
Title: Re: FluxBox Slit
Post by: 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 ...]
Title: Re: FluxBox Slit
Post by: ew on November 07, 2013, 09:31:35 PM
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.
Title: Re: FluxBox Slit
Post by: ew on November 08, 2013, 12:29:47 AM
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 
Title: Re: FluxBox Slit
Post by: VastOne on January 19, 2014, 05:07:03 PM
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...
Title: Re: FluxBox Slit
Post by: PackRat on January 19, 2014, 07:10:07 PM
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.
Title: Re: FluxBox Slit
Post by: VastOne on January 19, 2014, 07:11:32 PM
^ Good to know..  The more I dive into FluxBox, the more powerful it gets

Thanks for the assist mate!
Title: Re: FluxBox Slit
Post by: PackRat on January 19, 2014, 07:14:33 PM
No problem.