ArchLabs Linux

Rofi -show window without FontAwesome icons

Hi there, I wonder how to get rid of FontAwesome icons in the rofi -show window mode?
Where does this guy gets these icons ? I’m asking this because they don’t refer to my workspaces settings and I think it’s weird. Any idea?

Check ~/.Xresources, I haven’t used rofi in a long time so maybe it’s enabled by default and needs a flag to disable. I’m sure the manpage has a section for it if you search for icons.

Bad luck, my .Xresources doesn’t contain any reference to rofi (I deleted them) and in /etc/skel/.Xresources the rofi lines don’t invoke icons. The man page only talks about “showing” applications icons. Could it be an AL setting ? Or may rofi bugs with the i3 workspaces settings in the config file. I have a dual-screen setup.

Check ~/.config/rofi

may be a config.rasi (or just config) for rofi there.

That’s what it is, if the workspaces are named with icons then they’ll show up.

In fact they show up but they don’t correspond with the reality, for instance ‘home-icon’ appears on the geany line witch should have an ‘edit-icon’ and plus I deleted that icon from my configs, that’s why I’m talking about an AL setting… (maybe refering to an openbox setting but I run i3) other than that I like them. But don’t worry, no big deal really. If you have no clue you can close this thread.

Perhaps a screenshot of the issue would help. Outside of the obvious configs we don’t do anything fancy regarding workspace names so I’m not sure.

1 Like

It works fine in XFCE but not in i3… I configured xfce workspaces with its own tool under pure Arch but AL does not provide it on an i3 choice because it depends on xfwm4. Am I right ? And for the screenshot, I can’t grab rofi with scrot. Sorry :unamused:

To get a rofi window in a scrot, start scrot in a terminal with a sufficient delay:

scrot -cd 10

Then open the rofi window while it counts down.

I3 and xfwm are very different. Please post your i3 config and polybar modules used in the i3 bar along with a screenshot of rofi issue in action using scrot’s -d option as PackRat suggested.

first thx @PackRat for the scrot tip, I was using 5 seconds, and @natemaia I use i3blocks with two bars (bar-0, bar-1). You can see on the screenshot my workspace setting in i3 config.
i3blocks bars config:

bar {
      id bar-0
      status_command i3blocks -c ~/.config/i3/i3blocks_HDMI-0.conf
      position top
      font pango:monospace 10
      strip_workspace_numbers yes
#      separator_symbol ":"
      output HDMI-0
      tray_output none
#      tray_output primary
##########################################################
####################  bar-0 colors  ######################
##########################################################
colors {
         background #1A2833
         statusline #6092A6
         separator  #1A2833
#    Indicadors panel    border  backgr   text
    focused_workspace   #1A2833 #1A2833 #B09E4C
    active_workspace    #1A2833 #1A2833 #6092A6
    inactive_workspace  #1A2833 #1A2833 #6092A6
    urgent_workspace    #1A2833 #1A2833 #FF1C06
    }
}
bar {
      id bar-1
      status_command i3blocks -c ~/.config/i3/i3blocks_DVI-D-0.conf
      position top
      font pango:monospace 10
      strip_workspace_numbers yes
#      separator_symbol ":"
      output DVI-D-0
      tray_output DVI-D-0
      workspace_buttons yes
##########################################################
####################  bar-1 colors  ######################
##########################################################
colors {
         background #1A2833
         statusline #6092A6
         separator  #1A2833
#    Indicadors panel    border  backgr   text
    focused_workspace   #1A2833 #1A2833 #B09E4C
    active_workspace    #1A2833 #1A2833 #6092A6
    inactive_workspace  #1A2833 #1A2833 #6092A6
    urgent_workspace    #1A2833 #1A2833 #FF1C06
    }
}

Right in the i3 config you have open in the screenshot you can see the workspaces are being given labels

set $WS1 "1:ICON/LABEL"

If you comment those lines then rofi will no longer show number: icon and will only show whatever i3 workspace labels default to (I suspect numbers 1-10).

Well my friend it didn’t change anything and I have also change (switch) my monitors’ positions because I have noticed that the Xfce distplay tool was showing as “screen1” DVI-D-0 and “screen2” HDMI-0.
So I give up for now, I switched to skippy-xd. Thanks again for your help, you can close the discussion.

I am 100% sure that that is where the icons are being defined. Did you reboot? i3 won’t delete previous workspaces while they’re still active (windows still on them).

