i3wm: 작업 공간으로 전환하고 컨테이너를 다른 작업 공간에 매핑된 (동일한) 작업 공간으로 이동합니다.

i3wm: 작업 공간으로 전환하고 컨테이너를 다른 작업 공간에 매핑된 (동일한) 작업 공간으로 이동합니다.

여러분, 안녕하세요,

이 질문은 나를 당황하게 만들었습니다.

현재 행동

내 i3 구성에는 다음과 같은 작업 공간이 있습니다.

    bindsym $mod+grave workspace h0me
    bindsym $mod+1 workspace term1nal
    bindsym $mod+2 workspace co2e
    bindsym $mod+3 workspace teleg3am
    bindsym $mod+4 workspace edi4or

    bindsym $mod+Shift+grave move container to workspace h0me
    bindsym $mod+Shift+1 move container to workspace term1nal
    bindsym $mod+Shift+2 move container to workspace co2e
    bindsym $mod+Shift+3 move container to workspace teleg3am
    bindsym $mod+Shift+4 move container to workspace edi4or

내 Polybar에는 다음 내용이 있습니다.

    ws-icon-0 = h0me;a
    ws-icon-1 = term1nal;b
    ws-icon-2 = co2e;c
    ws-icon-3 = teleg3am;d
    ws-icon-4 = edi4or;e

여기서 a ~ e는 아이콘입니다.

새 작업 공간으로 전환하고 컨테이너를 이동할 때 Polybar가 이름 옆에 항목을 표시하도록 하고 싶습니다(Polybar는 그에 따라 구성됨).

그러나 컨테이너를 새 작업 공간으로 이동하면 폴리바에 아이콘과 이름만 표시됩니다. 작업공간은 에 매핑되지 않습니다 $mod+1. 모든 작업공간을 검색하거나 반복해야만 작업공간으로 전환할 수 있습니다.

작업 공간으로 전환하면 이름은 같지만 아이콘이 없는 새 작업 공간이 생깁니다.

이 동작은 작업 공간 1~3에만 적용되며 다른 모든 작업 공간은 이에 따라 작동합니다.

환경

출력 i3 --moreversion 2>&-:

i3 버전:
i3-gaps 버전 4.15.0.1을 실행하는 Arch Linux에서 Polybar를 사용하고 있습니다.


로그 파일 URL: https://logs.i3wm.org/logs/5746196614217728.bz2
- 리눅스 배포판 및 버전: Arch Linux Kernel 4.17.2-1
- 컴포지터(예: xcompmgr 또는 compton) 사용 여부: compton

2018-06-27-144015_1920x1080_scrot

답변1

i3 구성 파일 대신 Polybar를 통해 이러한 아이콘을 매핑하는 이유가 있습니까? 이 작업을 수행하는 데 문제가 있는 것은 아닙니다. i3에서 설명하는 대로 정확하게 수행할 수 있습니다.

bindsym $mod+1 workspace 1: 
bindsym $mod+2 workspace 2: 
bindsym $mod+3 workspace 3: 
bindsym $mod+4 workspace 4: 

bindsym $mod+Shift+1 move container to workspace 1: 
bindsym $mod+Shift+2 move container to workspace 2: 
bindsym $mod+Shift+3 move container to workspace 3: 
bindsym $mod+Shift+4 move container to workspace 4: 

상자는 구성 파일에 직접 복사/붙여넣기할 수 있는 훌륭한 아이콘입니다. 나는 특정 작업 영역에서 특정 작업만 수행하는 경향이 있기 때문에 작업 영역을 설명하기 위해 하나의 아이콘만 사용하기로 결정했습니다(예: 작업 영역 2는 웹 탐색, 작업 영역 3은 터미널/코드 편집). 그러나 "내 작업"을 쉽게 수행할 수도 있습니다." 설정.

Polybar를 거치지 않고 i3 프로필로 옮기면 원하는 결과를 얻을 수도 있습니다.

i3 설정 예시

편집하다요청에 따라 Polybar 구성 파일을 첨부했습니다.

;=====================================================
;
;   To learn more about how to configure Polybar
;   go to https://github.com/jaagr/polybar
;
;   The README contains alot of information
;
;=====================================================

[global/wm]
margin-top = 100
margin-bottom = 100

[colors]
fg = ${xrdb:color7}
modfg = ${xrdb:color1}
bg = ${xrdb:color0}

white = #d1d1d1
gray = #585858
black = #ce1d1d1d
red = #c795ae
blue = #95aec7
yellow = #c7ae95
green = #aec795


[bar/example]
width = 100%
height = 41
top = true
;margin-top = 100

border-top-size = 1  # creating top border space
offset-y = -3   # aligning tray icons with rest of bar
monitor = ${env:MONITOR:}

;background = #141021
background = #000f0f0f # This is the hexcode for transparency (also used in powermenu)
foreground = #c4b7c5


fixed-center = false

font-0 = FontAwesome:pixelsize=10;0
font-1 = PragmataPro Nerd Font:pixelsize=10;0
font-2 = "Font Awesome 5 Free:style=Regular:pixelsize=10;1"
font-3 = "Font Awesome 5 Free:style=Solid:pixelsize=10;1"
font-4 = "Font Awesome 5 Brands:pixelsize=10;1"

