0

I'm using i3 WM under fresh installation of Arch linux.

Goal:

I'd like to have a specific layout on each startup consisting of two windows in tabbed mode. In my case it's Terminator plus Firefox.

Problem:

I tried to use append_layout method as described in documentation. I've managed to actually load my previously saved tabbed layout from json file so far, but unfortunately the default container with two vertically split i3-terminals also appeared. So basically I have

DefaultContainer | MyContainer

on the screen. DefaultContainer has two basic terminals in it, MyContainer has firefox and Terminator in tabbed mode. I want default container to never show up on start up.

Configuration:

Here's the final part of my i3 config file:

workspace_layout tabbed
exec --no-startup-id "i3-msg 'workspace 1; append_layout /home/cloudcat/.config/i3/workspace-1.json; exec firefox; exec terminator'"
exec --no-startup-id compton

And here is the json layout:

{
    // tabbed split container with 2 children
    "border": "normal",
    "floating": "auto_off",
    "layout": "tabbed",
    "percent": null,
    "type": "con",
    "nodes": [
        {
            "border": "normal",
            "current_border_width": 2,
            "floating": "auto_off",
            "geometry": {
               "height": 453,
               "width": 734,
               "x": 0,
               "y": 0
            },
            "name": "cloudcat@cloudcat-pc:~",
            "percent": 0.5,
            "swallows": [
               {
               "class": "^Terminator$"
               // "instance": "^terminator$",
               // "title": "^cloudcat\\@cloudcat\\-pc\\:\\~$",
               // "transient_for": "^$"
               }
            ],
            "type": "con"
        },
        {
            "border": "normal",
            "current_border_width": 2,
            "floating": "auto_off",
            "geometry": {
               "height": 947,
               "width": 1280,
               "x": 0,
               "y": 0
            },
            "name": "Arch Linux - perl-anyevent-i3 0.17-3 (any) - Mozilla Firefox",
            "percent": 0.5,
            "swallows": [
               {
               "class": "^Firefox$"
               // "instance": "^Navigator$",
               // "title": "^Arch\\ Linux\\ \\-\\ perl\\-anyevent\\-i3\\ 0\\.17\\-3\\ \\(any\\)\\ \\-\\ Mozilla\\ Firefox$",
               // "transient_for": "^$",
               // "window_role": "^browser$"
               }
            ],
            "type": "con"
        }
    ]
}

I also checked this question, but couldn't find any major differences in configs. Maybe I'm missing something.

Question:

How can I tell i3 not to load default v-splitted container with two terminals? I only need my container with FF and Terminator to be on the screen after boot. Thank you.

0

Ok, I really did miss something. In my .xinitrc file there were two lines before exec i3

xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
...

Looks like these are the remains of skeleton .xinitrc file I used as a template for my own config. So for anyone else who may stumble upon some unwanted running applications on startup, please check this config too. In my case it was located in user's home directory.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.