Cortile - auto tiling manager

Moderator: Forum moderators

User avatar
rockedge
Site Admin
Posts: 6659
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 2844 times
Been thanked: 2703 times
Contact:

Re: Cortile - auto tiling manager

Post by rockedge »

@geo_c seems like a hassle to get snixembed as a binary I can install in F96.

First attempts at compiling it failed. Perhaps downloading the Void Linux xbps package of it and manually putting it in?

geo_c
Posts: 2886
Joined: Fri Jul 31, 2020 3:37 am
Has thanked: 2203 times
Been thanked: 884 times

Re: Cortile - auto tiling manager

Post by geo_c »

rockedge wrote: Tue Feb 06, 2024 4:17 pm

@geo_c seems like a hassle to get snixembed as a binary I can install in F96.

First attempts at compiling it failed. Perhaps downloading the Void Linux xbps package of it and manually putting it in?

Not sure I follow, because the tray icon works well in Xfce, and cortile seems to be geared toward Xfce. It's F96 that needs the icon. Though my work-around keybinding methods for starting and stopping seemed to work fine in F96 last I checked.

geo_c
Old School Hipster, and Such

geo_c
Posts: 2886
Joined: Fri Jul 31, 2020 3:37 am
Has thanked: 2203 times
Been thanked: 884 times

Re: Cortile - auto tiling manager

Post by geo_c »

@rockedge I just figured out why it hangs, I had an extra set of quotes in one of the keybindings.

When the config has an error you get no messages or anything so it's hard to tell what's going on.

EDIT: Making some headway now!

geo_c
Old School Hipster, and Such

User avatar
rockedge
Site Admin
Posts: 6659
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 2844 times
Been thanked: 2703 times
Contact:

Re: Cortile - auto tiling manager

Post by rockedge »

@geo_c I am attempting to get the cortile icon in the tray dock on F96-CE_4. So I am looking for snixembed to install it in F96.

I can't seem to get a pre-built binary of it so I attempted a compile of snixembed on F96 but it fails to find this and that.

Void Linux has a package but the URL renders a NGINX bad referrer error, so I will install it on KLV-Airedale-RT and take the downloaded package from /var/cache/xbps.

User avatar
rockedge
Site Admin
Posts: 6659
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 2844 times
Been thanked: 2703 times
Contact:

Re: Cortile - auto tiling manager

Post by rockedge »

@geo_c I just used the command line xbps-install to install it then grabbed the package from /var/cache/xbps then using UExtract decompressed the package and manually will transfer it to the F96 machine via SAMBA.

Excellent you found the problem was a syntax error! I am using your original config file but will update to what you have going now, when you pass it along :geek:

geo_c
Posts: 2886
Joined: Fri Jul 31, 2020 3:37 am
Has thanked: 2203 times
Been thanked: 884 times

Re: Cortile - auto tiling manager

Post by geo_c »

rockedge wrote: Tue Feb 06, 2024 5:02 pm

@geo_c I just used the command line xbps-install to install it then grabbed the package from /var/cache/xbps then using UExtract decompressed the package and manually will transfer it to the F96 machine via SAMBA.

Excellent you found the problem was a syntax error! I am using your original config file but will update to what you have going now, when you pass it along :geek:

Yes I'm actually almost done, and what I'm doing is coming up with keybindings that don't use the number pad, and they are working, but not quite as intuitive as using the number pad.

Best I can tell from my tests, cortile doesn't seem to be able to assign two bindings to the same function, so I'm leaving the number pad bindings in the config but commented out.

I wish I could have both, because I like the number pad bindings, but I'm thinking of all the machines I have that don't have a number pad, and for others in the same boat, that would leave the functionality a bit crippled. So these bindings I'm working on use a lot of letters, and a few punctuation marks.

edit: Actually these keybindings I have set up are mostly easier to reach with one hand.

geo_c
Old School Hipster, and Such

User avatar
Sofiya
Posts: 2324
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1494 times
Been thanked: 1570 times

Re: Cortile - auto tiling manager

Post by Sofiya »

Assembled in KLV cortile-2.1_1.x86_64.xbps
https://mega.nz/file/j8FDkaoD#yndHH-zjl ... 7r8XkGJC9I

And added to sessions and startup

