i3 feature support #2

Open
SirCmpwn opened this Issue Aug 9, 2015 · 129 comments

Comments

Projects
None yet
@SirCmpwn
Member

SirCmpwn commented Aug 9, 2015

Layouts

  • Horizontal tiling
  • Vertical tiling
  • Stacked
  • Tabbed
  • Floating
  • Saving layouts to disk will not support
  • Loading layouts from disk will not support

Config/commands

  • Config parser
  • Variables/set
  • bindsym
    • mouse bindings
    • --release
  • bindcode
    • --release
  • focus_follows_mouse
  • exit
  • exec
  • exec_always
  • fullscreen
  • workspace
    • left/right/up/down
    • number
    • next/prev
    • next_on_output/prev_on_output
    • <name>
    • <name> output <output>
    • back_and_forth
  • splith/splitv
  • focus
    • left/right/up/down
    • parent
    • mode_toggle
  • move
    • left/right/up/down
    • workspace to output
      • left/right/up/down
      • named output
    • position
  • kill
  • mode
  • layout
    • stacking
    • tabbed
    • splith
    • splitv
    • toggle split
  • bar
  • floating toggle
  • floating_modifier
  • for_window
  • font
  • default_orientation
  • workspace_layout
  • assign
  • popup_during_fullscreen
  • force_focus_wrapping
  • workspace_auto_back_and_forth
  • scratchpad
    • move scratchpad
    • scratchpad show
  • resize
    • grow
    • shrink
  • move position mouse
  • sticky toggle
  • show_marks
  • no_focus

Features

  • IPC
  • Restart in-place
  • Reload config on the fly
  • Resize containers with mouse
  • Command line options
  • Ignore i3 commands that aren't valid (i.e. force_xinerama)
  • swaybar
  • swaylock - usable, but incomplete
  • swaymsg
  • borders
  • color customization
  • Mode_switch
  • gaps
  • [criteria] command

See also:

IPC feature support: #98
i3bar feature support: #343
i3-gaps feature support: #307

@onny

This comment has been minimized.

Show comment
Hide comment
@onny

onny Aug 9, 2015

Nice write up! Especially looking for a i3 statusbar

onny commented Aug 9, 2015

Nice write up! Especially looking for a i3 statusbar

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Aug 9, 2015

Member

It'll probably be a while before I tackle i3bar (swaybar?)

Member

SirCmpwn commented Aug 9, 2015

It'll probably be a while before I tackle i3bar (swaybar?)

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Aug 9, 2015

Member

exec implemented.

Member

SirCmpwn commented Aug 9, 2015

exec implemented.

SirCmpwn added a commit that referenced this issue Aug 9, 2015

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Aug 10, 2015

Member

Today we implemented splith, splitv, fullscreen, and focus. Thanks for helping out, @jdiez17!

Member

SirCmpwn commented Aug 10, 2015

Today we implemented splith, splitv, fullscreen, and focus. Thanks for helping out, @jdiez17!

@jdiez17

This comment has been minimized.

Show comment
Hide comment
@jdiez17

jdiez17 Aug 10, 2015

Contributor

workspace [name] done.

Contributor

jdiez17 commented Aug 10, 2015

workspace [name] done.

@progandy

This comment has been minimized.

Show comment
Hide comment
@progandy

progandy Aug 16, 2015

Contributor

You forgot the scratchpad functionality.

Contributor

progandy commented Aug 16, 2015

You forgot the scratchpad functionality.

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Aug 16, 2015

Member

Good call.

Member

SirCmpwn commented Aug 16, 2015

Good call.

@Swoorup

This comment has been minimized.

Show comment
Hide comment
@Swoorup

Swoorup Aug 18, 2015

Nice, I have been looking at i3way but there's no single line of code after so many years.

I want to propose a feature request though, which i3 developers ignored: A tiling mode for binary space layout representing windows as the leaves of a full binary tree, very similar to default window tiling mode that comes with bspwm. It could be very handy letting the software manage my windows(specially terminals) instead of managing the arrangement in a single desktop. I don't want to break any compatibility though so I am hoping it does not.

Also an option to set the gap between windows would be nice. This was done in i3 but by a third party git fork. I don't know why it was deemed not a necessity by i3 developers.

BTW This project should also get its own website.

Swoorup commented Aug 18, 2015

Nice, I have been looking at i3way but there's no single line of code after so many years.

I want to propose a feature request though, which i3 developers ignored: A tiling mode for binary space layout representing windows as the leaves of a full binary tree, very similar to default window tiling mode that comes with bspwm. It could be very handy letting the software manage my windows(specially terminals) instead of managing the arrangement in a single desktop. I don't want to break any compatibility though so I am hoping it does not.

Also an option to set the gap between windows would be nice. This was done in i3 but by a third party git fork. I don't know why it was deemed not a necessity by i3 developers.

BTW This project should also get its own website.

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Aug 18, 2015

Member

I want to propose a feature request though, which i3 developers ignored: A tiling mode for binary space layout representing windows as the leaves of a full binary tree, very similar to default window tiling mode that comes with bspwm. It could be very handy letting the software manage my windows(specially terminals) instead of managing the arrangement in a single desktop. I don't want to break any compatibility though so I am hoping it does not.

Perhaps eventually. That doesn't sound like it needs to be a high priority.

Also an option to set the gap between windows would be nice. This was done in i3 but by a third party git fork. I don't know why it was deemed not a necessity by i3 developers.

