diff --git a/i3/config b/i3/config index c424341..6b22a05 100644 --- a/i3/config +++ b/i3/config @@ -82,7 +82,7 @@ bindsym $mod+ctrl+l split h bindsym $mod+ctrl+j split v # change container layout (stacked, tabbed, toggle split) -bindsym $mod+m layout toggle stacked split +bindsym $mod+m exec "/home/user/.config/i3/toggle_maximize.sh" # toggle tiling / floating bindsym $mod+f floating toggle diff --git a/i3/toggle_maximize.sh b/i3/toggle_maximize.sh new file mode 100755 index 0000000..4cfa6fa --- /dev/null +++ b/i3/toggle_maximize.sh @@ -0,0 +1,15 @@ +ACTIVE_WORKSPACE=$(i3-msg -t get_workspaces | jq -r '.[] | select(.focused == true) | .name') +if [ $ACTIVE_WORKSPACE != fullscreen ] +then + i3-msg mark _maximized_window + gnome-terminal + i3-msg mark _placeholder_window + i3-msg [con_mark="_maximized_window"] focus + i3-msg move container to workspace fullscreen + i3-msg [con_mark="_maximized_window"] focus +else + i3-msg swap mark "_placeholder_window" + i3-msg [con_mark="_maximized_window"] focus + i3-msg unmark _maximized_window + i3-msg [con_mark="_placeholder_window"] kill +fi