Attachments
Screenshot.png
Screenshot.png (117.64 KiB) Viewed 2541 times
Снимок экрана_2024-02-06_21-21-16.png
Снимок экрана_2024-02-06_21-21-16.png (131.53 KiB) Viewed 2543 times

KL-Linux
KL LINUX Simple fast free

User avatar
gychang
Posts: 604
Joined: Fri Aug 28, 2020 4:51 pm
Location: San Diego, CA
Has thanked: 211 times
Been thanked: 64 times

Re: Cortile - auto tiling manager

Post by gychang »

rockedge wrote: Tue Feb 06, 2024 3:44 pm

I also am looking at the scripts to possibly solve the missing tray icon in F96-CE_4. I am breaking things wildly but have instance1 - instance10 of F96's to jump around. (jump jump, jump around........)

I tried cortile in F96 in /usr/local/bin for minute then moved it, but will also move it there now from /root/my-applications/bin, where it does work but doesn't seem like a good default location for it.

@rockedge
I am using cortile binary in /root/Startup/ and seems to work with F96-CE4. Also missing cortile tray icon but can live with it...

======

Puppy Bytes, utube videos
https://www.youtube.com/channel/UCg-DUU ... u62_iqR-MA

======

User avatar
Keef
Posts: 279
Joined: Tue Dec 03, 2019 8:05 pm
Has thanked: 3 times
Been thanked: 75 times

Re: Cortile - auto tiling manager

Post by Keef »

@rockedge
I found out how to compile snixembed. Add

Code: Select all

--girdir=/usr/share/gir-1.0-64

to the VFLAGS line in the Makefile.
Not that I've got anywhere with it. I put

Code: Select all

snixembed --fork 

in xinitrc as described in the readme, and uncommented the icon section of the config file, then restarted X.
Nothing blew up, but no icon.
This is on FatDog with openbox/lxpanel.
EDIT - forgot to say, I had to add libdbusmenu-glib which I got via Gslapt.

User avatar
rockedge
Site Admin
Posts: 6659
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 2844 times
Been thanked: 2703 times
Contact:

Re: Cortile - auto tiling manager

Post by rockedge »

@Keef Thanks!

I tried it but still end up with errors compiling in F96-CE_4

geo_c
Posts: 2886
Joined: Fri Jul 31, 2020 3:37 am
Has thanked: 2203 times
Been thanked: 884 times

Re: Cortile - auto tiling manager

Post by geo_c »

I kind of had to go to my job and couldn't get to making a splash and all that. But I put the cortile config on my SR-2 and F96 at work on a very old laptop, working great.

So if you want to play around with the config, here it is:

config.toml.tar.gz
(2.33 KiB) Downloaded 54 times

These keybindings are actually very nice.

For instance if you want to place the active window in master Ctrl+Shift+A
If you want to make the next window master Ctrl+Shift+N

and so forth.

I'll get to the splash late tonight.

Code: Select all

################################################################################
#                                                                              #
#           https://github.com/leukipp/cortile/blob/main/config.toml           #
#                                                                              #
################################################################################

#################################### Tiling ####################################

# Tiling will be enabled on application start if set to true (true | false).
tiling_enabled = true

# Initial tiling layout ("fullscreen" | "vertical-left" | "vertical-right" | "horizontal-top" | "horizontal-bottom").
tiling_layout = "vertical-right"

# An overlay window is displayed for this time period [ms] when the layout was changed (0 = disabled).
tiling_gui = 1500

# Menu entries in systray which shows the tiling state as icon ([] = disabled).
# tiling_icon = [
#   ["ACTION", "TEXT"] = ["action strings from [keys] section", "text to show in the menu"],
#   ["", ""] = "show a separator line",
# ]
tiling_icon = [
    ["toggle", "Enabled"],
    ["", ""],
    ["master_increase", "Add Master"],
    ["master_decrease", "Remove Master"],
    ["", ""],
    ["slave_increase", "Add Slave"],
    ["slave_decrease", "Remove Slave"],
    ["", ""],
    ["exit", "Exit"],
]

#################################### Window ####################################

