Open Ryex opened 1 year ago
personally, I was slowly replacing the icons in my own config with icons from Nerdfont and Weathericons with some form Remix icons. buy you can of course use which ever fonts you want.
Would you mind sharing that code / making a PR?
you've updated the function and the icon names since I did it but this is the mapping it did.
note that the remixicon names often have an option between _fill
and _line
and my choices on each one were mostly based on which had more visual contrast to be easy to see on a dark background. your choices may be different.
I didn't have perfect replacement for every icon, especially for the apps.
local function icons()
-- local font_awesome_6_solid_font_name = "Font Awesome 6 Pro Solid "
-- local font_awesome_6_brands_font_name = "Font Awesome 6 Brands "
local nerdfont_font_name = "AestheticIosevka Nerd Font "
local nerdfont = require("fonts.nerdfont")
local remixicon_font_name = "remixicon "
local remixicon = require("fonts.remixicon")
local weathericons_font_name = "weathericons "
local weathericons = require("fonts.weathericons")
--local remixicon = timed_load.require("fonts.remixicon")
theme.window_icon = { icon = remixicon.ri_window_line , font = remixicon_font_name } --
theme.file_manager_icon = { icon = remixicon.ri_folders_line, font = remixicon_font_name }
theme.terminal_icon = { icon = remixicon.ri_terminal_box_line, font = remixicon_font_name }
theme.firefox_icon = { icon = remixicon.ri_firefox_fill, font = remixicon_font_name }
theme.chrome_icon = { icon = remixicon.ri_chrome_fill, font = remixicon_font_name }
theme.code_icon = { icon = remixicon.ri_code_box_line, font = remixicon_font_name, size = 25 }
theme.git_icon = { icon = nerdfont.nf_mdi_git, font = nerdfont_font_name }
theme.gitkraken_icon = { icon = remixicon.ri_git_branch_line, font = remixicon_font_name }
theme.discord_icon = { icon = remixicon.ri_discord_fill, font = remixicon_font_name }
theme.telegram_icon = { icon = remixicon.ri_telegram_fill, font = remixicon_font_name }
theme.spotify_icon = { icon = remixicon.ri_spotify_fill, font = remixicon_font_name }
theme.steam_icon = { icon = remixicon.ri_steam_fill, font = remixicon_font_name }
theme.gamepad_alt_icon = { icon = remixicon.ri_gamepad_fill, font = remixicon_font_name, size = 20 }
theme.led_icon = { icon = "", font = nerdfont_font_name, size = 30 }
theme.download_icon = { icon = remixicon.ri_download_fill, font = remixicon_font_name }
theme.system_monitor_icon = { icon = remixicon.ri_dashboard_2_line, font = remixicon_font_name }
theme.calculator_icon = { icon = remixicon.ri_calculator_line, font = remixicon_font_name }
theme.computer_icon = { icon = remixicon.ri_computer_line, font = remixicon_font_name }
theme.video_download_icon = { icon = remixicon.ri_video_download_line, font = remixicon_font_name }
theme.speaker_icon = { icon = remixicon.ri_speaker_fill, font = remixicon_font_name }
theme.archeive_icon = { icon = remixicon.ri_file_zip_fill, font = remixicon_font_name }
theme.palette_icon = { icon = remixicon.ri_palette_fill, font = remixicon_font_name }
theme.unlock_icon = { icon = remixicon.ri_lock_unlock_line, font = remixicon_font_name }
theme.list_icon = { icon = remixicon.ri_list_check, font = remixicon_font_name }
theme.nvidia_icon = { icon = remixicon.ri_cpu_line, font = remixicon_font_name }
theme.spraycan_icon = { icon = nerdfont.nf_mdi_spray, font = nerdfont_font_name }
theme.note_icon = { icon = remixicon.ri_sticky_note_line, font = remixicon_font_name }
theme.image_icon = { icon = remixicon.ri_image_2_line, font = remixicon_font_name }
theme.envelope_icon = { icon = nerdfont.nf_fa_envelope, font = nerdfont_font_name }
theme.word_icon = { icon = remixicon.ri_file_word_2_fill, font = remixicon_font_name }
theme.powerpoint_icon = { icon = remixicon.ri_file_ppt_2_fill, font = remixicon_font_name }
theme.excel_icon = { icon = remixicon.ri_file_excel_2_fill, font = remixicon_font_name }
theme.camera_retro_icon = { icon = remixicon.ri_camera_3_fill, font = remixicon_font_name}
theme.wifi_off_icon = { icon = remixicon.ri_signal_wifi_off_fill, font = remixicon_font_name }
theme.wifi_low_icon = { icon = remixicon.ri_signal_wifi_1_fill, font = remixicon_font_name }
theme.wifi_medium_icon = { icon = remixicon.ri_signal_wifi_2_fill, font = remixicon_font_name }
theme.wifi_high_icon = { icon = remixicon.ri_signal_wifi_3_fill, font = remixicon_font_name }
theme.wired_off_icon = { icon = nerdfont.nf_mdi_ethernet_cable_off, font = nerdfont_font_name }
theme.wired_icon = { icon = nerdfont.nf_mdi_ethernet_cable, font = nerdfont_font_name }
theme.bluetooth_icon = { icon = nerdfont.nf_mdi_bluetooth, font = nerdfont_font_name }
theme.bluetooth_off_icon = { icon = nerdfont.nf_mdi_bluetooth_off, font = nerdfont_font_name }
theme.battery_bolt_icon = { icon = nerdfont.nf_mdi_battery_charging, font = nerdfont_font_name }
theme.battery_quarter_icon = { icon = nerdfont.nf_mdi_battery_20, font = nerdfont_font_name }
theme.battery_half_icon = { icon = nerdfont.nf_mdi_battery_50, font = nerdfont_font_name }
theme.battery_three_quarter_icon = { icon = nerdfont.nf_mdi_battery_70, font = nerdfont_font_name }
theme.battery_full_icon = { icon = nerdfont.nf_mdi_battery, font = nerdfont_font_name }
theme.volume_off_icon = { icon = nerdfont.nf_mdi_volume_off, font = nerdfont_font_name }
theme.volume_low_icon = { icon = nerdfont.nf_mdi_volume_low, font = nerdfont_font_name }
theme.volume_normal_icon = { icon = nerdfont.nf_mdi_volume_medium, font = nerdfont_font_name }
theme.volume_high_icon = { icon = nerdfont.nf_mdi_volume_high, font = nerdfont_font_name }
theme.keyboard_icon = { icon = remixicon.ri_keyboard_fill, font = remixicon_font_name }
theme.brightness_icon = { icon = nerdfont.nf_mdi_brightness_5, font = nerdfont_font_name }
theme.microphone_icon = { icon = remixicon.ri_mic_fill, font = remixicon_font_name }
theme.microphone_off_icon = { icon = remixicon.ri_mic_off_fill, font = remixicon_font_name }
theme.poweroff_icon = { icon = nerdfont.nf_iec_power_off, font = nerdfont_font_name }
theme.reboot_icon = { icon = nerdfont.nf_mdi_restart, font = nerdfont_font_name }
theme.suspend_icon = { icon = nerdfont.nf_iec_sleep_mode, font = nerdfont_font_name }
theme.exit_icon = { icon = remixicon.ri_logout_box_line, font = remixicon_font_name }
theme.lock_icon = { icon = remixicon.ri_lock_2_line, font = remixicon_font_name }
theme.mug_saucer_icon = { icon = nerdfont.nf_fa_coffee, font = nerdfont_font_name }
theme.circle_exclamation_icon = { icon = nerdfont.nf_fa_exclamation_circle, font = nerdfont_font_name }
theme.play_icon = { icon = remixicon.ri_play_line, font = remixicon_font_name }
theme.pause_icon = { icon = remixicon.ri_pause_line, font = remixicon_font_name }
theme.forward_icon = { icon = remixicon.ri_skip_forward_line, font = remixicon_font_name }
theme.backward_icon = { icon = remixicon.ri_skip_back_line, font = remixicon_font_name }
theme.chevron_right_icon = { icon = nerdfont.nf_fa_chevron_right, font = nerdfont_font_name }
theme.chevron_circle_left_icon = { icon = nerdfont.nf_fa_chevron_circle_left, font = nerdfont_font_name }
theme.chevron_circle_right_icon = { icon = nerdfont.nf_fa_chevron_circle_right, font = nerdfont_font_name }
theme.airplane_off_icon = { icon = nerdfont.nf_mdi_airplane_off, font = nerdfont_font_name }
theme.airplane_icon = { icon = nerdfont.nf_mdi_airplane, font = nerdfont_font_name }
theme.bluelight_icon = { icon = nerdfont.nf_mdi_lightbulb_on, font = nerdfont_font_name }
theme.bluelight_off_icon = { icon = nerdfont.nf_mdi_lightbulb, font = nerdfont_font_name}
theme.skull_icon = { icon = remixicon.ri_skull_fill, font = remixicon_font_name }
theme.lightbulb_icon = { icon = nerdfont.nf_mdi_lightbulb_on_outline, font = nerdfont_font_name }
theme.lightbulb_off_icon = { icon = nerdfont.nf_mdi_lightbulb_outline, font = nerdfont_font_name }
theme.bell_icon = { icon = remixicon.ri_notification_2_fill, font = remixicon_font_name }
theme.grid_icon = { icon = remixicon.ri_layout_grid_fill, font = remixicon_font_name }
theme.bars_icon = { icon = nerdfont.nf_fa_bars, font = nerdfont_font_name }
theme.router_icon = { icon = remixicon.ri_router_fill, font = remixicon_font_name }
theme.code_pull_request_icon = { icon = remixicon.ri_git_pull_request_line, font = remixicon_font_name }
theme.message_icon = { icon = remixicon.ri_message_2_line, font = remixicon_font_name }
theme.star_icon = { icon = remixicon.ri_star_fill, font = remixicon_font_name }
theme.code_branch_icon = { icon = remixicon.ri_git_branch_line, font = remixicon_font_name }
theme.paint_icon = { icon = remixicon.ri_paint_fill, font = remixicon_font_name }
theme.right_long_icon = { icon = nerdfont.nf_fa_long_arrow_right, font = nerdfont_font_name }
theme.pen_to_square_icon = { icon = remixicon.ri_edit_box_fill, font = remixicon_font_name }
theme.triangle_icon = { icon = nerdfont.nf_cod_triangle_down, font = nerdfont_font_name }
theme.circle_icon = { icon = nerdfont.nf_mdi_close_circle, font = nerdfont_font_name }
theme.xmark_icon = { icon = nerdfont.nf_mdi_close, font = nerdfont_font_name }
theme.arch_icon = { icon = nerdfont.nf_linux_archlinux, font = nerdfont_font_name }
theme.home_icon = { icon = remixicon.ri_home_3_fill, font = remixicon_font_name }
theme.microchip_icon = { icon = nerdfont.nf_fa_microchip, font = nerdfont_font_name }
theme.memory_icon = { icon = nerdfont.nf_mdi_memory, font = nerdfont_font_name }
theme.disc_drive_icon = { icon = remixicon.ri_hard_drive_2_fill, font = remixicon_font_name }
theme.thermometer_quarter_icon = { icon = nerdfont.nf_fa_thermometer_quarter, font = nerdfont_font_name, size = 30 }
theme.thermometer_half_icon = { icon = nerdfont.nf_fa_thermometer_half, font = nerdfont_font_name, size = 30 }
theme.thermometer_three_quarter_icon = { icon = nerdfont.nf_fa_thermometer_three_quarters, font = nerdfont_font_name, size = 30 }
theme.thermometer_full_icon = { icon = nerdfont.nf_fa_thermometer, font = nerdfont_font_name, size = 30 }
theme.boombox_icon = { icon = nerdfont.nf_mdi_boombox, font = nerdfont_font_name }
theme.burn_icon = { icon = remixicon.ri_dvd_line, font = remixicon_font_name }
theme.gear_icon = { icon = remixicon.ri_settings_3_fill , font = remixicon_font_name }
theme.commit_icon = { icon = remixicon.ri_git_commit_line, font = remixicon_font_name }
theme.reddit_icon = { icon = remixicon.ri_reddit_fill, font = remixicon_font_name }
theme.youtube_icon = { icon = remixicon.ri_youtube_fill, font = remixicon_font_name }
theme.amazon_icon = { icon = remixicon.ri_amazon_fill, font = remixicon_font_name }
theme.gitlab_icon = { icon = remixicon.ri_gitlab_fill, font = remixicon_font_name }
theme.check_icon = { icon = remixicon.ri_check_fill, font = remixicon_font_name }
theme.user_icon = { icon = remixicon.ri_user_fill, font = remixicon_font_name }
theme.scissors_icon = { icon = remixicon.ri_scissors_fill, font = remixicon_font_name }
theme.clock_icon = { icon = remixicon.ri_time_line, font = remixicon_font_name }
theme.box_icon = { icon = remixicon.ri_archive_line, font = remixicon_font_name }
theme.left_icon = { icon = remixicon.ri_arrow_left_line, font = remixicon_font_name }
theme.circle_plus_icon = { icon = remixicon.ri_add_circle_line, font = remixicon_font_name }
theme.circle_minus_icon = { icon = remixicon.ri_indeterminate_circle_line, font = remixicon_font_name }
theme.video_icon = { icon = remixicon.ri_video_line, font = remixicon_font_name }
theme.industry_icon = { icon = nerdfont.nf_fa_industry, font = nerdfont_font_name }
theme.chart_line_icon = { icon = nerdfont.nf_mdi_chart_line, font = nerdfont_font_name }
theme.repeat_icon = { icon = remixicon.ri_repeat_line, font = remixicon_font_name }
theme.shuffle_icon = { icon = remixicon.ri_shuffle_line, font = remixicon_font_name }
theme.wrench_icon = { icon = nerdfont.nf_mdi_wrench, font = nerdfont_font_name }
theme.calendar_icon = { icon = remixicon.ri_calendar_2_line, font = remixicon_font_name }
theme.file_icon = { icon = remixicon.ri_file_line, font = remixicon_font_name }
theme.hammer_icon = { icon = remixicon.ri_hammer_line, font = remixicon_font_name }
theme.command_icon = { icon = remixicon.ri_command_line, font = remixicon_font_name }
theme.clipboard_icon = { icon = remixicon.ri_clipboard_line, font = remixicon_font_name }
theme.folder_open_icon = { icon = remixicon.ri_folder_open_line, font = remixicon_font_name }
theme.launcher_icon = { icon = nerdfont.nf_mdi_launch, font = nerdfont_font_name }
theme.caret_left_icon = { icon = nerdfont.nf_fa_caret_left, font = nerdfont_font_name }
theme.caret_right_icon = { icon = nerdfont.nf_fa_caret_right, font = nerdfont_font_name }
theme.flameshot_icon = { icon = remixicon.ri_camera_lens_line, font = remixicon_font_name }
theme.bars_staggered_icon = { icon = remixicon.ri_bar_chart_horizontal_line, font = remixicon_font_name }
theme.square_icon = { icon = nerdfont.nf_mdi_window_maximize, font = nerdfont_font_name}
theme.trash_icon = { icon = remixicon.ri_delete_bin_6_line, font = remixicon_font_name }
theme.list_music_icon = { icon = remixicon.ri_folder_music_line, font = remixicon_font_name }
theme.arrow_rotate_right_icon = { icon = remixicon.ri_arrow_right_line, font = remixicon_font_name }
theme.table_layout_icon = { icon = remixicon.ri_table_line, font = remixicon_font_name }
theme.tag_icon = { icon = remixicon.ri_price_tag_3_line, font = remixicon_font_name }
theme.xmark_icon_fw = { icon = nerdfont.nf_fa_close, font = nerdfont_font_name }
theme.github_icon = { icon = remixicon.ri_github_fill, font = remixicon_font_name }
theme.clouds_icon = { icon = remixicon.ri_cloud_fill, font = remixicon_font_name }
theme.circle_check_icon = { icon = remixicon.ri_checkbox_circle_line, font = remixicon_font_name }
theme.chevron_up_icon = { icon = nerdfont.nf_fa_chevron_up, font = nerdfont_font_name }
theme.chevron_down_icon = { icon = nerdfont.nf_fa_chevron_down, font = nerdfont_font_name }
theme.terminal_emu_icon = { icon = nerdfont.nf_cod_terminal_bash, font = nerdfont_font_name }
theme.location_dot_icon = { icon = remixicon.ri_map_pin_2_line, font = remixicon_font_name}
theme.server_icon = { icon = remixicon.ri_server_line, font = remixicon_font_name }
theme.toggle_on_icon = { icon = remixicon.ri_toggle_fill, font = remixicon_font_name }
theme.toggle_off_icon = { icon = remixicon.ri_toggle_line, font = remixicon_font_name }
theme.usb_icon = { icon = remixicon.ri_usb_line, font = remixicon_font_name }
theme.usb_drive_icon = { icon = remixicon.ri_hard_drive_2_line, font = remixicon_font_name }
theme.signal_stream_icon = { icon = remixicon.ri_base_station_line, font = remixicon_font_name }
theme.car_battery_icon = { icon = nerdfont.nf_mdi_car_battery, font = nerdfont_font_name }
theme.sun_icon = { icon = weathericons.wi_day_sunny, font = weathericons_font_name }
theme.sun_cloud_icon = { icon = weathericons.wi_day_sunny_overcast, font = weathericons_font_name}
theme.cloud_sun_icon = { icon = weathericons.wi_day_cloudy_high, font = weathericons_font_name}
theme.cloud_sun_rain_light_icon = { icon = weathericons.wi_day_showers, font = weathericons_font_name}
theme.cloud_bolt_sun_icon = { icon = weathericons.wi_day_thunderstorm, font = weathericons_font_name }
theme.sun_full_cloud_icon = { icon = weathericons.wi_day_cloudy, font = weathericons_font_name}
theme.cloud_sun_rain_icon = { icon = weathericons.wi_day_rain, font = weathericons_font_name }
theme.cloud_sun_snowflake_icon = { icon = weathericons.wi_day_snow, font = weathericons_font_name }
theme.cloud_sun_fog_icon = { icon = weathericons.wi_day_fog, font = weathericons_font_name }
theme.cloud_icon = { icon = weathericons.wi_cloud, font = weathericons_font_name}
theme.raindrops_icon = { icon = weathericons.wi_rain, font = weathericons_font_name }
theme.snowflake_icon = { icon = weathericons.wi_snow, font = weathericons_font_name }
theme.cloud_fog_icon = { icon = weathericons.wi_fog, font = weathericons_font_name }
theme.moon_icon = { icon = weathericons.wi_night_clear, font = weathericons_font_name }
theme.cloud_moon_icon = { icon = weathericons.wi_night_alt_cloudy_high, font = weathericons_font_name }
theme.moon_cloud_icon = { icon = weathericons.wi_night_alt_partly_cloudy, font = weathericons_font_name }
theme.cloud_moon_rain_light_icon = { icon = weathericons.wi_night_alt_showers, font = weathericons_font_name }
theme.cloud_bolt_moon_icon = { icon = weathericons.wi_night_alt_thunderstorm, font = weathericons_font_name }
theme.moon_full_cloud_icon = { icon = weathericons.wi_night_alt_cloudy, font = weathericons_font_name}
theme.cloud_moon_rain_icon = { icon = weathericons.wi_night_alt_rain, font = weathericons_font_name }
theme.cloud_moon_snowflake_icon = { icon = weathericons.wi_night_alt_snow, font = weathericons_font_name }
theme.cloud_moon_fog_icon = { icon = weathericons.wi_night_fog, font = weathericons_font_name }
end
I tried switching over to nerdfont, but the issue with that is since they have icons from many different sets I need to manually set a different size for each icon so they look identical in size
It would be nice to have the fonts move away from a paid font.
I have written some scripts to make using icon fonts a bit easier
https://gist.github.com/Ryex/668faf884eaca5b310fdaaadef6895e3
the
preprocess_fontcss.lua
takes a font's css file and builds a lua table of the font icons with names that map to their css names so you can require the table and map the names and take advantage of autocomplete instead of copy pasting each icon. the font tables are current as of a month ago.personally, I was slowly replacing the icons in my own config with icons from Nerdfont and Weathericons with some form Remix icons. but you can of course use which ever fonts you want.