Giter VIP home page Giter VIP logo

bsp-layout's Introduction

bsp-layout

Manage layouts in bspwm (tall and wide)

BSPWM does one thing and it does it well. It is a window manager. But some workflows require layout management to some extent. bsp-layout fills that gap.

Looking for maintainers

Dependencies

  • bash
  • bspc
  • bc
  • man

Installation

AUR

Arch users can install it from AUR bsp-layout or bsp-layout-git

# If you are using yay
yay -S bsp-layout

# Or for git master
yay -S bsp-layout-git

Install script

Others can install it directly using the install script.

Note: Please read scripts like these before executing it on your machine

curl https://raw.githubusercontent.com/phenax/bsp-layout/master/install.sh | bash -;

Clone and make

You can also clone the repo on your machine and run sudo make install in the cloned directory

Supported layouts

  • tall - Master-stack with a tall window.
_______________
|        |____|
|        |____|
|        |____|
|________|____|
  • rtall - Master-stack with a reversed tall window.
_______________
|____|        |
|____|        |
|____|        |
|____|________|
  • wide - Master-stack with a wide window.
_______________
|             |
|             |
|_____________|
|____|____|___|
  • rwide - Master-stack with a reversed wide window.
_______________
|____|____|___|
|             |
|             |
|_____________|
  • grid - Horizontal grid layout
_____________
|   |   |   |
|___|___|___|
|   |   |   |
|___|___|___|
  • rgrid - Vertical grid layout
_____________
|_____|_____|
|_____|_____|
|_____|_____|
  • even - Evenly balances all window areas
_______________
|___|____|____|
|___|____|____|
|___|____|____|

OR
_______________
|    |        |
|    |________|
|    |        |
|____|________|
  • tiled - Default bspwm's tiled layout
_______________
|        |    |
|        |____|
|        |  | |
|________|__|_|
  • monocle - Default bspwm's monocle layout
_______________
|             |
|             |
|             |
|_____________|

Usage

  • Help menu
bsp-layout help
  • Set a layout in desktop named 6 Not specifying the desktop will apply the layout on the focused desktop
bsp-layout set tall 6
  • Set tall layout to desktop with a 40% split Set the master size for layout
// Currently focused workspace
bsp-layout set tall -- --master-size 0.4

// Workspace 6
bsp-layout set tall 6 -- --master-size 0.4
  • Remove layout applied to desktop named 6 This will remove any layout applied
bsp-layout remove 6
  • Apply a layout on your focused workspace once This will apply the layout on the current set of nodes on that workspace but newer nodes won't conform to the layout.
bsp-layout once tall
  • Go back through layouts Go back through all (or a custom list of) layouts.
# Switch to previous layout
bsp-layout previous

# Or to go back through a custom list of layouts
bsp-layout previous --layouts tall,monocle,wide

# For a specific desktop
bsp-layout previous --layouts tall,monocle,wide --desktop 4
  • Go through layouts Go through all (or a custom list of) layouts.
# Switch to next layout
bsp-layout next

# Or to go through a custom list of layouts
bsp-layout next --layouts tall,monocle,wide

# For a specific desktop
bsp-layout next --layouts tall,monocle,wide --desktop 4
  • Toggle layout
# Toggle between monocle and tall layouts
bsp-layout next tall,monocle

Configuration

You can configure the size of the master window in percentage in $XDG_CONFIG_DIR/bsp-layout/layoutrc file. An example of that file can be found in example.layoutrc

mkdir ~/.config/bsp-layout && curl https://raw.githubusercontent.com/phenax/bsp-layout/master/example.layoutrc > ~/.config/bsp-layout/layoutrc;

bsp-layout's People

Contributors

amtoine avatar darkelectron avatar hellodhruvin avatar ivanmilov avatar phenax avatar totoroot avatar zakariagatter avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bsp-layout's Issues

New window never go on master

Hi