# Regex RE2 syntax to ignore windows (WM_CLASS string can be found by running `xprop WM_CLASS`).
# window_ignore = [
#   ["WM_CLASS", "WM_NAME"] = ["ignore all windows with this class", "but allow those with this name"]
# ]
window_ignore = [
    ["nm.*", ""],
    ["gcr.*", ""],
    ["polkit.*", ""],
    ["wrapper.*", ""],
    ["lightdm.*", ""],
    ["blueman.*", ""],
    ["pavucontrol.*", ""],
    ["firefox.*", ".*Mozilla Firefox"],
    ["gtkdialog.*", ""],
    ["Gtkdialog.*", ""],
]

# Maximum number of allowed master windows (0 - 5).
window_masters_max = 3

# Maximum number of allowed slave windows (1 - 5).
window_slaves_max = 3

# How much space should be left between windows (0 - 100).
window_gap_size = 10

# Window decorations will be removed if set to false (true | false).
window_decoration = true

################################## Proportion ##################################

# Initial division of master-slave area (0.0 - 1.0).
proportion = 0.6

# How much to increment/decrement master-slave area (0.0 - 1.0).
proportion_step = 0.05

# Minimum window width/height in proportion to workspace (0.0 - 1.0).
proportion_min = 0.2

##################################### Edge #####################################

# Margin of the tiling area ([top, right, bottom, left]).
edge_margin = [0, 0, 0, 0]

# Margin of the tiling area on primary screen ([top, right, bottom, left]).
edge_margin_primary = [0, 0, 0, 0]

# Width and height of a hot-corner area within the edge corners (0 - 100).
edge_corner_size = 10

# Width or height of a hot-corner area within the edge centers (0 - 100).
edge_center_size = 100

################################################################################
[colors]                             # RGBA color values used for ui elements. #
################################################################################

# Layout window text color.
gui_text = [255, 255, 255, 255]

# Layout window background color.
gui_background = [30, 30, 40, 255]

# Layout slave client rectangle color.
gui_client_slave = [58, 58, 78, 255]

# Layout master client rectangle color.
gui_client_master = [98, 98, 128, 255]

# Systray icon background color.
icon_background = [0, 0, 0, 0]

# Systray icon foreground color.
icon_foreground = [255, 255, 255, 255]

################################################################################
[keys]                            # Key symbols can be found by running `xev`. #
################################################################################

# Enable tiling on the current screen (Home = Fn_Left).
enable = "Control-Shift-Home"

# Disable tiling on the current screen (End = Fn_Right).
disable = "Control-Shift-End"

# Disable tiling and restore windows on the current screen.
restore = "Control-Shift-R"

# Toggle between enable and disable on the current screen.
toggle = "Control-Shift-T"

# Cycles through next layouts (Next = Page_Down).
# cycle_next = "Control-Shift-Next"

# Cycles through next layouts ALTERNATE BINDING.
cycle_next = "Control-Shift-period"

# Cycles through previous layouts (Prior = Page_Up).
# cycle_previous = "Control-Shift-Prior"

# Cycles through previous layouts ALTERNATE BINDING.
cycle_previous = "Control-Shift-comma"

# Activates the fullscreen layout (Space = Blank).
layout_fullscreen = "Control-Shift-Space"

# Activates the vertical-left layout (Left = Arrow_Left).
layout_vertical_left = "Control-Shift-Left"

# Activates the vertical-right layout (Right = Arrow_Right).
layout_vertical_right = "Control-Shift-Right"

# Activates the horizontal-top layout (Up = Arrow_Up).
layout_horizontal_top = "Control-Shift-Up"

# Activates the horizontal-bottom layout (Down = Arrow_Down).
layout_horizontal_bottom = "Control-Shift-Down"

# Make the active window a master (KP_5 = Num_5).
# master_make = "Control-Shift-KP_5"

# Make the active window a master ALTERNATE BINDING.
master_make = "Control-Shift-A"

# Make the next window a master (KP_6 = Num_6).
# master_make_next = "Control-Shift-KP_6"

# Make the next window a master ALTERNATE BINDING.
master_make_next = "Control-Shift-N"

# Make the previous window a master (KP_4 = Num_4).
# master_make_previous = "Control-Shift-KP_4"

# Make the previous window a master ALTERNATE BINDING.
master_make_previous = "Control-Shift-P"

# Increase the number of masters (KP_Add = Num_+).
# master_increase = "Control-Shift-KP_Add"

# Increase the number of masters ALTERNATE BINDING.
master_increase = "Control-Shift-L"