This is in the list of features to add.

BTW This project should also get its own website.

Yeah, it'll have one eventually.

Member

SirCmpwn commented Aug 18, 2015

I want to propose a feature request though, which i3 developers ignored: A tiling mode for binary space layout representing windows as the leaves of a full binary tree, very similar to default window tiling mode that comes with bspwm. It could be very handy letting the software manage my windows(specially terminals) instead of managing the arrangement in a single desktop. I don't want to break any compatibility though so I am hoping it does not.

Perhaps eventually. That doesn't sound like it needs to be a high priority.

Also an option to set the gap between windows would be nice. This was done in i3 but by a third party git fork. I don't know why it was deemed not a necessity by i3 developers.

This is in the list of features to add.

BTW This project should also get its own website.

Yeah, it'll have one eventually.

@Half-Shot

This comment has been minimized.

Show comment
Hide comment
@Half-Shot

Half-Shot Aug 18, 2015

Contributor

Also an option to set the gap between windows would be nice. This was done in i3 but by a third >party git fork. I don't know why it was deemed not a necessity by i3 developers.

Due to it not fitting the i3 way, which means using all the screen space. I can understand why, but that doesn't mean this project has to enforce the same rules.

Contributor

Half-Shot commented Aug 18, 2015

Also an option to set the gap between windows would be nice. This was done in i3 but by a third >party git fork. I don't know why it was deemed not a necessity by i3 developers.

Due to it not fitting the i3 way, which means using all the screen space. I can understand why, but that doesn't mean this project has to enforce the same rules.

@Half-Shot

This comment has been minimized.

Show comment
Hide comment
@Half-Shot

Half-Shot Aug 18, 2015

Contributor

Will have a go at the move command. Should have some results tonight.

Contributor

Half-Shot commented Aug 18, 2015

Will have a go at the move command. Should have some results tonight.

@robinmoussu

This comment has been minimized.

Show comment
Hide comment
@robinmoussu

robinmoussu Aug 18, 2015

Hi. I want to propose a feature request: vertical bar. I think the easiest way is to only do a 90° rotation. The text orientation should be configurable: bottom to top, or top to bottom.

Hi. I want to propose a feature request: vertical bar. I think the easiest way is to only do a 90° rotation. The text orientation should be configurable: bottom to top, or top to bottom.

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Aug 18, 2015

Member

Will consider that once we hit feature parity with i3.

Member

SirCmpwn commented Aug 18, 2015

Will consider that once we hit feature parity with i3.

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost Aug 18, 2015

Sway looks like a really great project. I love i3, and the lack of something similar is the only thing that has been stopping me from giving Wayland a try. Great work so far!

However, looking at the list above, I see that sway is still missing tabbed layout, which is essential for my workflow; I use it heavily in i3. This is the main thing stopping me from trying out sway at this point. I could live without the other missing features.

Once tabbed layout is done, I will try playing around with sway. I am really looking forward to it. Hope to catch/report some bugs and maybe contribute some patches.

I honestly think this project has the potential to eventually become even better than i3.

ghost commented Aug 18, 2015

Sway looks like a really great project. I love i3, and the lack of something similar is the only thing that has been stopping me from giving Wayland a try. Great work so far!

However, looking at the list above, I see that sway is still missing tabbed layout, which is essential for my workflow; I use it heavily in i3. This is the main thing stopping me from trying out sway at this point. I could live without the other missing features.

Once tabbed layout is done, I will try playing around with sway. I am really looking forward to it. Hope to catch/report some bugs and maybe contribute some patches.

I honestly think this project has the potential to eventually become even better than i3.

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Aug 18, 2015

Member

The tabbed layout is sort of blocked by the lack of borders.

Member

SirCmpwn commented Aug 18, 2015

The tabbed layout is sort of blocked by the lack of borders.

@Airblader

This comment has been minimized.

Show comment
Hide comment
@Airblader

Airblader Aug 18, 2015

@Swoorup This is off-topic, but

This was done in i3 but by a third party git fork. I don't know why it was deemed not a necessity by i3 developers.

We don't want this in i3 for many reasons. For one, the i3-gaps patch (of which I am the maintainer) is really more of a hack (for example, window decorations don't work with it). But that could be solved. However, gaps violate the i3 tiling philosophy and that is why they will never be found in i3 itself.

Being a collaborator of i3 I understand this reasoning, being the maintainer of i3-gaps I obviously personally prefer gaps, though. ;)

@Swoorup This is off-topic, but

This was done in i3 but by a third party git fork. I don't know why it was deemed not a necessity by i3 developers.

We don't want this in i3 for many reasons. For one, the i3-gaps patch (of which I am the maintainer) is really more of a hack (for example, window decorations don't work with it). But that could be solved. However, gaps violate the i3 tiling philosophy and that is why they will never be found in i3 itself.

Being a collaborator of i3 I understand this reasoning, being the maintainer of i3-gaps I obviously personally prefer gaps, though. ;)

@Half-Shot

This comment has been minimized.

Show comment
Hide comment
@Half-Shot

Half-Shot Aug 19, 2015

Contributor

Would it be sensible to have our own wallpaper management, or somehow hook into a process like feh?
(and as on a sidenote, how would I hint to sway/wlc that a surface should be drawn behind everything?)

Contributor

Half-Shot commented Aug 19, 2015