Thanks for making this app.
I would like to know if it would be possible to make the new windows take the place of the master automatically.
Currently the window i use remain in master while the new is always on the right (with the tall layout)

Error: Unknown Setting "automatic_scheme"

I installed bsp-layout on Ubuntu 18. I try running bsp-layout set grid and this is the output:

$ bsp-layout set grid
config: Unknown setting: 'automatic_scheme'.
config: Was expecting 1 or 2 arguments, received 5.
config: Unknown setting: 'automatic_scheme'.
config: Was expecting 1 or 2 arguments, received 5.
[7258]

It also does not seem to be working as the windows still get arranged in the default layout.

Can't create autostart layout

Sub-command once didn't work at other desktop
image

Very interesting behaviour
At desktop 1 i enter these commands:

[tw@arch-ng ~]$ bspc rule -a kitty:bspl desktop=6
[tw@arch-ng ~]$ bsp-layout set grid 6
[25695]
[tw@arch-ng ~]$ kitty --name bspl &
[1] 25724
[tw@arch-ng ~]$ kitty --name bspl &
[2] 25766
[tw@arch-ng ~]$ kitty --name bspl &
[3] 25808
[tw@arch-ng ~]$ kitty --name bspl &
[4] 25850

After that desktop 6 looks (no layout):
image
After that i create new node at desktop 6 and layout begins:
image
I think about events, so i create nodes at desktop 1 and layout listen for nodes at desktop 6, but can i create some layouts at boot via scripts with bsp-layout? If i create nodes first, bsp-layout set didn't organize them before new node appears, and bsp-layout once didn't work.

Info
Latest bsp-layout from AUR:

[tw@arch-ng ~]$ bsp-layout version

[tw@arch-ng ~]$

o_O

Incorrect layouts with floating nodes

Hi @phenax

This is a very minimal demo (running on the latest feature/grid branch in 0.0.4) in which floating nodes cause issues in the final layout.

screencast-layout-floating-nodes

The steps are very simple:

  1. Add 4 new windows
  2. Float the last one
  3. Execute bsp-layout once tall -- --master-size 0.5 and bsp-layout once rtall -- --master-size 0.5.

As you can see, floating nodes are not ignored which leads to incorrect layouts and the size of the floating node also changes dramatically. I often see this happening in configurations with scratchpad/dropdown terminals (regardless of whether the floating node is hidden or not)

Thanks!

Centeredmaster layout from DWM

Describe your request

The centered master layout would be really cool and useful for bsp-layout and isn't in many window managers except for awesome and DWM.

Briefly explain its use-case

  1. Install bsp layout
  2. bsp-layout set centeredmaster

Conflict with option `automatic_scheme longest_side` triggers a loop

Hi again @phenax

I upgraded to the latest version 0.0.4 and found a conflict when the option bspc config automatic_scheme longest_side (which is the default) is changed to bspc config automatic_scheme spiral.

In the following screencast, you can see a loop in the layouts only after changing to automatic_scheme spiral. It doesn't really matter the initial polarity (e.g. bspc config initial_polarity second_child)

screencast-automatic-scheme-conflict

Regards

The `bsp-layout` _listener_ prints empty lines to `stdout`

What did you expect to happen?

When i run bsp-layout {subcommand} especially bsp-layout set, i expect the command to either (1) print nothing to stdout if nothing has to be printed or (2) print useful information.

What actually happened?

When i run bsp-layout set tall 2, on first monitor, from desktop 4, on second monitor, and switch to desktop 2, bsp-layout prints empy lines to stdout

Here is a demo of the phenomenon!

Describe your attempts to resolve the issue

That looks like something buried in the code, so i think there is nothing to do from the user's perspective ๐Ÿ˜‹

Steps to reproduce

  1. open a terminal
  2. run bsp-layout set {layout} {some_desktop} (grid and even do not appear to have the problem)
  3. switch to some_desktop back and forth
  4. empty lines get printed to stdout in the original terminal

