Have you tried assigning the workspaces to VGA1? See
http://i3wm.org/docs/userguide.html#workspace_screen. When the output
is unavailable, workspaces get moved to another output, which in your
case is LVDS1.

On Tue, Oct 14, 2014 at 8:34 PM, Fabian Raetz <fabian.ra...@gmail.com> wrote:
> On Tue, Oct 14, 2014 at 10:55:07AM -0500, Bigby James wrote:
>> On 10/14, Fabian Raetz wrote:
>> > Hi all,
>> >
>> > i am looking for a way to move all (or some)
>> > of my workspaces to another output.
>> >
>> > Something like in the following shell script  would be nice:
>> >
>> > -------------------------
>> > #!/bin/sh
>> >
>> > WS="2 3 4 5 6"
>> > OUTPUT=VGA1
>> >
>> > for W in $WS; do
>> >     i3-msg move workspace $W to output $OUTPUT
>> > done
>> > -------------------------
>> >
>> >
>> > Is there an easy solution i have overseen?
>> >
>> > Regards,
>> > Fabian
>>
>> An active monitor *must* have a workspace on it, and a workspace only exists 
>> after
>> being explicitly created. So you can't move all currently existing 
>> workspaces to
>> another monitor simultaneously. You'd need to first create a new workspace on
>> the current monitor, then move all the previously created ones to a new 
>> monitor.
>> What you can also do is use xrandr to deactivate the current display, which 
>> (if you
>> only have two monitors in total) will move all worskpaces to the only active
>> monitor.
>>
>> It's probably worth explaining exactly why you'd want to do this, though, 
>> since
>> needing to move everything to another monitor all at once really sounds like 
>> a
>> scenario that could be avoided with proper planning.
>
> Sure.
> I am using i3wm on my Notebook which has a small screen resolution
> (1366x768).  So it happens that i have most workspaces on a second
> output (VGA1). On the first output (LVDS1) is most of the time only
> workspace 1 and 10 active which shows xconsole/mutt/logs.
>
> Before i switch locations i detach the second output (VGA1) and all 
> workspaces move
> to the first (LVDS1).  Then i suspend.
>
>
> So far, so good.  Now the problem i am trying to solve:
>
> When i resume and plug in a second monitor, i have to manually move all
> workspaces back to the second output which is a bit frustrating.
> This happens multiple times a day.
>
> I run a script whenever an output changes via an external tool,
> so i thought i could use the above snippet or something else to move all
> existing workspaces except 1 and 10 to the second output (VGA1).
>
> Any suggestions?
>
> Thanks for your time,
> Fabian
>
>>
>> --
>> "A common mistake that people make when trying to design something completely
>> foolproof is to underestimate the ingenuity of complete fools." - Douglas 
>> Adams
>>



-- 
Best regards,
Michael

Reply via email to