Xfce Forum

Sub domains
 

You are not logged in.

#1 2023-07-10 06:38:53

Cencar
Member
Registered: 2022-12-22
Posts: 20

Trying to configure xpytile app xfce manjaro window tiling

Hi every one,
I have a very limited understanding of setup of this window tiler.
Following the https://github.com/jaywilkas/xpytile/bl … /README.md

To start ./xpytile.py however this produced bash: ./xpytile.py: No such file or directory.
Running in the background was nohup ./xpytile.py > /dev/null 2>&1 &   Which gave terminal output [1] 7217
When I ran terminal pytile.py it tiled all windows. However, I could not untile the windows. And I have no idea what to do next.

What I want to do is:-
1.Auto start background pytile.py
2.Assign Shortcut key tile and untile windows back to there original size and position [if possible indivdual desktop, I use 4 workspaces].
My understading is the /etc/xpytilerc is the system default.
I copied xpytilerc to ~/.config/xpytilerc so that I could modify it.
Below is the xpytilerc config.

# Config-file for tiling helper "xpytile"
#
# File: xpytilerc
# place this file in XDG_CONFIG_HOME or if that's not set in ~/.config
#


# -----------------------------------------------------------------------------------------------------
[General]
# -----------------------------------------------------------------------------------------------------
# Ignore windows when their name AND -if configured- title matches one of these regular expressions.
# !title means: Ignore window when the name matches AND title does NOT match the regex.
# Modal windows are ignored by default
#
# (The first 8 entries are specific for Xfce4)
#
ignoreWindows = name: "Wrapper-2.0"
                name: "Xfdesktop"
                name: "Xfwm4"
                name: "Xfce4-(?!terminal).*"
                name: "Exo-desktop-item-edit"
                name: "Nm-connection-editor"
                name: "Polkit-gnome-authentication-agent-1"
                name: "Globaltime"
                name: "Gimp"
                name: "krusader" !title: "^Krusader$"
                name: "Thunderbird" !title: ".*Mozilla Thunderbird.*"
                name: "Doublecmd" !title: "^Double Commander "
                name: "jetbrains-pycharm" title: "(Confirm|Tip(p){0,1}|Settings)"
                name: "Soffice" title: "Tipp des Tages.*"
                name: "Ulauncher"
                name: "rofi"

                
# Don't (un)decorate windows when their name AND -if configured- title matches one of these regular expressions.
# !title means: Ignore window when the name matches AND title does NOT match the regex.
#   The decoration of windows with client-side decoration (CSD) should not be changed by xpytile.
#   Windows (like Firefox, when CSD is enabled) with the property _GTK_FRAME_EXTENTS are decorated client-side
#   and ignored by default. 
#   But there are CSD applications (e.g. Qt apps) that lack the _GTK_FRAME_EXTENTS property and therefore
#   CSD mode can't be detected (at least I don't know how).
#   (Demo entry for:  "qml webbrowser.qml"   https://github.com/johanhelsing/qt-csd-demo)
ignoreWindowsForDecoration = name: "Qml Runtime"  title: "Stack"


# Delay the auto-tiling when a new application was lauched and its name
# matches one of these regexes.
# For example LibreOffice needs some delay time.
delayTilingWindowsWithNames = "Soffice"


# Delay time [sec] for the auto-tiling, in case an application with one of
# the above names was lauched.
delayTimeTiling = 0.75


# Use this tiler as default, when there are more desktops than configured
# in [DefaultTilerPerDesktop]
# Available Tilers:
#  1  masterAndStackVertic    one window on the left, stack on the right side
#  2  masterAndStackHoriz     one window on the upper, stack on the lower part
#  3  horizontally            horizontal stack of windows, left to right, full height
#  4  vertically              vertical stack of windows, from top to bottom, full width
#  5  maximize                always maximize active window
defaultTiler = 1

# Use this value as default, when there are more desktops than configured
# in [maximizeWhenOneWindowLeft]
defaultMaximizeWhenOneWindowLeft = True

# Edges with a distance smaller than margin are considered docked.
margin = 100

# Don't shrink width or height of a window smaller than this.
minSize = 350

# Step size when enlaging/shrinking master window by hotkey
stepSize = 50