# Decrease the number of masters (KP_Subtract = Num_-).
# master_decrease = "Control-Shift-KP_Subtract"

# Decrease the number of masters ALTERNATE BINDING.
master_decrease = "Control-Shift-H"

# Increase the number of slaves (Plus = +).
# slave_increase = "Control-Shift-Plus"

# Increase the number of slaves ALTERNATE BINDING.
slave_increase = "Control-Shift-K"

# Decrease the number of slaves (Minus = -).
# slave_decrease = "Control-Shift-Minus"

# Decrease the number of slaves ALTERNATE BINDING.
slave_decrease = "Control-Shift-J"

# Increase the proportion of master-slave area (KP_3 = Num_3).
# proportion_increase = "Control-Shift-KP_3"

# Increase the proportion of master-slave area ALTERNATE BINDING.
proportion_increase = "Control-Shift-W"

# Decrease the proportion of master-slave area (KP_1 = Num_1).
# proportion_decrease = "Control-Shift-KP_1"

# Decrease the proportion of master-slave area ALTERNATE BINDING.
proportion_decrease = "Control-Shift-Q"

# Moves focus to the next window (KP_2 = Num_2).
# window_next = "Control-Shift-KP_2"

# Moves focus to the next window ALTERNATE BINDING.
window_next = "Control-Shift-F"

# Moves focus to the previous window (KP_8 = Num_8).
# window_previous = "Control-Shift-KP_8"

# Moves focus to the previous window ALTERNATE BINDING.
window_previous = "Control-Shift-D"

# Exit cortile.
exit = "Control-Shift-x"

# The commands above will affect all screens if this key is pressed in addition (Mod1 = Alt_L).
mod_screens = "Mod1"

# The commands above will affect all workspaces if this key is pressed in addition (Mod4 = Super_L).
mod_workspaces = "Mod4"

################################################################################
[corners]                   # Action strings from [keys] or external commands. #
################################################################################

# Corner at top left.
top_left = "window_previous"

# Corner at top center.
top_center = ""

# Corner at top right.
top_right = "master_make"

# Corner at center right.
center_right = ""

# Corner at bottom right.
bottom_right = "proportion_increase"

# Corner at bottom center.
bottom_center = ""

# Corner at bottom left.
bottom_left = "proportion_decrease"

# Corner at center left.
center_left = ""

################################################################################
[systray]                   # Action strings from [keys] or external commands. #
################################################################################

# Icon left click with pointer.
click_left = ""

# Icon middle click with pointer.
click_middle = "toggle"

# Icon right click with pointer.
click_right = ""

# Icon vertical scroll up with pointer.
scroll_up = "cycle_previous"

# Icon vertical scroll down with pointer.
scroll_down = "cycle_next"

# Icon horizontal scroll left with pointer.
scroll_left = "proportion_decrease"

# Icon horizontal scroll right with pointer.
scroll_right = "proportion_increase"

geo_c
Old School Hipster, and Such

User avatar
Sofiya
Posts: 2324
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1494 times
Been thanked: 1570 times

Re: Cortile - auto tiling manager

Post by Sofiya »

As we say, it will go with beer ;)

Attachments
config.toml.false.gz
(7.43 KiB) Downloaded 63 times
Снимок экрана.png
Снимок экрана.png (212.68 KiB) Viewed 2487 times

KL-Linux
KL LINUX Simple fast free

User avatar
rockedge
Site Admin
Posts: 6659
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 2844 times
Been thanked: 2703 times
Contact:

Re: Cortile - auto tiling manager

Post by rockedge »

@geo_c, I was able to compile snixembed on F96-CE_4 !

Screenshot(1).png
Screenshot(1).png (107.74 KiB) Viewed 2434 times

I placed the binary in /usr/bin and started it in a terminal for a test with :

Code: Select all

snixembed --fork

Looking at the tray bar suddenly the proper icon appeared!

Screenshot(1).jpg
Screenshot(1).jpg (31.9 KiB) Viewed 2429 times

To prepare the build I had to install the dependencies then include the required library paths. In the build terminal:

Code: Select all

export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/include/gtk-3.0:/usr/lib64/pkgconfig
pkg-config --cflags gtk+-3.0
pkg-config --libs gtk+-3.0
make

Attached is the resulting binary tested on F96-CE_4 with a stock kernel 6.0.12

