The i3 FAQ has migrated to https://github.com/i3/i3/discussions. All content here is read-only.
Ask Your Question
1

Tabbed layout for skype chats

asked Sep 26 '13

G12ES gravatar image

updated Sep 27 '13

I would like placed skype windows in such case:
- contact list in left side in tiling mode
- chats in right side in tabbed mode
How I can change mode for some windows?
Thank you.

------------------------------------------------------------
| chat1 | chat2 | chat3 | | Contacts |
------------------------------------------------------------
| | |
| | |
| | |
| | |
| | |
| | |
| | |
------------------------------------------------------------

2 answers

Sort by » oldest newest most voted
0

answered Sep 26 '13

Michael gravatar image

I think the easiest way is to enter tabbed mode (Mod+w in the default config), open the chat windows, then move the contacts window to the right (Mod+Shift+Right arrow in the default config) repeatedly until it pops out. Afterwards resize the boundary between the tabbed container and the contacts window with the mouse.

Comments

Thank you, Michael, I can do it manually, but I want that new Skype Chat window opened in tabbed container. How I can write this rule in cofig file? (for_window may be)

G12ES gravatar imageG12ES (Sep 27 '13)edit

Thanks Michael, that's one more lesson in "doing things the i3 way" I've learned.

KJ44 gravatar imageKJ44 (Mar 3 '14)edit
0

answered Mar 3 '14

KJ44 gravatar image

updated Mar 27 '14

OK, this isn't a way to automate, as you and I would like, but it's a workaround. It relies on the observation that one's Skype username is in the title of the Contacts Window.

The Contacts Window is in the scratchpad, so you can toggle its visibility with a key; the Chat Windows remain tiled. Thus, when you lay out the tiled Chat Windows as tabbed or stacked, you exclude the Contacts Window.

# Skype.                                                                                                                                                             
for_window [instance="skype" title="G12ES"] floating enable, move scratchpad, scratchpad show;
bindsym $mod+backslash [instance="skype" title="G12ES"] scratchpad show;

Unfortunately it seems one can't assign the floating scratchpad window to a workspace, but one can assign the tiled Chat windows to a workspace.

UPDATE

I have abandoned the floating window approach. I now (1) fire up Skype in a workspace (2) enter my special "workspace layout" mode (3) type 's k y' and hey presto I have the contacts window on the left and a stacking container on the left (a terminal). If I then (4) open a chat window, it appears stacked in the terminal container. This is a vile hack ...

mode "Layout" {

    # Skype.                                                                                                                                                         
    # https://faq.i3wm.org/question/2593/tabbed-layout-for-skype-chats/                                                                                              
    # The terminal acts as a stacked container for chat windows.                                                                                                     
    # The contacts window is moved to the right of the terminal.                                                                                                     
    # Chat windows are configured to appear inside the stacked container.                                                                                            
    # See "Define workspace layouts ..." elsewhere in this file.                                                                                                     
    bindsym s exec i3-sensible-terminal --title "Skype™ Chat"
    bindsym k layout stacking
    bindsym y [instance="skype"] focus, move right, mode "default"

    # Go back to normal.                                                                                                                                             
    bindsym Return mode "default"
    bindsym Escape mode "default"
    bindsym    Tab mode "default"
}
# Define workspace layouts in conjunction with layout mode.                                                                                                          
assign [title="Skype™ Chat"] sk
assign [instance="skype"] sk
for_window [instance="skype" title="Skype™ Chat"] move left, move left

Question Tools

Stats

Asked: Sep 26 '13

Seen: 2,069 times

Last updated: Mar 27 '14