Would it be sensible to have our own wallpaper management, or somehow hook into a process like feh?
(and as on a sidenote, how would I hint to sway/wlc that a surface should be drawn behind everything?)

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Aug 19, 2015

Member

No, we'll have something like feh for you to use instead.

Member

SirCmpwn commented Aug 19, 2015

No, we'll have something like feh for you to use instead.

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Aug 19, 2015

Member

And you can't do that hinting, I've been asking @Cloudef for it in wlc for a while.

Member

SirCmpwn commented Aug 19, 2015

And you can't do that hinting, I've been asking @Cloudef for it in wlc for a while.

@minus7 minus7 referenced this issue Aug 21, 2015

Closed

Scratchpad #115

@tiregram

This comment has been minimized.

Show comment
Hide comment
@tiregram

tiregram Sep 10, 2015

hi,
can you add the support to layout keyboard azerty.

hi,
can you add the support to layout keyboard azerty.

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Sep 10, 2015

Member

That's not really our problem, it's wlc's problem. And wlc let's you set it through XKB environment variables, XKB_DEFAULT_LAYOUT.

Member

SirCmpwn commented Sep 10, 2015

That's not really our problem, it's wlc's problem. And wlc let's you set it through XKB environment variables, XKB_DEFAULT_LAYOUT.

@progandy

This comment has been minimized.

Show comment
Hide comment
@progandy

progandy Sep 10, 2015

Contributor

@SirCmpwn In the longterm, sway should implement configuration options for input and output devices, but that has to wait until wlc implements an API for that. Maybe even provide some ipc options to allow dynamic changes like xinput/xrandr.
Cloudef/wlc#6
Cloudef/wlc#37

Contributor

progandy commented Sep 10, 2015

@SirCmpwn In the longterm, sway should implement configuration options for input and output devices, but that has to wait until wlc implements an API for that. Maybe even provide some ipc options to allow dynamic changes like xinput/xrandr.
Cloudef/wlc#6
Cloudef/wlc#37

@Luminarys

This comment has been minimized.

Show comment
Hide comment
@Luminarys

Luminarys Sep 10, 2015

Collaborator

Sway already does provide configuration options to alter the size, position, and status(on/off) of monitors. As of right now dynamic changes are not available though.

Collaborator

Luminarys commented Sep 10, 2015

Sway already does provide configuration options to alter the size, position, and status(on/off) of monitors. As of right now dynamic changes are not available though.

@tiregram

This comment has been minimized.

Show comment
Hide comment
@tiregram

tiregram Sep 12, 2015

Sorry , but the other keyboard are not supported on my pc (fr).
I know i just need to export XKB_DEFAULT_LAYOUT=fr
But i can't use number to switch to other worspace, because on fr keyboard the "1" is "&" and & was forbiden.
Message log:
Bindsym - unknow key &.
Can you help me ?

Sorry , but the other keyboard are not supported on my pc (fr).
I know i just need to export XKB_DEFAULT_LAYOUT=fr
But i can't use number to switch to other worspace, because on fr keyboard the "1" is "&" and & was forbiden.
Message log:
Bindsym - unknow key &.
Can you help me ?

@Half-Shot

This comment has been minimized.

Show comment
Hide comment
@Half-Shot

Half-Shot Sep 12, 2015

Contributor

I used to use bindcode in i3 for unknown symbols. I'm guessing another wlc feature.
On 12 Sep 2015 11:54, tiregram notifications@github.com wrote:Sorry , but the other keyboard are not supported on my pc (fr).
I know i just need to export XKB_DEFAULT_LAYOUT=fr
But i can't use number to switch to other worspace, because on fr keyboard the "1" is "&" and & was forbiden.
Message log:
Bindsym - unknow key &.
Can you help me ?

—Reply to this email directly or view it on GitHub.

Contributor

Half-Shot commented Sep 12, 2015

I used to use bindcode in i3 for unknown symbols. I'm guessing another wlc feature.
On 12 Sep 2015 11:54, tiregram notifications@github.com wrote:Sorry , but the other keyboard are not supported on my pc (fr).
I know i just need to export XKB_DEFAULT_LAYOUT=fr
But i can't use number to switch to other worspace, because on fr keyboard the "1" is "&" and & was forbiden.
Message log:
Bindsym - unknow key &.
Can you help me ?

—Reply to this email directly or view it on GitHub.

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Sep 12, 2015

Member

bindcode isn't supported on sway yet. Try binding "ampersand".

Member

SirCmpwn commented Sep 12, 2015

bindcode isn't supported on sway yet. Try binding "ampersand".

@tiregram

This comment has been minimized.

Show comment
Hide comment
@tiregram

tiregram Sep 13, 2015

yes i have try but i have the message.
Bindsym - unknow key &
on the tty, this message error was genenrate by the line:
command.c:154
because you check
xkb_keysym_from_name(split->items[i], XKB_KEYSYM_CASE_INSENSITIVE);

yes i have try but i have the message.
Bindsym - unknow key &
on the tty, this message error was genenrate by the line:
command.c:154
because you check
xkb_keysym_from_name(split->items[i], XKB_KEYSYM_CASE_INSENSITIVE);

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Oct 28, 2015

Member

Updated with features from i3 4.11.

Member

SirCmpwn commented Oct 28, 2015

Updated with features from i3 4.11.

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Nov 20, 2015

Member

Not strictly an i3 feature, but since there is no root window on Wayland, sway now supports setting your wallpaper from the sway config. See man 5 sway for details.