Attachments
snixembed.tar.gz
extract the binary
(31.94 KiB) Downloaded 85 times
geo_c
Posts: 2886
Joined: Fri Jul 31, 2020 3:37 am
Has thanked: 2203 times
Been thanked: 884 times

Re: Cortile - auto tiling manager

Post by geo_c »

rockedge wrote: Wed Feb 07, 2024 3:31 am

@geo_c, I was able to compile snixembed on F96-CE_4 !
Screenshot(1).png

Fantastic, I've totally been enjoying this tiler.

And here's a hotkey splash to go with the config I posted previously:

Cortile-hotkeys_DarkBlueCloudyBlue.sh.FALSE.gz
(1.84 KiB) Downloaded 75 times

config found here: viewtopic.php?p=111277#p111277

Image

geo_c
Old School Hipster, and Such

User avatar
Sofiya
Posts: 2324
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1494 times
Been thanked: 1570 times

Re: Cortile - auto tiling manager

Post by Sofiya »

Change the color of the tray icon, white is not visible at all on a light tray
RGB color palette https://www.rapidtables.com/web/color/RGB_Color.html
don't touch the last 255

108-109 line

Code: Select all

# Systray icon foreground color.
icon_foreground = [34, 42, 159, 255]

Place in /root/Startup

Code: Select all

#!/bin/sh
snixembed --fork && cortile 
Attachments
cortile_snixembed_start.sh.FALSE.gz
(40 Bytes) Downloaded 72 times
Снимок экрана.png
Снимок экрана.png (75.62 KiB) Viewed 2403 times
Снимок экрана.png
Снимок экрана.png (213.72 KiB) Viewed 2406 times

KL-Linux
KL LINUX Simple fast free

User avatar
Sofiya
Posts: 2324
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1494 times
Been thanked: 1570 times

Re: Cortile - auto tiling manager

Post by Sofiya »

:thumbup: :thumbup: Enjoy

Code: Select all

# Maximum number of allowed master windows (0 - 5).
window_masters_max = 4
Attachments
Снимок экрана.png
Снимок экрана.png (116.27 KiB) Viewed 2329 times

KL-Linux
KL LINUX Simple fast free

User avatar
Sofiya
Posts: 2324
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1494 times
Been thanked: 1570 times

Re: Cortile - auto tiling manager

Post by Sofiya »

Comparing the works of this application, It works well on BookwormPup64 10.0.4 .I don't know why

KL-Linux
KL LINUX Simple fast free

geo_c
Posts: 2886
Joined: Fri Jul 31, 2020 3:37 am
Has thanked: 2203 times
Been thanked: 884 times

Re: Cortile - auto tiling manager

Post by geo_c »

rockedge wrote: Wed Feb 07, 2024 3:31 am

@geo_c, I was able to compile snixembed on F96-CE_4 !
Attached is the resulting binary tested on F96-CE_4 with a stock kernel 6.0.12

I placed the snixembed in /usr/bin and start with @sofiya's suggested command from a Rox panel icon.

Code: Select all

#!/bin/sh
snixembed --fork && cortile 

Here's the complete Tile Pup-F96: I'm starting it from my Rox panel on the right. I prefer not to autostart coretile.
Image

geo_c
Old School Hipster, and Such

User avatar
rockedge
Site Admin
Posts: 6659
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 2844 times
Been thanked: 2703 times
Contact:

Re: Cortile - auto tiling manager

Post by rockedge »

Cortile version 2.40 has been released!!

Found out when a red dot showed up on the tray/panel icon! :thumbup2:

I upgraded a KLV-Airedale with good results so far.

User avatar
rockedge
Site Admin
Posts: 6659
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 2844 times
Been thanked: 2703 times
Contact:

Re: Cortile - auto tiling manager

Post by rockedge »

Also now tested in F96-CE_4 both as RT and using the stock kernel 6.0.12.......working pretty good....so far :ugeek: :thumbup:

User avatar
rockedge
Site Admin
Posts: 6659
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 2844 times
Been thanked: 2703 times
Contact:

Re: Cortile - auto tiling manager

Post by rockedge »

Cortile version 2.5.0 has been released!!

geo_c
Posts: 2886
Joined: Fri Jul 31, 2020 3:37 am
Has thanked: 2203 times
Been thanked: 884 times

