여러분, 안녕하세요,
이 질문은 나를 당황하게 만들었습니다.
현재 행동
내 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
답변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 프로필로 옮기면 원하는 결과를 얻을 수도 있습니다.
편집하다요청에 따라 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