Member

SirCmpwn commented Nov 20, 2015

Not strictly an i3 feature, but since there is no root window on Wayland, sway now supports setting your wallpaper from the sway config. See man 5 sway for details.

@Manouchehri

This comment has been minimized.

Show comment
Hide comment
@Manouchehri

Manouchehri Nov 21, 2015

Is it possible to start a program as floating with Sway?

Is it possible to start a program as floating with Sway?

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Nov 21, 2015

Member

Not yet, no.

Member

SirCmpwn commented Nov 21, 2015

Not yet, no.

@Manouchehri

This comment has been minimized.

Show comment
Hide comment
@Manouchehri

Manouchehri Nov 21, 2015

@SirCmpwn Would it be possible to change the layout of a window to floating via sway command or sway-msg? Also, what exactly is the proper way of using sway [command]? Every combination I tried just ended up spawning a new sway instance.

@SirCmpwn Would it be possible to change the layout of a window to floating via sway command or sway-msg? Also, what exactly is the proper way of using sway [command]? Every combination I tried just ended up spawning a new sway instance.

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Nov 21, 2015

Member

sway [command] does not work yet (sorry). You can use i3-msg, it'll work on sway. Use the floating toggle command to change the focused window to floating and back, just like i3.

Member

SirCmpwn commented Nov 21, 2015

sway [command] does not work yet (sorry). You can use i3-msg, it'll work on sway. Use the floating toggle command to change the focused window to floating and back, just like i3.

@Manouchehri

This comment has been minimized.

Show comment
Hide comment
@Manouchehri

Manouchehri Nov 21, 2015

Ah, that makes sense; I blindly trusted the man page. Thanks, I'll give that a try!

Ah, that makes sense; I blindly trusted the man page. Thanks, I'll give that a try!

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Nov 26, 2015

Member

I just pushed swaymsg.

Member

SirCmpwn commented Nov 26, 2015

I just pushed swaymsg.

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Dec 17, 2015

Member

Good news: swaybar is working! It's not completely compatible with i3bar, though. I've made a new issue, #343, specifically to track the progress of i3bar feature parity.

Member

SirCmpwn commented Dec 17, 2015

Good news: swaybar is working! It's not completely compatible with i3bar, though. I've made a new issue, #343, specifically to track the progress of i3bar feature parity.

@Airblader

This comment has been minimized.

Show comment
Hide comment
@Airblader

Airblader Dec 17, 2015

That's pretty cool! You guys move fast. Out of curiosity, do you have a screenshot?

That's pretty cool! You guys move fast. Out of curiosity, do you have a screenshot?

@AndreasBackx

This comment has been minimized.

Show comment
Hide comment
@AndreasBackx

AndreasBackx Jul 22, 2017

Neat! Thank you, I'll give it a shot as soon as I get back from my holiday!

Neat! Thank you, I'll give it a shot as soon as I get back from my holiday!

@educatedCaveman

This comment has been minimized.

Show comment
Hide comment
@educatedCaveman

educatedCaveman Sep 27, 2017

I've been toying w/ the idea of trying out Sway, and I've been looking through the man-pages trying to find an answer to this question: given that sway would manage my monitors, how would I rotate one? Or is it not yet possible?

I didn't see where that was one of the documented options.

Apologies if this is not the most appropriate place to ask this question.

I've been toying w/ the idea of trying out Sway, and I've been looking through the man-pages trying to find an answer to this question: given that sway would manage my monitors, how would I rotate one? Or is it not yet possible?

I didn't see where that was one of the documented options.

Apologies if this is not the most appropriate place to ask this question.

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Sep 27, 2017

Member

You could read 3 comments up from your own, perhaps?

Member

SirCmpwn commented Sep 27, 2017

You could read 3 comments up from your own, perhaps?

@educatedCaveman

This comment has been minimized.

Show comment
Hide comment
@educatedCaveman

educatedCaveman Sep 27, 2017

yeah, sorry, I'm a moron. searched for "rotate" and "output", but not "monitor" or "vertical". sorry again.

yeah, sorry, I'm a moron. searched for "rotate" and "output", but not "monitor" or "vertical". sorry again.

@ranisalt

This comment has been minimized.

Show comment
Hide comment
@ranisalt

ranisalt Oct 5, 2017

Contributor

Is there a parallel for set_from_resources on Wayland? I used it with wal to set custom, consistent color schemes on all apps, including i3.

Contributor

ranisalt commented Oct 5, 2017

Is there a parallel for set_from_resources on Wayland? I used it with wal to set custom, consistent color schemes on all apps, including i3.

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Oct 5, 2017

Member

No. Resources are specific to X11.

Member

SirCmpwn commented Oct 5, 2017

No. Resources are specific to X11.

@ranisalt

This comment has been minimized.

Show comment
Hide comment
@ranisalt

ranisalt Oct 5, 2017

Contributor

Nice. I found include which is much more powerful than set_from_resources was for me. Just for documentation, here's what I've done 😄

Contributor

ranisalt commented Oct 5, 2017

Nice. I found include which is much more powerful than set_from_resources was for me. Just for documentation, here's what I've done 😄

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Oct 12, 2017

Member

What does i3 have to do with 9p and Lua?

Member

SirCmpwn commented Oct 12, 2017

What does i3 have to do with 9p and Lua?