Re: Cortile - auto tiling manager

Post by geo_c »

rockedge wrote: Mon Jun 17, 2024 5:32 pm

Cortile version 2.5.0 has been released!!

Though I have cortile installed on both F96 and Airedale, truth is I don't turn it on much because I've been using dual montitors on all my setups, and I seem to remember it could get a little wonky at times in that environment, which is understandable.

But I think I'll fire it up some more, test it, and then update and see how it does.

Speaking of dual monitors, and this should probably go in the KL-section, I have figured out how to get KLV-spectrwm to play nice with dual monitors and also how to use an 08layer in each instance of a multi-instance with an Arandr generated xrandr command in the /root/Startup folder, along with a nitrogen config in the 08layer for backgrounds. In other words, the 08 layer contains the montior resolutons for each machine it's installed on, meaning a different 08layer for each machine.

Works great.

Come to think of it, I'm doing the same local 08layer thing with Airedale, but copying in a couple configs from the /root/.config/Xfce/perchannel directory after configuring the desktop. Nothing you can't do with these easily numbered layers and a multi-install.

geo_c
Old School Hipster, and Such

User avatar
rockedge
Site Admin
Posts: 6659
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 2844 times
Been thanked: 2703 times
Contact:

Re: Cortile - auto tiling manager

Post by rockedge »

Speaking of dual monitors, and this should probably go in the KL-section, I have figured out how to get KLV-spectrwm to play nice with dual monitors and also how to use an 08layer in each instance of a multi-instance with an Arandr generated xrandr command in the /root/Startup folder, along with a nitrogen config in the 08layer for backgrounds. In other words, the 08 layer contains the montior resolutons for each machine it's installed on, meaning a different 08layer for each machine.

Works great.

Definitely a topic for the KLV section! Very interesting and some of the details on how to set it up will be more than awesome.

I also only use Cortile sparingly but not because in some scenarios it does act wobbly, but use more the virtual desktops

User avatar
Jasper
Posts: 1725
Joined: Wed Sep 07, 2022 1:20 pm
Has thanked: 874 times
Been thanked: 358 times

Re: Cortile - auto tiling manager

Post by Jasper »

User avatar
rockedge
Site Admin
Posts: 6659
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 2844 times
Been thanked: 2703 times
Contact:

Re: Cortile - auto tiling manager

Post by rockedge »

I've included the latest Cortile in KLV-Airedale's base rootfs so will be in the next version. Otherwise updating Cortile is really easy to do manually in both KLV's and Puppy Linux. I use it in F96-CE_4 models and now in NoblePup64 which really adds power user tiling window manager features to these Puppy's!

User avatar
gychang
Posts: 604
Joined: Fri Aug 28, 2020 4:51 pm
Location: San Diego, CA
Has thanked: 211 times
Been thanked: 64 times

Re: Cortile - misbehave in BookwormPup?

Post by gychang »

On my PC, Cortile works without problems on CE-4, but noticed in the latest BookwormPup64, when I have Geany opened next app always opens in full screen mode rather than the expected tiling. Can someone confirm this? This persists in a fresh (no save folder) copy also. :x

======

Puppy Bytes, utube videos
https://www.youtube.com/channel/UCg-DUU ... u62_iqR-MA

======

User avatar
rockedge
Site Admin
Posts: 6659
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 2844 times
Been thanked: 2703 times
Contact:

Re: Cortile - auto tiling manager

Post by rockedge »

what does the Cortile configuration look like? It might have something set differently in the config file.

The location is usually /root/.config/cortile/config.toml

User avatar
gychang
Posts: 604
Joined: Fri Aug 28, 2020 4:51 pm
Location: San Diego, CA
Has thanked: 211 times
Been thanked: 64 times

Re: Cortile - auto tiling manager

Post by gychang »

rockedge wrote: Wed Aug 28, 2024 2:05 pm

what does the Cortile configuration look like? It might have something set differently in the config file.

The location is usually /root/.config/cortile/config.toml

I copied the file from CE4 to BWP..., here :

Code: Select all

################################################################################
#                                                                              #
#           https://github.com/leukipp/cortile/blob/main/config.toml           #
#                                                                              #
################################################################################

#################################### Tiling ####################################

# Initial tiling activation, will be cached afterwards (true | false).
tiling_enabled = true

