<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/using-advice-to-limit-lsp-ui-doc-nuisance-9m2yjcpbw" -->

---
title: Using advice to limit lsp-ui-doc nuisance | daily.dev
description: A workaround for lsp-ui-doc's annoying popup positioning in Emacs using Elisp advice functions. The solution dynamically positions the documentation frame on...
canonical: https://daily.dev/posts/using-advice-to-limit-lsp-ui-doc-nuisance-9m2yjcpbw
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Using advice to limit lsp-ui-doc nuisance | daily.dev
og:description: A workaround for lsp-ui-doc's annoying popup positioning in Emacs using Elisp advice functions. The solution dynamically positions the documentation frame on...
og:url: https://daily.dev/posts/using-advice-to-limit-lsp-ui-doc-nuisance-9m2yjcpbw
og:image: https://api.daily.dev/og/posts/9M2YJcpBw.png
og:image:alt: Using advice to limit lsp-ui-doc nuisance
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Using advice to limit lsp-ui-doc nuisance

**[Planet Haskell](https://daily.dev/sources/phaskell)** · 1 min read · 0 upvotes · 0 comments

## Summary

A workaround for lsp-ui-doc's annoying popup positioning in Emacs using Elisp advice functions. The solution dynamically positions the documentation frame on the opposite half of the buffer from the cursor, preventing it from covering important information. The implementation uses advice-add to wrap lsp-ui-doc--move-frame and calculates whether to show the frame at top or bottom based on cursor position.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://magnus.therning.org/2026-02-16-using-advice-to-limit-lsp-ui-doc-nuisance.html>

## Similar posts on daily.dev

- [Trying eglot, again](https://daily.dev/posts/trying-eglot-again-7wvy4jic1) · Planet Haskell · 0 upvotes · 0 comments
- [editing](https://daily.dev/posts/editing-pyhyv9zyp) · Hacker News · 0 upvotes · 0 comments
- [adoc-mode 0.8](https://daily.dev/posts/adoc-mode-0-8-xjzwax4xm) · Meta Redux · 0 upvotes · 0 comments
- [Emacs loves AsciiDoc](https://daily.dev/posts/emacs-loves-asciidoc-ytvwsf1j7) · Bozhidar Batsov · 0 upvotes · 0 comments
- [Emacs 31 Is Around the Corner: The Changes I'm Already Daily Driving](https://daily.dev/posts/emacs-31-is-around-the-corner-the-changes-i-m-already-daily-driving-3tjpkrvpn) · Lobsters · 0 upvotes · 0 comments

---

[View this post on daily.dev](https://daily.dev/posts/using-advice-to-limit-lsp-ui-doc-nuisance-9m2yjcpbw)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Using advice to limit lsp-ui-doc nuisance","url":"https://daily.dev/posts/using-advice-to-limit-lsp-ui-doc-nuisance-9m2yjcpbw","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/using-advice-to-limit-lsp-ui-doc-nuisance-9m2yjcpbw"},"datePublished":"2026-02-16T20:31:29.985Z","dateModified":"2026-02-16T20:54:29.936Z","description":"A workaround for lsp-ui-doc's annoying popup positioning in Emacs using Elisp advice functions. The solution dynamically positions the documentation frame on...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/b24478fc31c1b1905303c72cea8e85f4?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/b24478fc31c1b1905303c72cea8e85f4?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Planet Haskell","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Planet Haskell","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/cd3e48fb3b974d10993a5b5b8dcb8a08","url":"https://daily.dev/sources/phaskell"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/using-advice-to-limit-lsp-ui-doc-nuisance-9m2yjcpbw","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"","timeRequired":"PT1M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Planet Haskell","item":"https://daily.dev/sources/phaskell"},{"@type":"ListItem","position":3,"name":"Using advice to limit lsp-ui-doc nuisance"}]}
```