gnidorah pushed a commit to gnidorah/sway that referenced this issue Nov 15, 2017

Merge pull request #2 from gnidorah/sni_sucks
Reply in case of object path item
@camoz

This comment has been minimized.

Show comment
Hide comment
@camoz

camoz Nov 21, 2017

Would real transparency qualify as an i3 feature?
See comment from Hi-Angel: #2 (comment)
and this issue: #973

It's not directly a feature of i3, but I assume it was present on many i3 setups, and AIUI sway would be the place to have it implemented since it does the compositing?

camoz commented Nov 21, 2017

Would real transparency qualify as an i3 feature?
See comment from Hi-Angel: #2 (comment)
and this issue: #973

It's not directly a feature of i3, but I assume it was present on many i3 setups, and AIUI sway would be the place to have it implemented since it does the compositing?

@Kommynct

This comment has been minimized.

Show comment
Hide comment
@Kommynct

Kommynct Nov 21, 2017

If transparency did. Shadows should too. But those are things that should be implemented after wlroots.

If transparency did. Shadows should too. But those are things that should be implemented after wlroots.

@oblitum

This comment has been minimized.

Show comment
Hide comment
@oblitum

oblitum Dec 2, 2017

Hi, Sway/i3 beginner here. I've just loaded my termite setup and it's fine except for one thing, I use a very dim translucent background and noticed that when I go fullscreen, the sway topbar doesn't hide. Is there support to hide it away (I mean, when there's transparency) when applications go fullscreen?

oblitum commented Dec 2, 2017

Hi, Sway/i3 beginner here. I've just loaded my termite setup and it's fine except for one thing, I use a very dim translucent background and noticed that when I go fullscreen, the sway topbar doesn't hide. Is there support to hide it away (I mean, when there's transparency) when applications go fullscreen?

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Dec 2, 2017

Member

No.

Member

SirCmpwn commented Dec 2, 2017

No.

@oblitum

This comment has been minimized.

Show comment
Hide comment
@oblitum

oblitum Dec 2, 2017

@SirCmpwn Any plans? I asked here because of #1158 (comment).

oblitum commented Dec 2, 2017

@SirCmpwn Any plans? I asked here because of #1158 (comment).

@oblitum

This comment has been minimized.

Show comment
Hide comment
@oblitum

oblitum Dec 2, 2017

Specifically #1158 asks about i3's hide mode, which for me would work as good too.

oblitum commented Dec 2, 2017

Specifically #1158 asks about i3's hide mode, which for me would work as good too.

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Dec 2, 2017

Member

hide mode is planned.

Member

SirCmpwn commented Dec 2, 2017

hide mode is planned.

@oblitum

This comment has been minimized.

Show comment
Hide comment

oblitum commented Dec 2, 2017

Nice :)

@talwrii

This comment has been minimized.

Show comment
Hide comment
@talwrii

talwrii Jan 1, 2018

Saving layouts to disk will not support
Loading layouts from disk will not support

I use that feature in i3 :/ .

I imagine it isn't too hard to implement this outside of i3 using i3-msg.

Is i3-msg -t get_tree still going to be supported?

talwrii commented Jan 1, 2018

Saving layouts to disk will not support
Loading layouts from disk will not support

I use that feature in i3 :/ .

I imagine it isn't too hard to implement this outside of i3 using i3-msg.

Is i3-msg -t get_tree still going to be supported?

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Jan 1, 2018

Member

Yes, get_tree already works and has worked for some time.

Member

SirCmpwn commented Jan 1, 2018

Yes, get_tree already works and has worked for some time.

@sharpTrick

This comment has been minimized.

Show comment
Hide comment
@sharpTrick

sharpTrick Jan 23, 2018

I made a script that may be useful for

  • workspace
    • left/right/up/down

https://github.com/sharpTrick/set-i3-workspace

I made a script that may be useful for

  • workspace
    • left/right/up/down

https://github.com/sharpTrick/set-i3-workspace

@hyiltiz

This comment has been minimized.

Show comment
Hide comment
@hyiltiz

hyiltiz Jan 26, 2018

Nice work! Expecting "Restart in-place".

hyiltiz commented Jan 26, 2018

Nice work! Expecting "Restart in-place".

@ammgws

This comment has been minimized.

Show comment
Hide comment
@ammgws

ammgws Jan 27, 2018

@progandy

I use that for my keybindings so that I can easily rename a workspace while keepig the hotkey.

Could you please clarify how you are renaming workspaces in sway? swaymsg doesn't appear to support the rename command (e.g. in i3: i3-msg 'rename workspace 5 to 6')

ammgws commented Jan 27, 2018

@progandy

I use that for my keybindings so that I can easily rename a workspace while keepig the hotkey.

Could you please clarify how you are renaming workspaces in sway? swaymsg doesn't appear to support the rename command (e.g. in i3: i3-msg 'rename workspace 5 to 6')

@progandy

This comment has been minimized.

Show comment
Hide comment
@progandy

progandy Jan 27, 2018

Contributor

@ammgws

Could you please clarify how you are renaming workspaces in sway?

In most cases I start with a fresh workspace and give it a name, e.g. swaymsg workspace 5:new_project. My main environment is still i3, though. If I really have to do it in sway, then I can do something like this.

#!/bin/bash
topfocus=""
for i in {1..20}; do
   topfocus="focus parent ; $topfocus"
done
swaymsg "$topfocus" move container to workspace "$1" ';' workspace "$1"
Contributor