# Initial tiling layout, will be cached afterwards ("vertical-left" | "vertical-right" | "horizontal-top" | "horizontal-bottom" | "maximized" | "fullscreen").
tiling_layout = "vertical-right"

# An overlay window is displayed for this time period [ms] when the layout was changed (0 = disabled).
tiling_gui = 1500

# Menu entries in systray which shows the tiling state as icon ([] = disabled).
# tiling_icon = [
#   ["ACTION", "TEXT"] = ["action strings from [keys] section", "text to show in the menu"],
#   ["", ""] = "show a separator line",
# ]
tiling_icon = [
    ["toggle", "Enabled"],
    ["", ""],
    ["master_increase", "Add Master"],
    ["master_decrease", "Remove Master"],
    ["", ""],
    ["slave_increase", "Add Slave"],
    ["slave_decrease", "Remove Slave"],
    ["", ""],
    ["reset", "Reset"],
    ["exit", "Exit"],
]

#################################### Window ####################################

# Regex RE2 syntax to ignore windows (WM_CLASS string can be found by running `xprop WM_CLASS`).
# window_ignore = [
#   ["WM_CLASS", "WM_NAME"] = ["ignore all windows with this class", "but allow those with this name"]
# ]
window_ignore = [
    ["nm.*", ""],
    ["gcr.*", ""],
    ["polkit.*", ""],
    ["wrapper.*", ""],
    ["lightdm.*", ""],
    ["blueman.*", ""],
    ["pavucontrol.*", ""],
    ["firefox.*", ".*Mozilla Firefox"],
]

# Maximum number of allowed master windows (0 - 5).
window_masters_max = 3

# Maximum number of allowed slave windows (1 - 5).
window_slaves_max = 3

# How much space should be left between windows (0 - 100).
window_gap_size = 2

# Initial rendering of window decorations, will be cached afterwards (true | false).
window_decoration = true

################################## Proportion ##################################

# How much to increment/decrement master-slave area (0.0 - 1.0).
proportion_step = 0.05

# Minimum window width/height in proportion to workspace (0.0 - 1.0).
proportion_min = 0.2

##################################### Edge #####################################

# Margin of the tiling area ([top, right, bottom, left]).
edge_margin = [0, 0, 0, 0]

# Margin of the tiling area on primary screen ([top, right, bottom, left]).
edge_margin_primary = [40, 0, 0, 0]

# Width and height of a hot-corner area within the edge corners (0 - 100).
edge_corner_size = 10

# Width or height of a hot-corner area within the edge centers (0 - 100).
edge_center_size = 100

################################################################################
[colors]                             # RGBA color values used for ui elements. #
################################################################################

# Window text color.
gui_text = [255, 255, 255, 255]

# Window background color.
gui_background = [30, 30, 40, 255]

# Slave client layout color.
gui_client_slave = [58, 58, 78, 255]

# Master client layout color.
gui_client_master = [98, 98, 128, 255]

# Systray icon background color.
icon_background = [0, 0, 0, 0]

# Systray icon foreground color.
icon_foreground = [255, 255, 255, 255]

################################################################################
[keys]                            # Key symbols can be found by running `xev`. #
################################################################################

# Enable tiling on the current screen (Home = Fn_Left).
enable = "Control-Shift-Home"

# Disable tiling on the current screen (End = Fn_Right).
disable = "Control-Shift-End"

# Toggle between enable and disable on the current screen.
toggle = "Control-Shift-T"

# Toggle window decoration on and off on the current screen.
decoration = "Control-Shift-D"

# Disable tiling and restore windows on the current screen.
# restore = "Control-Shift-R"

# Reset layouts to default proportions (BackSpace = Delete_Left)
reset = "Control-Shift-BackSpace"

# Cycles through next layouts (Next = Page_Down).
cycle_next = "Control-Shift-Next"

# Cycles through previous layouts (Prior = Page_Up).
cycle_previous = "Control-Shift-Prior"

# Activates the vertical-left layout (Left = Arrow_Left).
# layout_vertical_left = "Control-Shift-Left"

# Activates the vertical-right layout (Right = Arrow_Right).
# layout_vertical_right = "Control-Shift-Right"

# Activates the horizontal-top layout (Up = Arrow_Up).
layout_horizontal_top = "Control-Shift-Up"