System Information

i've used make PREFIX=$PWD/build install to install bsp-layout

$ uname -osrm
Linux 5.18.5-arch1-1 x86_64 GNU/Linux
$ ./build/bin/bsp-layout version
0.0.10-1

Inconsistencies when changing layouts

Hi @phenax

I noticed small inconsistencies when moving from one layout to the next.

In the following screencast, bsp-layout once wide runs as usual, but then changing the layout to rtall leads to unexpected results and finally, running bsp-layout once rtallagain fixes the layout.

screencast-changing-layouts

I'm running bspwm 0.9.10-9-g853bb73 and bsp-layout 0.0.3

Thanks!

Master shrinks right down to minimum size after applying tall layout to desktop

I have the following in my bspwmrc to set the tall layout on my terminal desktop. For some reason, whenever I get a notification pop up or something like pinentry for gpg-agent, the master node's width shrinks right down. Maybe there's a setting I'm missing for floating windows that's interfering?

bsp-layout set tall 2

Add grid layout

________________
|____|____|____|
|____|____|____|
|____|____|____|
|____|____|____|

________________
|____|____|____|
|____|____|____|
|____|____|____|
|_______|______|

________________
|____|____|____|
|____|____|____|
|____|____|____|
|______________|

Master window size %?

Is it possible to set the default size of the master window? Now the master window is just 50% of the space, I would like it to be something lime 65%.
I'm using bsp-layout set wide I and bsp-layout set tall II.

New layout: symmetrical tall (for ultrawide screens)

Describe your request

Similar to issue #22 I would like to have an additional layout for my ultrawide screen, where the main column is in the center and remaining windows get arranged symmetrically to the left and right.

Since I'm quite familiar with the code base I will probably tackle this myself, but wanted to open an issue, so others looking for something similar can find it and so I can track my progress when working on this.

It would probably make sense to create two separate layouts which prioritise left or right, when opening new windows, so that it's similar to layouts tall and rtall but with symmetrical distribution.

Briefly explain its use-case

Example visualisation for suggested symmetrical layout with priorisation left (analog to rtall):

First window
 ______________________
|                      |
|                      |
|                      |
|______________________|

Second window
 ______________________
|   |                  |
|   |                  |
|   |                  |
|___|__________________|

Third window
 ______________________
|   |              |   |
|   |              |   |
|   |              |   |
|___|______________|___|

Fourth window
 ______________________
|   |              |   |
|___|              |   |
|   |              |   |
|___|______________|___|

Fifth window
 ______________________
|   |              |   |
|___|              |___|
|   |              |   |
|___|______________|___|

Add templates for bug reports and feature requests

I would like to add templates when opening issues, mainly for two reasons:

  • help people write issues easily
  • auto-label the issues

i think we could get inspiration from the issue tracker of doomemacs/doomemacs which is very cool!
ours would be greatly simplified to fit the needs of bsp-layout ๐Ÿ˜‹

  • i think the sections and the required ones are sensible and, with the text areas, it is very easy to fill in ๐Ÿ‘
  • obviously, the comments can be removed and only the titles and the boxes are really usefull, with maybe some of the comments

finally, i thought about auto-labelling as follows:

  • enhancement and needs-triage for the feature requests
  • unverified and needs-triage for the bug reports

what are your thoughts about that @phenax? ๐Ÿ˜Š
you can see what it could look like on the issue tracker of doomemacs and, if that's ok, i could show you, here or in a PR directly, a greatly simplified version of this ๐Ÿ˜‰

Second windowed open becomes Master with "rtall" layout

Hi,

Thanks for this project. I noticed something peculiar with the "rtall" layout in that the second opened window overtakes the Master window position. Moving the one single window I had opened be put in the "tall" stack. Any subsequent windows opened opens as expected.