modules-left = i3
modules-center = date
modules-right = wireless-network cpu memory filesystem filesystem2 temperature pulseaudio backlight battery powermenu

tray-position = right
;tray-maxsize = 41
tray-background = #000f0f0f
tray-foreground= #000f0f0f

scroll-up = i3wm-wsnext
scroll-down = i3wm-wsprev


overline-size = 2
overline-color = ${colors.white}
underline-size = 4
underline-color = ${colors.white}

;override-redirect = true
;wm-restack = i3


[module/i3]
type = internal/i3

pin-workspaces = true
strip-wsnumbers = true
index-sort = true
enable-scroll = false

format = <label-state> 
format-padding-right = 2

label-unfocused-foreground = #8a7f8f
label-unfocused-padding = 1

label-focused-foreground = #c16772
label-focused-padding = 1

label-urgent-foreground = #e4b226
label-urgent-padding = 1


[module/filesystem]
type = internal/fs

; Mountpoints to display
mount-0 = /

label-mounted =  %free%
format-mounted-padding = 2

; Seconds to sleep between updates
; Default: 30
; interval = 10

; Display fixed precision values
; Default: false
fixed-values = true

; Spacing between entries
; Default: 2
spacing = 6




[module/filesystem2]
type = internal/fs

; Mountpoints to display
mount-0 = /media/<my_name>/Data

label-mounted =  %free%
format-mounted-padding = 2

; Seconds to sleep between updates
; Default: 30
; interval = 10

; Display fixed precision values
; Default: false
fixed-values = true

; Spacing between entries
; Default: 2
spacing = 6





[module/cpu]
type = internal/cpu

interval = 1

format = <label>
format-padding = 2

label =  %percentage%%


[module/memory]
type = internal/memory

interval = 1

format = <label>
format-padding = 2

label =  %gb_used% (%percentage_used%%)


[module/temperature]
type = internal/temperature

interval = 1

thermal-zone = 0

warn-temperature = 74

format = <ramp> <label>
format-padding = 2

format-warn = <ramp> <label-warn>
format-warn-padding = 2

label = %temperature-c%

label-warn = %temperature-c%
label-warn-foreground = #e4b226

ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-3 = 
ramp-4 = 


[module/date]
type = internal/date

interval = 1

date = %a %b %d, 
time = %H:%M:%S

date-alt = %A, %d %B %Y
time-alt = %H:%M:%S

format = <label>
format-padding = 2

label =  %date% %time%


[module/battery]
; Note - if battery isn't showing, try BAT0 or BAT1, etc.
type = internal/battery

full-at = 95

battery = BAT1
adapter = ACAD

poll-interval = 5

format-charging = <animation-charging> <label-charging>
format-charging-padding = 2

format-discharging = <ramp-capacity> <label-discharging>
format-discharging-padding = 2

format-full = <ramp-capacity> <label-full>
format-full-padding = 2

label-charging = %percentage%%

label-discharging = %percentage%%

label-full = %percentage%%

ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-3 = 
ramp-capacity-4 = 

animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-3 = 
animation-charging-4 = 
animation-charging-framerate = 500


[module/backlight]
type = internal/backlight

card = intel_backlight

format = <label>
format-padding = 2

label =  %percentage%%


[module/pulseaudio]
type = internal/pulseaudio
; List sinks via `pactl list sinks` and look at the Name field

sink = alsa_output.pci-0000_00_1b.0.analog-stereo
;interval = 1

format-volume-padding = 2
format-volume = <ramp-volume> <label-volume>
ramp-volume-0 = 
ramp-volume-1 = 
ramp-volume-2 = 

format-muted-padding = 2
label-muted =  0%


[module/powermenu]
type = custom/menu

label-open =   

label-close = cancel

label-close-background = #000f0f0f
label-close-foreground = #ffeefc
label-open-padding-left = 4
label-open-padding-right = 3
label-close-padding = 3

menu-0-0 = lock
menu-0-0-exec = ~/scripts/lock.sh
menu-0-0-background = #000f0f0f
menu-0-0-foreground = #c05c47
menu-0-0-padding-right = 3

menu-0-1 = reboot
menu-0-1-exec = menu-open-1
menu-0-1-background = #000f0f0f
menu-0-1-foreground = #c05c47
menu-0-1-padding-right = 3

menu-0-2 = power off
menu-0-2-exec = menu-open-2
menu-0-2-background = #000f0f0f
menu-0-2-foreground = #c05c47
menu-0-2-padding-right = 3

menu-1-0 = reboot?  
menu-1-0-exec = reboot
menu-1-0-background = #000f0f0f
menu-1-0-foreground = #e4b226
menu-1-0-padding-right = 3

menu-2-0 = power off?  
menu-2-0-exec = poweroff
menu-2-0-background = #000f0f0f
menu-2-0-foreground = #e4b226
menu-2-0-padding-right = 3


[module/wireless-network]
type = internal/network

; Look at ifconfig for interface
interface = wlo1

format-connected = <label-connected>
format-connected-padding = 2

format-disconnected = <label-disconnected>
format-disconnected-padding = 2

label-connected =  %essid%

label-disconnected =  None

관련 정보