# Activates the horizontal-bottom layout (Down = Arrow_Down).
layout_horizontal_bottom = "Control-Shift-Down"

# Activates the maximized layout (Space = Blank).
# layout_maximized = "Control-Shift-Space"

# Activates the fullscreen layout (Return = Enter).
# layout_fullscreen = "Control-Shift-Return"

# Make the active window a master (KP_5 = Num_5).
master_make = "Control-Shift-KP_5"

# Make the next window a master (KP_6 = Num_6).
master_make_next = "Control-Shift-KP_6"

# Make the previous window a master (KP_4 = Num_4).
master_make_previous = "Control-Shift-KP_4"

# Increase the number of masters (KP_Add = Num_+).
master_increase = "Control-Shift-KP_Add"

# Decrease the number of masters (KP_Subtract = Num_-).
master_decrease = "Control-Shift-KP_Subtract"

# Increase the number of slaves (Plus = +).
slave_increase = "Control-Shift-Plus"

# Decrease the number of slaves (Minus = -).
slave_decrease = "Control-Shift-Minus"

# Increase the proportion of master-slave area (KP_3 = Num_3).
proportion_increase = "Control-Shift-KP_3"

# Decrease the proportion of master-slave area (KP_1 = Num_1).
proportion_decrease = "Control-Shift-KP_1"

# Moves focus to the next window (KP_2 = Num_2).
window_next = "Control-Shift-KP_2"

# Moves focus to the previous window (KP_8 = Num_8).
window_previous = "Control-Shift-KP_8"

# The commands above will affect all screens if this key is pressed in addition (Mod1 = Alt_L).
mod_screens = "Mod1"

# The commands above will affect all workspaces if this key is pressed in addition (Mod4 = Super_L).
mod_workspaces = "Mod4"

################################################################################
[corners]                                # Action strings from [keys] section. #
################################################################################

# Corner at top left.
top_left = "window_previous"

# Corner at top center.
top_center = ""

# Corner at top right.
top_right = "master_make"

# Corner at center right.
center_right = ""

# Corner at bottom right.
bottom_right = "proportion_increase"

# Corner at bottom center.
bottom_center = ""

# Corner at bottom left.
bottom_left = "proportion_decrease"

# Corner at center left.
center_left = ""

################################################################################
[systray]                                # Action strings from [keys] section. #
################################################################################

# Icon left click with pointer.
click_left = ""

# Icon middle click with pointer.
click_middle = "toggle"

# Icon right click with pointer.
click_right = ""

# Icon vertical scroll up with pointer.
scroll_up = "cycle_previous"

# Icon vertical scroll down with pointer.
scroll_down = "cycle_next"

# Icon horizontal scroll left with pointer.
scroll_left = "proportion_decrease"

# Icon horizontal scroll right with pointer.
scroll_right = "proportion_increase"

======

Puppy Bytes, utube videos
https://www.youtube.com/channel/UCg-DUU ... u62_iqR-MA

======

User avatar
rockedge
Site Admin
Posts: 6659
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 2844 times
Been thanked: 2703 times
Contact:

Re: Cortile - auto tiling manager

Post by rockedge »

So the symptoms are:

  1. open a rox-filer window and it is full screen

  2. open a second rox-filer window and then both are tiled next to each other?

do you see a Cortile icon on the tray?

right-click the cortile tray icon and check if cortile is enabled for that virtual desktop.

User avatar
gychang
Posts: 604
Joined: Fri Aug 28, 2020 4:51 pm
Location: San Diego, CA
Has thanked: 211 times
Been thanked: 64 times

Re: Cortile - auto tiling manager

Post by gychang »

rockedge wrote: Wed Aug 28, 2024 5:25 pm

So the symptoms are:

  1. open a rox-filer window and it is full screen

  2. open a second rox-filer window and then both are tiled next to each other?

do you see a Cortile icon on the tray?

right-click the cortile tray icon and check if cortile is enabled for that virtual desktop.

1. is full screen
2. again 2nd rox is full screen, then I tried C-S-t (toggle tiling) key and I disable the tiling as expected. When I try the same keys again I get a small message stating "geany is maximized", and there is no tiling.

======

Puppy Bytes, utube videos
https://www.youtube.com/channel/UCg-DUU ... u62_iqR-MA

======

Post Reply

Return to “Desktop”