(use-package fringe :custom (left-fringe-width 0) (right-fringe-width 0) (fringes-outside-margins nil) (indicate-buffer-boundaries nil) (indicate-empty-lines nil) (overflow-newline-into-fringe t)) (use-package scroll-bar :config (scroll-bar-mode -1)) (use-package tool-bar :config (tool-bar-mode -1)) (use-package menu-bar :config (menu-bar-mode -1)) (use-package diminish :ensure t) (use-package frame :config (blink-cursor-mode -1) (setq frame-title-format '("%b@" (:eval (or (file-remote-p default-directory 'host) system-name)))) (when (memq window-system '(mac ns)) (add-to-list 'default-frame-alist '(font . "Source Code Pro-15")) (add-to-list 'default-frame-alist '(fullscreen . maximized)) (add-to-list 'default-frame-alist '(ns-appearance . nil)) (add-to-list 'default-frame-alist '(ns-transparent-titlebar . nil)) (when (boundp 'ns-use-native-fullscreen) (setq ns-use-native-fullscreen nil)) (when (boundp 'mac-allow-anti-aliasing) (setq mac-allow-anti-aliasing t))) (when (memq window-system '(x pgtk)) ;; if using `set-frame-font`, when opening a new frame with ;; emacsclient, the font will not be used. Instead, use ;; `default-frame-alist` to have the same font with emacsclient. (add-to-list 'default-frame-alist '(font . "Source Code Pro-11")) ;; this is a fall back in the case we have Unicode characters. ;; For example, with this settings, the following source is ;; rendered correctly 😇 😀 and 🤢 (set-fontset-font t 'symbol "Noto Color Emoji" nil 'append))) (use-package modus-themes :ensure t :init ;; Load the theme files before enabling a theme (else you get an error). (modus-themes-load-themes) :config (modus-themes-load-operandi)) (require 'time) (setq display-time-24hr-format t) (setq display-time-day-and-date t) (setq display-time-format "%a %e %b, %H:%M") (setq display-time-interval 60) (setq display-time-default-load-average nil) (setq zoneinfo-style-world-list '(("UTC" "UTC") ("America/Los_Angeles" "Berkeley") ("America/Denver" "Mountain Time") ("America/Chicago" "Central Time") ("America/New_York" "New York") ("Europe/London" "London") ("Europe/Paris" "Paris") ("Asia/Calcutta" "Bangalore") ("Asia/Tokyo" "Tokyo"))) ;; the following setup only works with emacs >=28 I think (when (boundp 'world-clock-list) (setq world-clock-list t)) (when (boundp 'world-clock-time-format) (setq world-clock-time-format "%R %z %A %d %B")) (when (boundp 'world-clock-timer-enable) (setq world-clock-timer-enable t)) (when (boundp 'world-clock-timer-second) (setq world-clock-timer-second 60)) ;;; Mode line (setq mode-line-percent-position '(-3 "%p")) (setq-default mode-line-format '("%e" mode-line-front-space mode-line-mule-info mode-line-client mode-line-modified mode-line-remote mode-line-frame-identification mode-line-buffer-identification " " mode-line-position mode-line-modes " " mode-line-misc-info mode-line-end-spaces)) ;; Disable help mouse-overs for mode-line as they provide little to no benefits (setq mode-line-default-help-echo nil show-help-function nil) (use-package uniquify :defer 5 :config ;; don't muck with special buffers (setq uniquify-ignore-buffers-re "^\\*") (setq uniquify-buffer-name-style 'forward) (setq uniquify-separator "/")) ;; required for dap-mode and dap-ui-mode (use-package posframe :ensure t) (setq display-buffer-alist `( ("\\*\\(.* # Help.*\\|Help\\)\\*" ; See the hooks for `visual-line-mode' (display-buffer-reuse-mode-window display-buffer-in-side-window) (window-width . 0.35) (side . left) (slot . 0)) ("\\*\\(Wo\\)\?Man" (display-buffer-in-side-window) (window-width . 0.4) (side . left) (slot . 0)) ("\\*\\(wclock\\).*" (display-buffer-in-side-window) (window-width . 0.35) (side . left) (slot . 0)))) (add-hook 'help-mode-hook #'visual-line-mode) (provide 'fcuny-ui)