# Move the mouse-cursor to the middle of the new active window, when the focus got changed
#  by pressing the focusUp-, focusDown-, focusLeft- or focusRight- hotkey
#  This visual feedback is helpful especially when the window decoration is turned off.
moveMouseIntoActiveWindow = True


# -----------------------------------------------------------------------------------------------------
# Define the default/initial tiler for each desktop/workspace.
# (Number of configured workspaces is not limited.)
[DefaultTilerPerDesktop]
# -----------------------------------------------------------------------------------------------------
Desktop1 = 1
Desktop2 = 1
Desktop3 = 1
Desktop4 = 1



# -----------------------------------------------------------------------------------------------------
# Define the default/initial behaviour when there is one window left
# (Number of configured workspaces is not limited.)
[maximizeWhenOneWindowLeft]
# -----------------------------------------------------------------------------------------------------
Desktop1 = True
Desktop2 = True
Desktop3 = True
Desktop4 = True



# -----------------------------------------------------------------------------------------------------
# Tiler -  master and stack vertically
[masterAndStackVertic]
# -----------------------------------------------------------------------------------------------------
# Number of windows to tile, remaining windows will be ignored
maxNumWindows = 3
# Default-width of master (rel. part of available screen width)
defaultWidthMaster = 0.5
# Maximize the last remaining window, when the 2nd last window got closed
maximizeWhenOneWindowLeft = True



# -----------------------------------------------------------------------------------------------------
# Tiler -  stack from top to bottom, full width
[vertically]
# -----------------------------------------------------------------------------------------------------
# Number of windows to tile, ignore remaining windows
maxNumWindows = 3
# Maximize the last remaining window, when the 2nd last window got closed
maximizeWhenOneWindowLeft = True



# -----------------------------------------------------------------------------------------------------
# Tiler -  master and stack horizontally
[masterAndStackHoriz]
# -----------------------------------------------------------------------------------------------------
# Number of windows to tile, ignore all remaining windows
maxNumWindows = 3
# Default-height of the master (rel. part of avail. screen height)
defaultHeightMaster = 0.5
# Maximize the last remaining window, when the 2nd last window got closed
maximizeWhenOneWindowLeft = True



# -----------------------------------------------------------------------------------------------------
# Tiler -  stack from left to right, full height
[horizontally]
# -----------------------------------------------------------------------------------------------------
# Number of windows to tile, ignore remaining windows
maxNumWindows = 3
# Maximize the last remaining window, when the 2nd last window got closed
maximizeWhenOneWindowLeft = True



# -----------------------------------------------------------------------------------------------------
# Keycodes of the hotkeys
# (The programm  xev  helps to figure them out.
#  testModifier.py can be used to get the modifier-code.)
#
#
# These actions can also be triggered by sending an X-message with xpytile-remote-client.py
# I.e.   ./xpytile-remote-client.py 4
#         sends command-number 4 to xpytile - this number is associated with toggleDecoration
# The associated command-numbers are hard-coded and can NOT be configured here.
#
[Hotkeys]
# -----------------------------------------------------------------------------------------------------
# Hotkey modifier
# 64: "Super_L"
# -1: any modifier
modifier = 64


# toggle the status of the current desktop
# whether to simultaneously resize docked windows
# 24: "q"
toggleResize = 24
# command-number 0

# toggle the status of the current desktop
# whether tiling is active
# 25: "w"
toggleTiling = 25
# command-number 1

# toggle the status of the current desktop
# whether to simultaneously resize docked windows
# and whether tiling is active
# 26: "e"
toggleResizeAndTiling = 26
# command-number 2

# toggle the status of the current desktop
# whether to maximize the last window
# when the 2nd last window got closed
# 27: "r"
toggleMaximizeWhenOneWindowLeft = 27
# command-number 3

# toggle the status of the current desktop
# whether to decorate the tiled windows
# 52: "y"
toggleDecoration = 52
# command-number 4

# cycle all -not minimized- windows on the current desktop
# 49: ^
cycleWindows = 49
# command-number 5

# cycle tiler
# 54: 'c'
cycleTiler = 54
# command-number 6

# swap active window with the top most- / left- one
# 9: ESC
swapWindows = 9
# command-number 7

# store the layout of the windows on the current desktop
# 15: "6"
storeCurrentWindowsLayout = 15
# command-number 8

