fuhsjr00 / bug.n

Tiling Window Manager for Windows
GNU General Public License v3.0
3.34k stars 214 forks source link

Possible to set all floating windows to show title bar? #224

Open throwyourboatsgently opened 4 years ago

throwyourboatsgently commented 4 years ago

I've read all the documentation and tried to find an answer to this myself, but I'm not a programmer and some of this stuff goes over my head. I apologize if this should have been explained already.

Anyway, what I'd like to do is this:

  1. New windows opened in the floating layout show title bars by default.
  2. Forcing a window to float in tile layout shows said window's title bar.
  3. Switching layout from floating to tiled hides open window title bars and vice versa.

I'm guessing all three options may not be possible. I would be pretty content if I could get (1) working if nothing else. Any help would be greatly appreciated.

Thanks.

joten commented 4 years ago

Currently, none of the three options is implemented.

1) New windows are handled by rules; if you know which windows should be shown together in a view with floating layout, you may achieve a similar functionality, but bug.n is not context (layout) sensitive in this way.

2) This functionality exists in parts with

#+d::Window_toggleDecor()
#+f::View_toggleFloatingWindow()

You may edit Config.ahk and add the following lines:

#+f::
    View_toggleFloatingWindow()
    Window_toggleDecor()
Return

-- Sorry, the code is not tested.

3) bug.n works on windows, layouts are just applied on a collection of windows and do not touch on individual window settings like title bars. It may be possible to add a layout which does do more than just moving and resizing windows.

throwyourboatsgently commented 4 years ago

Thanks for the response Joten. I have a better understanding of how this works now. I added the lines you suggested to Config.ahk and it sort of works. When you force a window to float the title bar will also pop up, but when you press #+f again to send the window back to tiling, the title bar stays visible, and the window next to it in the tiled layout suddenly shows a title bar.

If I have a floating window open in the tiled layout, and want to force it back into the tiling arrangement, should I be using #+f to do so? or is there a better way to do this?

joten commented 4 years ago

Sorry, Window_toggleDecor() is the less intrusive function and should go first. The following should work both ways:

#+f::
    Window_toggleDecor()
    View_toggleFloatingWindow()
Return

If I have a floating window open in the tiled layout, and want to force it back into the tiling arrangement, should I be using #+f to do so? or is there a better way to do this?

If the floating window was tiled before and therefor managed by bug.n, #+f is the right way to go. If it was newly opened and not recognized by bug.n, you may add the following code to Config.ahk and try using the hotkey WinShiftO, when the window is active:

#+o::
    Manager_override(".*;.*;;1;0;0;0;0;0;")
Return

Manager_override is an undocumented function.