progandy commented Jan 27, 2018

@ammgws

Could you please clarify how you are renaming workspaces in sway?

In most cases I start with a fresh workspace and give it a name, e.g. swaymsg workspace 5:new_project. My main environment is still i3, though. If I really have to do it in sway, then I can do something like this.

#!/bin/bash
topfocus=""
for i in {1..20}; do
   topfocus="focus parent ; $topfocus"
done
swaymsg "$topfocus" move container to workspace "$1" ';' workspace "$1"
@ammgws

This comment has been minimized.

Show comment
Hide comment
@ammgws

ammgws Jan 28, 2018

Cheers, I guess that's what I'll have to do for now.

ammgws commented Jan 28, 2018

Cheers, I guess that's what I'll have to do for now.

@hyiltiz

This comment has been minimized.

Show comment
Hide comment
@hyiltiz

hyiltiz Jan 28, 2018

@progandy why the loop that does nothing but set a variable?

hyiltiz commented Jan 28, 2018

@progandy why the loop that does nothing but set a variable?

@progandy

This comment has been minimized.

Show comment
Hide comment
@progandy

progandy Jan 29, 2018

Contributor

@hyiltiz that should add instead of replace... topfocus="focus parent ; $topfocus"

Contributor

progandy commented Jan 29, 2018

@hyiltiz that should add instead of replace... topfocus="focus parent ; $topfocus"

@emersion emersion referenced this issue Mar 31, 2018

Merged

I3bar json #1690

@coderkun

This comment has been minimized.

Show comment
Hide comment
@coderkun

coderkun Apr 2, 2018

Contributor

Is moving a workspace left/right/up/down still not supported?

Contributor

coderkun commented Apr 2, 2018

Is moving a workspace left/right/up/down still not supported?

@SirCmpwn

This comment has been minimized.

Show comment
Hide comment
@SirCmpwn

SirCmpwn Apr 2, 2018

Member

It's supported in the wlroots branch, at least. Not sure about 0.x.

Member

SirCmpwn commented Apr 2, 2018

It's supported in the wlroots branch, at least. Not sure about 0.x.

@coderkun

This comment has been minimized.

Show comment
Hide comment
@coderkun

coderkun Apr 2, 2018

Contributor

Thanks, @SirCmpwn. It is good to know that it will be supported with 1.x.

Contributor

coderkun commented Apr 2, 2018

Thanks, @SirCmpwn. It is good to know that it will be supported with 1.x.

martinetd added a commit to martinetd/sway that referenced this issue Jun 26, 2018

layer_shell: cleanup output link on output destroy
Fixes this kind of use-after-free:
==1795==ERROR: AddressSanitizer: heap-use-after-free on address 0x612000191ef0 at pc 0x00000048c388 bp 0x7ffe308f0410 sp 0x7ffe308f0400
WRITE of size 8 at 0x612000191ef0 thread T0
    #0 0x48c387 in wl_list_remove ../common/list.c:157
    #1 0x42196b in handle_destroy ../sway/desktop/layer_shell.c:275
    #2 0x7f55cc2549fa in wlr_signal_emit_safe ../util/signal.c:29
    #3 0x7f55cc22cf68 in layer_surface_destroy ../types/wlr_layer_shell.c:182
    #4 0x7f55cc22d084 in layer_surface_resource_destroy ../types/wlr_layer_shell.c:196
    #5 0x7f55cc4ca025 in destroy_resource src/wayland-server.c:688
    #6 0x7f55cc4ca091 in wl_resource_destroy src/wayland-server.c:705
    #7 0x7f55cc22c3a2 in resource_handle_destroy ../types/wlr_layer_shell.c:18
    #8 0x7f55c8ef103d in ffi_call_unix64 (/lib64/libffi.so.6+0x603d)
    #9 0x7f55c8ef09fe in ffi_call (/lib64/libffi.so.6+0x59fe)
    #10 0x7f55cc4cdf2c  (/lib64/libwayland-server.so.0+0xbf2c)
    #11 0x7f55cc4ca3de in wl_client_connection_data src/wayland-server.c:420
    #12 0x7f55cc4cbf01 in wl_event_loop_dispatch src/event-loop.c:641
    #13 0x7f55cc4ca601 in wl_display_run src/wayland-server.c:1260
    #14 0x40bb1e in server_run ../sway/server.c:141
    #15 0x40ab2f in main ../sway/main.c:432
    #16 0x7f55cb97318a in __libc_start_main ../csu/libc-start.c:308
    #17 0x408d29 in _start (/opt/wayland/bin/sway+0x408d29)

0x612000191ef0 is located 48 bytes inside of 312-byte region [0x612000191ec0,0x612000191ff8)
freed by thread T0 here:
    #0 0x7f55ce3bb880 in __interceptor_free (/lib64/libasan.so.5+0xee880)
    #1 0x42f1db in handle_destroy ../sway/desktop/output.c:1275
    #2 0x7f55cc2549fa in wlr_signal_emit_safe ../util/signal.c:29
    #3 0x7f55cc23b4c2 in wlr_output_destroy ../types/wlr_output.c:284
    #4 0x7f55cc1ddc20 in xdg_toplevel_handle_close ../backend/wayland/output.c:235
    #5 0x7f55c8ef103d in ffi_call_unix64 (/lib64/libffi.so.6+0x603d)