# restore the layout of the windows geometry on the current desktop
# 14: "5"
recreateWindowsLayout = 14
# command-number 9

# switch to tiler "masterAndStackVertic" and do the tiling
# 10: "1"
tileMasterAndStackVertically = 10
# command-number 10

# switch to tiler "vertically" and do the tiling
# 11: "2"
tileVertically = 11
# command-number 11

# switch to tiler "masterAndStackHoriz" and do the tiling
# 12: "3"
tileMasterAndStackHorizontally = 12
# command-number 12

# switch to tiler "horizontally" and do the tiling
# 13: "4"
tileHorizontally = 13
# command-number 13

# switch to tiler "maximize" and maximize the window
# 19: "0"
tileMaximize = 19
# command-number 14

# increase max number of windows to tile
# 58 "m"
increaseMaxNumWindows = 58
# command-number 15

# decrease max number of windows to tile
# 57 "n"
decreaseMaxNumWindows = 57
# command-number 16

# exit the tiling helper
# 61: "-"
exit = 61
# command-number 17

# log name and tile of currently active window
# in /tmp/xpytile_<USERNAME>.log
# 60: '.'
logActiveWindow = 60
# command-number 18

# shrink width/height of master window and (re-)tile
# 38: "a"
shrinkMaster = 38
# command-number 19

# enlarge width/height of master window and (re-)tile
# 39: "s"
enlargeMaster = 39
# command-number 20

# make left window the active one
# 113 "arrow-left"
focusLeft = 113
# command-number 21

# make right window the active one
# 114 "arrow-right"
focusRight = 114
# command-number 22

# make upper window the active one
# 111 "arrow-up"
focusUp = 111
# command-number 23

# make lower window the active one
# 116 "arrow-down"
focusDown = 116
# command-number 24

# make the previously focussed one the active one
# 56 "b"
focusPrevious = 56
# command-number 25

# -----------------------------------------------------------------------------------------------------
# Notifications are send (if turned on) on start-up
# on exit, and when certain hotkeys are pressed.
[Notification]
# -----------------------------------------------------------------------------------------------------
# Turn on / off notifications [True | False]
active = True

# Time [ms] the notification will be shown
time = 2500

# Notification summary, message  and icons
on_Message = +++ ON +++
off_Message = \-\-  off  \-\-

infoTilingMustBeOn_Message = Tiling must be on
infoTilingMustBeOn_Icon = /usr/share/icons/gnome/32x32/emblem/emblem-important.png
infoTilingMustBeOn_Summary = Info

tilingOn_Icon = /usr/share/icons/gnome/32x32/emblems/emblem-default.png
tilingOff_Icon = /usr/share/icons/gnome/32x32/actions/list-remove.png
tiling_Summary = Tiling

storeCurrentWindowsLayout_Icon = /usr/share/icons/gnome/32x32/devices/video-display.png
storeCurrentWindowsLayout_Message = Layout stored
storeCurrentWindowsLayout_Summary = Windows

resizingOn_Icon = /usr/share/icons/gnome/32x32/emblems/emblem-default.png
resizingOff_Icon = /usr/share/icons/gnome/32x32/actions/list-remove.png
resizing_Summary = Resizing

maximizeWhenOneWindowLeftOn_Icon = /usr/share/icons/gnome/32x32/emblems/emblem-default.png
maximizeWhenOneWindowLeftOff_Icon = /usr/share/icons/gnome/32x32/actions/list-remove.png
maximizeWhenOneWindowLeft_Summary = max. when one window

start_Icon = /usr/share/icons/gnome/32x32/devices/video-display.png
start_Message = +++ ON +++
start_Summary = Tiling

alreadyRunning_Icon = /usr/share/icons/gnome/32x32/devices/video-display.png
alreadyRunning_Message = already on
alreadyRunning_Summary = Tiling

exit_Icon = /usr/share/icons/gnome/32x32/devices/video-display.png
exit_Message = \-\- Exit \-\-
exit_Summary = Tiling

All advise welcome.

Offline

#2 2023-07-11 18:22:08

jaywilkas
Member
Registered: 2021-06-05
Posts: 19

Re: Trying to configure xpytile app xfce manjaro window tiling

see PM / email

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.013 seconds, 8 queries executed - Memory usage: 571.72 KiB (Peak: 609.72 KiB) ]