If you have a bunch of windows open on workspace X then you change the label in the config to Y and restart i3, workspace X will still exist with the same windows and label on it, however it won’t be accessible via keybinds. What you have to do is close all the windows and switch to a different workspace. Same goes for all workspaces with windows on them, when you change the i3 workspaces and restart the wm it has no idea of knowing which were which before so it just leaves them alone and makes new ones.

Apologies if I’m wrong or came off snarky before.

1 Like

Hi nate, so I think I know what’s going on with this strangeness. Rofi interprets workspaces a bit like i3, so it only shows existing workspaces and does not show empties. For example if on the ten theoretical workspaces, only four are occupied then he orders them as he can by assigning them the icons “1: icon” for the first window opened on the primary screen and “2: icon” on the first window open on the secondary screen etc… In any case that’s what I see. Do you have a config with two screens and i3 ?
As I noticed you don’t want me to give up and maybe you’re right. :upside_down_face:
ps: I just opened ten apps each one on their own workspace and rofi shows GOOD, so ‘rofi -show window’ on something like Xmonad or Qtile will be perfect.

This isn’t quite true, in i3 workpsaces are created and destroyed on the fly, if there are no windows on a workspace and it’s not the current then it gets destroyed.

Rofi is just showing what it gets from the following common root window attributes

_NET_NUMBER_OF_DESKTOPS
_NET_CURRENT_DESKTOP
_NET_DESKTOP_NAMES

I haven’t used i3 in a long time but I dug up my old config from git history

# Font
font pango:DejaVu Sans Mono 10

# Title
for_window [class="^.*"] border pixel 1, title_format "<b> %class >> %title </b>"

# Border
# class                 border  backgr. text    ind.    child_border
client.focused          #969896 #1F2326 #F1F1F1 #5DD5FF #969896
client.unfocused        #969896 #1F2326 #1F2326 #1F2326 #1F2326
client.focused_inactive #969896 #1F2326 #1F2326 #1F2326 #1F2326
client.urgent           #EF7878 #1F2326 #EF7878 #EF7878 #EF7878
client.placeholder      #969896 #1F2326 #1F2326 #1F2326 #1F2326
client.background       #1F2326

# Bind workspaces to monitors
workspace 1 output DP-1
workspace 2 output DP-1
workspace 3 output DP-1
workspace 4 output DP-1
workspace 5 output DVI-D-0
workspace 6 output DVI-D-0
workspace 7 output DVI-D-0
workspace 8 output DVI-D-0

#### Startup
##

exec_always --no-startup-id startup.sh -r
exec        --no-startup-id startup.sh -s

#### Application Bindings
##

# Core
bindsym Mod4+F1       exec --no-startup-id st
bindsym Mod4+F2       exec --no-startup-id st -t Ranger -c Ranger -e ranger
bindsym Mod4+F3       exec --no-startup-id st -t Vim -c Vim -e vim
bindsym Mod4+F4       exec --no-startup-id qutebrowser

# Helpers
bindsym Mod4+c       exec --no-startup-id gpick
bindsym Mod4+i       exec --no-startup-id flash.sh
bindsym Mod4+b       exec --no-startup-id toggle.sh -p
bindsym Mod4+Return  exec --no-startup-id toggle.sh -t
bindsym Mod4+m       exec --no-startup-id mounter.sh
bindsym Mod4+Shift+m exec --no-startup-id mounter.sh -r
bindsym Mod4+space   scratchpad show

# Rofi
bindsym Mod1+F1 exec --no-startup-id rofr.sh -r
bindsym Mod1+F2 exec --no-startup-id rofr.sh -w
bindsym Pause   exec --no-startup-id rofr.sh -l

# Screenshot
bindsym Print exec --no-startup-id scrot %a-%H%M%S.png -e 'mv $f ~/Screenshots/$f'

# Basic audio
bindsym XF86AudioRaiseVolume exec --no-startup-id pamixer -i 2
bindsym XF86AudioLowerVolume exec --no-startup-id pamixer -d 2
bindsym XF86AudioMute        exec --no-startup-id pamixer -t

# Mpc audio
bindsym XF86AudioPlay exec --no-startup-id mpc toggle
bindsym XF86AudioStop exec --no-startup-id mpc stop
bindsym XF86AudioNext exec --no-startup-id mpc next
bindsym XF86AudioPrev exec --no-startup-id mpc prev


#### Control Bindings
##

# Sticky Fullscreen Youtube
bindsym Mod4+y floating enable, fullscreen disable, resize set 680 400