I'll see if I can manage to solve this, but if not I thought I'd make an issue here.

incorrect master size

bspwm 0.9.10
bsp-layout 10-05-2021 commit

bspwmrc:

#!/nix/store/xvvgw9sb8wk6d2c0j3ybn7sll67s3s4z-bash-4.4-p23/bin/bash
bspc monitor Virtual1 -d 1 2 3 4 5 6 7 8 9
bspc config active_border_color '#bd93f9'
bspc config border_width 1
bspc config borderless_monocle true
bspc config focused_border_color '#ff79c6'
bspc config gapless_monocle true
bspc config normal_border_color '#44475a'
bspc config presel_feedback_color '#6272a4'
bspc config split_ratio 0.500000
bspc config window_gap 12
bspc rule -a Emacs state='tiled'
# java gui fixes
export _JAVA_AWT_WM_NONREPARENTING=1
bspc rule -a sun-awt-X11-XDialogPeer state=floating

These are 2 terminal windows in tall layout (one is too small, highlighted on the left)

image

Unnecessary dependencies

What did you expect to happen?

There should be no dependency to bc, because it isn't used anywhere in the scripts.

What actually happened?

https://github.com/phenax/bsp-layout/blob/master/src/utils/common.sh aborts, if bc isn't installed.

Describe your attempts to resolve the issue

Nothing done so far.

Steps to reproduce

  1. Uninstall bc or rename bc, e.g. mv /usr/bin/bc /usr/bin/bc.off
  2. Run bsp-layout
  3. bsp-layout aborts with "[Missing dependency] bsp-layout needs bc installed"
  4. Don't forget to reinstall bc or revert the renaming: mv /usr/bin/bc.off /usr/bin/bc

System Information

I installed the bsp-layout command with make DESTDIR=/tmp/destdir install.

$ uname -osrm
Linux 5.15.0-56-generic x86_64 GNU/Linux
$ /tmp/destdir/usr/local/bin/bsp-layout version
0.0.10-1

reloading bsp-layout with no layout raises an error

I am testing out the script right now.

without any layout set with bsp-layout, running bsp-layout reload gives the following error:

ls: cannot access '/tmp/bsp-layout.state/desktops': No such file or directory

i think it would be nice to have a proper error message for the user! ๐Ÿ˜‹

what about something like the following? ๐Ÿ™‚

$ bsp-layout
No layout is currently registered by `bsp-layout` ('/tmp/bsp-layout.state/desktops' does not exist).
Try to register your first layout with `bsp-layout set`.
If the problem persists, please report the issue on https://github.com/phenax/bsp-layout/issues.
Terminating...

bsp-layout won't reinstall after uninstall

I was trying to look at which files were being installed with bsp-layout and bsp-layout-git through the AUR, see #44.
I tried to uninstall the packages and reinstall them to see the changes in /usr/ but now i am not able to reinstall the packages anymore...

i'll investigate that further tomorrow and keep you up to date on that ๐Ÿ‘

Deleting master window in tall layout changes width of (new) main window

What did you expect to happen?

I expected the new master window, upon deletion, to take the exact same amount of screen space as the deleted one.

What actually happened?

The new master window, upon deletion, takes a lot less width than the deleted window.

Describe your attempts to resolve the issue

I tried refreshing the layout by using reload
I tried setting to a different layout and back to tall
I tried using once and setting the layout to tall