previously allocated by thread T0 here:
    #0 0x7f55ce3bbe50 in calloc (/lib64/libasan.so.5+0xeee50)
    #1 0x42f401 in handle_new_output ../sway/desktop/output.c:1308
    #2 0x7f55cc2549fa in wlr_signal_emit_safe ../util/signal.c:29
    #3 0x7f55cc1d6cbf in new_output_reemit ../backend/multi/backend.c:113
    #4 0x7f55cc2549fa in wlr_signal_emit_safe ../util/signal.c:29
    #5 0x7f55cc1deac7 in wlr_wl_output_create ../backend/wayland/output.c:327
    #6 0x7f55cc1db353 in backend_start ../backend/wayland/backend.c:55
    #7 0x7f55cc1bad55 in wlr_backend_start ../backend/backend.c:35
    #8 0x7f55cc1d67a0 in multi_backend_start ../backend/multi/backend.c:24
    #9 0x7f55cc1bad55 in wlr_backend_start ../backend/backend.c:35
    #10 0x40ba8a in server_run ../sway/server.c:136
    #11 0x40ab2f in main ../sway/main.c:432
    #12 0x7f55cb97318a in __libc_start_main ../csu/libc-start.c:308

martinetd added a commit to martinetd/sway that referenced this issue Jun 30, 2018

xdg_shell: listen to fullscreen request on map
That event comes from the toplevel and not the surface, so would cause
a use-after-free on destroy if the toplevel got destroyed first:

==5454==ERROR: AddressSanitizer: heap-use-after-free on address 0x6110001ed198 at pc 0x000000472d10 bp 0x7ffc19070a80 sp 0x7ffc19070a70
WRITE of size 8 at 0x6110001ed198 thread T0
    #0 0x472d0f in wl_list_remove ../common/list.c:157
    #1 0x42e159 in handle_destroy ../sway/desktop/xdg_shell_v6.c:243
    #2 0x7fa9e5b28ce8 in wlr_signal_emit_safe ../util/signal.c:29
    #3 0x7fa9e5afd6b1 in destroy_xdg_surface_v6 ../types/xdg_shell_v6/wlr_xdg_surface_v6.c:101
    #4 0x7fa9e5d98025 in destroy_resource src/wayland-server.c:688
    #5 0x7fa9e5d98091 in wl_resource_destroy src/wayland-server.c:705
    #6 0x7fa9e27f103d in ffi_call_unix64 (/lib64/libffi.so.6+0x603d)
    #7 0x7fa9e27f09fe in ffi_call (/lib64/libffi.so.6+0x59fe)
    #8 0x7fa9e5d9bf2c  (/lib64/libwayland-server.so.0+0xbf2c)
    #9 0x7fa9e5d983de in wl_client_connection_data src/wayland-server.c:420
    #10 0x7fa9e5d99f01 in wl_event_loop_dispatch src/event-loop.c:641
    #11 0x7fa9e5d98601 in wl_display_run src/wayland-server.c:1260
    #12 0x40a2f4 in main ../sway/main.c:433
    #13 0x7fa9e527318a in __libc_start_main ../csu/libc-start.c:308
    #14 0x40b749 in _start (/opt/wayland/bin/sway+0x40b749)

0x6110001ed198 is located 152 bytes inside of 240-byte region [0x6110001ed100,0x6110001ed1f0)
freed by thread T0 here:
    #0 0x7fa9e7c89880 in __interceptor_free (/lib64/libasan.so.5+0xee880)
    #1 0x7fa9e5affce9 in destroy_xdg_toplevel_v6 ../types/xdg_shell_v6/wlr_xdg_toplevel_v6.c:23
    #2 0x7fa9e5d98025 in destroy_resource src/wayland-server.c:688

previously allocated by thread T0 here:
    #0 0x7fa9e7c89e50 in calloc (/lib64/libasan.so.5+0xeee50)
    #1 0x7fa9e5b00eea in create_xdg_toplevel_v6 ../types/xdg_shell_v6/wlr_xdg_toplevel_v6.c:427
    #2 0x7fa9e27f103d in ffi_call_unix64 (/lib64/libffi.so.6+0x603d)

The toplevel only notifies the compositor on destroy if it was mapped,
so only listen to events at map time.

martinetd added a commit to martinetd/sway that referenced this issue Jul 4, 2018

ipc-server: add display destroy listener
wl_event_source_remove() is illegal after display has been destroyed

==20392==ERROR: AddressSanitizer: heap-use-after-free on address 0x607000001240 at pc 0x00000048e86e bp 0x7ffe4b557e00 sp 0x7ffe4b557df0
READ of size 8 at 0x607000001240 thread T0
    #0 0x48e86d in wl_list_insert ../common/list.c:149
    #1 0x7fdf673d4d7d in wl_event_source_remove src/event-loop.c:487
    #2 0x41b742 in ipc_terminate ../sway/ipc-server.c:94
    #3 0x40b1ad in main ../sway/main.c:440
    #4 0x7fdf6664c18a in __libc_start_main ../csu/libc-start.c:308
    #5 0x409359 in _start (/opt/wayland/bin/sway+0x409359)

0x607000001240 is located 48 bytes inside of 72-byte region [0x607000001210,0x607000001258)
freed by thread T0 here:
    #0 0x7fdf692c4880 in __interceptor_free (/lib64/libasan.so.5+0xee880)
    #1 0x7fdf673d371a in wl_display_destroy src/wayland-server.c:1097