# Close active container
bindsym Mod1+q kill
bindsym Mod4+Shift+q kill

# Toggles
bindsym F11              fullscreen toggle
bindsym Mod4+Shift+space floating   toggle

# Reload i3
bindsym Mod4+Shift+r restart
bindsym Mod4+Shift+c reload

# Focus parent container
bindsym Mod4+p focus parent
bindsym Mod4+o focus child

# Change focus
bindsym Mod4+k focus up
bindsym Mod4+j focus down
bindsym Mod4+h focus left
bindsym Mod4+l focus right
bindsym Mod4+g focus mode_toggle

# Move container
bindsym Mod4+Shift+k move up    15px
bindsym Mod4+Shift+j move down  15px
bindsym Mod4+Shift+h move left  25px
bindsym Mod4+Shift+l move right 25px

# Resize container
bindsym Mod4+Control+k resize shrink height 15 px or 1 ppt
bindsym Mod4+Control+j resize grow   height 15 px or 1 ppt
bindsym Mod4+Control+h resize shrink width  20 px or 1 ppt
bindsym Mod4+Control+l resize grow   width  20 px or 1 ppt

# Split orientation
bindsym Mod1+h splith
bindsym Mod1+v splitv

# Layout toggle (keycode 23 is Tab)
bindcode Mod1+23 layout toggle tabbed split
bindcode Mod4+23 layout toggle splitv splith


#### Gaps
##

gaps inner 8
gaps outer 0
smart_borders no_gaps

# Change gaps all workspaces
bindsym Mod4+plus        gaps inner all plus  5
bindsym Mod4+minus       gaps inner all minus 5
bindsym Mod4+Shift+plus  gaps outer all plus  5
bindsym Mod4+Shift+minus gaps outer all minus 5


#### Workspaces
##

# Go to workspace #
bindsym Mod4+1 workspace 1
bindsym Mod4+2 workspace 2
bindsym Mod4+3 workspace 3
bindsym Mod4+4 workspace 4
bindsym Mod4+5 workspace 5
bindsym Mod4+6 workspace 6
bindsym Mod4+7 workspace 7
bindsym Mod4+8 workspace 8

# Move active container to workspace # & follow
bindsym Mod4+Shift+1 move container to workspace 1; workspace 1
bindsym Mod4+Shift+2 move container to workspace 2; workspace 2
bindsym Mod4+Shift+3 move container to workspace 3; workspace 3
bindsym Mod4+Shift+4 move container to workspace 4; workspace 4
bindsym Mod4+Shift+5 move container to workspace 5; workspace 5
bindsym Mod4+Shift+6 move container to workspace 6; workspace 6
bindsym Mod4+Shift+7 move container to workspace 7; workspace 7
bindsym Mod4+Shift+8 move container to workspace 8; workspace 8


#### Specifics
##

# Open applications on specific workspaces
assign [title="(?i)st|vim"]      → 1
assign [title="(?i)ranger"]      → 2
assign [class="(?i)mpv"]         → 4
assign [class="(?i)qutebrowser"] → 5
assign [class="(?i)steam"]       → 6
assign [class="(?i)gimp"]        → 7
assign [class="(?i)pamac"]       → 8

# Change container attributes for some apps
for_window [class="(?i)pavucontrol"]         floating enable
for_window [class="(?i)(?:vimiv|gpick)"]     floating enable
for_window [class="(?i)(?:qutebrowser)"]     floating disable
for_window [class="(?i)(?:deluge|nitrogen)"] floating enable
for_window [class="(?i)(?:lxappe\w+|qt5ct)"] floating enable

for_window [class="(?i)work"]     floating enable, move position 1260 15
for_window [class="(?i)dropdown"] floating enable, move position 460 0, move scratchpad, resize set 1000 400

for_window [title="(?i)(?:copying|deleting|moving|open)"] floating enable
for_window [window_role="(?i)(?:pop-up|setup|preferen*)"] floating enable

# Focus containers immediately
for_window [urgent="latest"] focus
focus_on_window_activation   focus

# Pop-up handling
popup_during_fullscreen smart

# Mouse Settings
mouse_warping     none
floating_modifier Mod1

# Start on main workspaces (keep at the end so it happens last)
exec_always --no-startup-id i3-msg workspace 5, workspace 1

# vim:ft=i3

In other words, this is what I wanted to say being a none-english native frog :fr:

1 Like