Steps to reproduce

  1. start bsp-layout as tall
  2. make windows
  3. delete main window
  4. see new main window size be very thin instead of the expected width :(

System Information

I installed it via the AUR

`--master-size` does not include display padding in available screen space calculation

What did you expect to happen?

When I use bsp-layout to set a tiling layout and using the --master-size flag, I expect the size of the master window to be a percentage of screen space available after calculating padding.

What actually happened?

When I use bsp-layout to set a tiling layout and using the --master-size flag with a given value X, while varying the display padding of that workspace (globally or locally), the size of the master window is constant (and appears to be calculated in terms of the total display size minus window_gap).

Describe your attempts to resolve the issue

Haven't tried yet, but all that should be needed is to include the most specific defined value from global/monitor/workspace padding settings in the calculation of available monitor space.

I'll put some time into this soon - I'm mainly raising the issue for confirmation that the change I'm proposing here is desired. Assuming that maybe other folks just don't pad their screens as drastically as I do, so a need for to adjust for it has just never surfaced, but that's just an assumption.

Steps to reproduce

These commands were run on a 3440x1440 monitor with 4 terminal windows open.

$ bspc config left_padding 488
$ bspc config right_padding 1288
$ bsp-layout set tall I -- --master-size 0.3
$ xdotool getactivewindow getwindowgeometry
Window 25165827
  Position: 520,76 (screen: 0)
  Geometry: 998x1330
$ bspc config left_padding 0
$ bspc config right_padding 0
$ bsp-layout set tall I -- --master-size 0.3
$ xdotool getactivewindow getwindowgeometry
Window 25165827
  Position: 32,76 (screen: 0)
  Geometry: 998x1330

Note that the master window is shifted to the left but not resized.

System Information

Installed bsp-layout to /usr using a modified AUR PKGBUILD to use latest master commit (actually the tip of #77, but the change in that branch shouldn't be consequential to this behavior - I can also reproduce in latest master).

OS arch:

$ uname -osrm
Linux 6.9.4-arch1-1 x86_64 GNU/Linux

Monitor select

Hi, thank you for all this effort.
I assume, it is possible to add a monitor choice not only desktop.
How could one achieve this ?
thank you

paum

the once subcommand shows strange behaviour

still testing the features of the script to understanding it better (@phenax note that my goal is not to open issues really, but to be able to solve the other ones and to tackle the PR reviews ๐Ÿ˜‰)

bsp-layout once appears to work quite well on the current desktop, but i get the following when trying to change once the layout on another desktop:

~ โฏ bsp-layout once monocle 2
grep: 2$: No such file or directory
bash: Layout [/usr/local/lib/bsp-layout/layouts/monocle.sh] does not exist: No such file or directory
bash: Layout [/usr/local/lib/bsp-layout/layouts/monocle.sh] does not exist: No such file or directory
bash: Layout [/usr/local/lib/bsp-layout/layouts/monocle.sh] does not exist: No such file or directory

which looks suspiciously close to the following real error, as the layout does not exist

~ โฏ bsp-layout once djalwkd 2
grep: 2$: No such file or directory
bash: Layout [/usr/local/lib/bsp-layout/layouts/djalwkd.sh] does not exist: No such file or directory
bash: Layout [/usr/local/lib/bsp-layout/layouts/djalwkd.sh] does not exist: No such file or directory
bash: Layout [/usr/local/lib/bsp-layout/layouts/djalwkd.sh] does not exist: No such file or directory

HOWEVER, even though it is true that /usr/local/lib/bsp-layout/layouts/monocle.sh does not exist, bsp-layout set monocle 2 does work fine ๐Ÿ˜‹

Ignore floating or hidden window

I have floating and hidden window, can you resize the parent of the floating or hidden window to match to the other one? like this

Tiled

_______________
|        |    |
|        |----|
|        | xx |
|        |----|
|________|____|

Floating or Hidden

_______________
|        |    |
|        |    |
|        |    |
|        |----|
|________|____|

What i want

_______________
|        |    |
|        |    |
|        |----|
|        |    |
|________|____|

Add output in terminal for all layout changes

Describe your request

Currently, when switching between all available layouts, some of the operations shows the change information in terminal output, such as "tiled:monocle", but some layout changes do not show this information in the terminal.

Briefly explain its use-case

  1. Adding this feature will help in creation of better custom scripts for users, like adding notifications for changing between layouts;

Script applies also to floating windows

I'm using bspwm on Arch Linux and when I have a desktop set to the tall layout and open more than one floating window, the previous one gets squished weirdly as if it was tiled and the script wanted to resize it. The script's functionality should be limited only to tiled windows.

Option to reverse layouts

What are the chances we could have reverse layouts? For example, with the tall layout, I'd like to have the master on the right and the stack on the left. Is that easy to implement?

Re-arranging (not current) desktop

I would love, if bsp-layout could re-arrange not only current focused desktop.

Current behaviour is, that if I change layout on other than focused desktop, the new layout is applying only, if I focus to this desktop and create a new window there.

thank you

Replace "bsp-layout cycle" with "bsp-layout {next,prev}"?

I think the cycle parameter should be replace with next and prev - much like in other default commands.

So I could do something like:

super + {p,o}
bsp-layout {next,prev}

Really, bsp-layout next would do the same thing as the existing bsp-layout cycle, but with the added option of going back a layout with bsp-layout prev.

If this feature already exists, feel free to close this issue.

Looking for maintainers

I started this project was because an optional ability to have dynamic layouts was the only piece I found missing from my bspwm workflow. One day, while browsing reddit, I found a script that was exploring tiling layout with bspwm. I used it in my workflow and start playing around with it. Eventually I thought I should move it out of my dotfiles turn it into it's own project which I did and from there it became a layout manager.

I am really proud that so many people found this tool useful. However, I am unable to make time to work on this project any more. I would really like this project to be active which is why I am looking for a new set of maintainers.

More specifically, I am looking for people who could pick up one or more of the following responsibilities -

  • Feature development
  • Bug fixes
  • Pull request reviews
  • Testing prs and attempting to reproduce reported issues
  • Maintaining the AUR package
  • Publishing and maintaining packages on other package repositories

If you have any questions regarding this or you're interested in helping out, leave a comment to this issue.

Using Makefile instead of install script

This will make it easier for a packager (and users) to control how things go into the system (through flags), instead of accepting the hard coded settings (man page path, binary path, ...).

Inconsistent behavior with --master-size flag

What did you expect to happen?

When I set a layout with the --master-size flag set, I expect the master window to occupy a section of the window that takes up that percentage of the area.

What actually happened?

I ran the following sequence of commands on a workspace called I. Before the tall layout was set, the workspace was configured with default bspwm tiling behavior. The workspace was typically tested with a configuration of four terminal windows (hence measurements below given in terms of monospace characters.)

  • bsp layout set tall I -- --master-size 0.3
    The layout is configured, with no change to the dimensions of the designated master window. All other windows on screen are arranged vertically in the space not occupied by the master window.
  • bsp layout set tall I -- --master-size 0.6
    No visible change occurs.

Trying again with a fractional representation of the same value:

  • * bsp layout set tall I -- --master-size 3/10`
    The master window width is decreased to a width of approximately 1 monospace character. The stacked windows are all stretched to occupy the remaining screen width.

  • * bsp layout set tall I -- --master-size 6/10`
    The window stack width is decreased to a width of approximately 1 monospace character. The master window is stretched to occupy the remaining screen width.

Describe your attempts to resolve the issue

I reverted the removal of bc to handle the calculation of the master window size. This appears to be the fix; I'll push a PR shortly after posting this bug.

Steps to reproduce

See the above answer to the question "What actually happened?"

System Information

Installed bsp-layout using a modified AUR PKGBUILD to use latest master commit.

OS arch:

$ uname -osrm
Linux 6.9.4-arch1-1 x86_64 GNU/Linux

Multiple master layout?

________________
|    |    |____|
|    |    |____|
|    |    |____|
|____|____|____|

Might be a weird request, but i am using an ultrawide and this would be awesome. :D

Use the full switches and flags of the `bspc` command

Describe your request

Before moving on to the 3 opened priority:high issues, i wanted to make the code base slightly easier to work with, at least according to me ๐Ÿ˜‹

Currently, the bspc command is mostly used with the reduced forms of its flags and switches, e.g. bspc query -T -m instead of bspc query --tree --monitor.

I think it would be easier for the new users and the devs to have the full flags and switches of bspc in the code base.

Briefly explain its use-case

We will have to replace all the occurences of the reduced flags of bspc in the whole code base.

Add complete documentation to all the functions and files

Describe your request

Before moving on to the 3 opened priority:high issues, i wanted to make the code base slightly easier to work with, at least according to me ๐Ÿ˜‹

Right now, some of the functions and files of bsp-layout are missing documentation.

I would like to add:

  • comments on some parts that might be unclear to the new user or the new devs
  • docstrings on all the functions to have a clear description available directly in the code base
  • signature annotations for all the functions, i.e. input argument and output return values if they exist.

Briefly explain its use-case

The docstrings and the signatures should be discussed here.

Docstrings:

foo () {
  # Does something.
  # 
  # Args:
  #   arg1 (type1): this is the first argument
  #   arg2 (type2): this is the second argument
  # 
  # Returns:
  #   return_value (type_return): this is the return value
  # 
  bar
  baz
  ...
}

Signatures:
do we use someting like

# (Data ->) :: Key -> Value -> Data
append_option() { sed "/^$1:/d"; echo "$1:$2"; }

or
something more spread across the docstring like in the docstring example above?

Make the name of the command more consistent with the base project

Describe your request

In the base project before bsp-layout, we have the Binary Search Partitioning Window Manager (the bspwm package) and the Binary Search Partitioning Controller (the bspc command).

I would like to ship the bspl command, i.e. the Binary Search Partitioning Layout manager command, to be more coherent with the bspwm base project ๐Ÿ˜‹

and also to have a simpler command to type each time tests have to be done ๐Ÿ˜‰

Briefly explain its use-case

Well, bspl would be the new command to use, i.e. it would be the one mentioned in the README and other places, but bsp-layout would still be installed with the whole lib for back-compatibility reasons.

Set the master size for layouts in `bsp-layout once`

HI @phenax,

Excellent project :-)

I found that it is not currently possible to set the master size for bsp-layout once. For example, the following command ignores --master-size:

bsp-layout once tall -- --master-size 0.3

Here you can see an example of this behavior. In the first part of this demo, bsp-layout set tall -- --master-size 0.3 is executed (which works correctly) and then successive values of master-size for bsp-layout once tall -- --master-size are ignored.

screencast-master-size

I'm running bspwm 0.9.10-9-g853bb73 and bsp-layout 0.0.3

Thanks!

window focus

hello
when i am in tall layout and open a bunch of windows
and then close the windows,
as soon as i have just 3 windows open,
bspwm freaks out completely and shifts focus between the windows at maximum speed forever

also when i run
bsp-layout once tiled, the currently open windows are not effected by this, only new windows open tiled
bsp-layout set tiled gives me an error and says tilded layout does not exist
bsp-layout remove tall does not seem to work either in this case
(i set the default layout to tall on all desktops)

UPDATE: problem fixed
i had a rather old version of bspwm (from debian repos)
compiling the latest version fixed my problem

Fail to install with curl install script

I'm on the latest Linux Mint version with zsh as my default shell.
I tried installing via the curl install.sh script but found that it fails due to syntax issues.
Since the script is piping to sh, and it seems(atleast in my system), sh doesnt support some bash syntax.

For a fix I changed the sh to bash and everything went.
I'm not sure if it's still relevant now as the new installation method fixes it altogether but I figured it wouldnt hurt for anyone else who would use it and get the error.

The config doesn't get sourced

I installed the AUR package and layoutrc, doesn't get sourced. Windows always split 50/50.

*I have now tried to install it with the install script provided in the readme. Loged out of bspwm and back in, same result.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.