;; Using ido to change "tabs" in Firefox!
  ;;
  ;; For this to work properly you need to stop opening new tabs and open
  ;; everything in new windows. It sounds crazy, but then you can use ido
  ;; to switch between "tabs" and everything is wonderful.
  ;;
  ;; Step 1: about:config -> browser.tabs.opentabfor.middleclick -> false
  ;; Step 2: change whatever "open link in new tab" binding in Saka Key or
  ;;         whatever you use to open the link in a new window
  ;; Step 3: rebind ctrl-t to open a new window as well
  ;; Step 4: place the following in chrome/userChrome.css in your FF profile:
  ;;         #tabbrowser-tabs { visibility: collapse !important; }
  ;; Step 5: add this code to your exwm config:
  ;; Step 6: restart your browser and enjoy your new C-x b fanciness!
  (defun pnh-trim-non-ff ()
    (delete-if-not (apply-partially 'string-match "- Mozilla Firefox$")
                   ido-temp-list))

  (add-hook 'exwm-manage-finish-hook
            (defun pnh-exwm-manage-hook ()
              (when (string-match "Firefox" exwm-class-name)
                (exwm-workspace-move-window 3)
                (exwm-layout-hide-mode-line)
                (setq ido-make-buffer-list-hook 'pnh-trim-non-ff))
              (when (string-match "Chromium" exwm-class-name)
                (exwm-workspace-move-window 1)
                (exwm-layout-hide-mode-line))))

  (add-hook 'exwm-update-title-hook
            (defun pnh-exwm-title-hook ()
              (when (string-match "Firefox" exwm-class-name)
                (exwm-workspace-rename-buffer exwm-title))))

  (setq browse-url-firefox-arguments '("-new-window"))

Generated by Phil Hagelberg using scpaste at Thu Dec 7 18:07:50 2017. UTC. (original)