previously allocated by thread T0 here:
    #0 0x7fdf692c4c48 in malloc (/lib64/libasan.so.5+0xeec48)
    #1 0x7fdf673d4d9e in wl_event_loop_create src/event-loop.c:522
    #2 0x40acb2 in main ../sway/main.c:363
    #3 0x7fdf6664c18a in __libc_start_main ../csu/libc-start.c:308

martinetd added a commit to martinetd/sway that referenced this issue Jul 4, 2018

ipc-server: add display destroy listener
wl_event_source_remove() is illegal after display has been destroyed

==20392==ERROR: AddressSanitizer: heap-use-after-free on address 0x607000001240 at pc 0x00000048e86e bp 0x7ffe4b557e00 sp 0x7ffe4b557df0
READ of size 8 at 0x607000001240 thread T0
    #0 0x48e86d in wl_list_insert ../common/list.c:149
    #1 0x7fdf673d4d7d in wl_event_source_remove src/event-loop.c:487
    #2 0x41b742 in ipc_terminate ../sway/ipc-server.c:94
    #3 0x40b1ad in main ../sway/main.c:440
    #4 0x7fdf6664c18a in __libc_start_main ../csu/libc-start.c:308
    #5 0x409359 in _start (/opt/wayland/bin/sway+0x409359)

0x607000001240 is located 48 bytes inside of 72-byte region [0x607000001210,0x607000001258)
freed by thread T0 here:
    #0 0x7fdf692c4880 in __interceptor_free (/lib64/libasan.so.5+0xee880)
    #1 0x7fdf673d371a in wl_display_destroy src/wayland-server.c:1097

previously allocated by thread T0 here:
    #0 0x7fdf692c4c48 in malloc (/lib64/libasan.so.5+0xeec48)
    #1 0x7fdf673d4d9e in wl_event_loop_create src/event-loop.c:522
    #2 0x40acb2 in main ../sway/main.c:363
    #3 0x7fdf6664c18a in __libc_start_main ../csu/libc-start.c:308

martinetd added a commit to martinetd/sway that referenced this issue Jul 4, 2018

ipc-server: add display destroy listener and remove ipc_terminate
wl_event_source_remove() is illegal after display has been destroyed,
so just destroy everything when we still can.

==20392==ERROR: AddressSanitizer: heap-use-after-free on address 0x607000001240 at pc 0x00000048e86e bp 0x7ffe4b557e00 sp 0x7ffe4b557df0
READ of size 8 at 0x607000001240 thread T0
    #0 0x48e86d in wl_list_insert ../common/list.c:149
    #1 0x7fdf673d4d7d in wl_event_source_remove src/event-loop.c:487
    #2 0x41b742 in ipc_terminate ../sway/ipc-server.c:94
    #3 0x40b1ad in main ../sway/main.c:440
    #4 0x7fdf6664c18a in __libc_start_main ../csu/libc-start.c:308
    #5 0x409359 in _start (/opt/wayland/bin/sway+0x409359)

0x607000001240 is located 48 bytes inside of 72-byte region [0x607000001210,0x607000001258)
freed by thread T0 here:
    #0 0x7fdf692c4880 in __interceptor_free (/lib64/libasan.so.5+0xee880)
    #1 0x7fdf673d371a in wl_display_destroy src/wayland-server.c:1097

previously allocated by thread T0 here:
    #0 0x7fdf692c4c48 in malloc (/lib64/libasan.so.5+0xeec48)
    #1 0x7fdf673d4d9e in wl_event_loop_create src/event-loop.c:522
    #2 0x40acb2 in main ../sway/main.c:363
    #3 0x7fdf6664c18a in __libc_start_main ../csu/libc-start.c:308

martinetd added a commit to martinetd/sway that referenced this issue Jul 4, 2018

ipc-server: add display destroy listener and remove ipc_terminate
wl_event_source_remove() is illegal after display has been destroyed,
so just destroy everything when we still can.

==20392==ERROR: AddressSanitizer: heap-use-after-free on address 0x607000001240 at pc 0x00000048e86e bp 0x7ffe4b557e00 sp 0x7ffe4b557df0
READ of size 8 at 0x607000001240 thread T0
    #0 0x48e86d in wl_list_insert ../common/list.c:149
    #1 0x7fdf673d4d7d in wl_event_source_remove src/event-loop.c:487
    #2 0x41b742 in ipc_terminate ../sway/ipc-server.c:94
    #3 0x40b1ad in main ../sway/main.c:440
    #4 0x7fdf6664c18a in __libc_start_main ../csu/libc-start.c:308
    #5 0x409359 in _start (/opt/wayland/bin/sway+0x409359)

0x607000001240 is located 48 bytes inside of 72-byte region [0x607000001210,0x607000001258)
freed by thread T0 here:
    #0 0x7fdf692c4880 in __interceptor_free (/lib64/libasan.so.5+0xee880)
    #1 0x7fdf673d371a in wl_display_destroy src/wayland-server.c:1097

previously allocated by thread T0 here:
    #0 0x7fdf692c4c48 in malloc (/lib64/libasan.so.5+0xeec48)
    #1 0x7fdf673d4d9e in wl_event_loop_create src/event-loop.c:522
    #2 0x40acb2 in main ../sway/main.c:363
    #3 0x7fdf6664c18a in __libc_start_main ../csu/libc-start.c:308
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment