withfig / fig

Public issue tracker for Fig.
https://fig.io
MIT License
2.06k stars 62 forks source link

Request for Xmonad support #1732

Open aliazani opened 2 years ago

aliazani commented 2 years ago

Sanity checks

Feature Details

Request for Xmonad desktop environment support:

I've mentioned the problem in #1591

mschrage commented 2 years ago

This is just a guess, but try configuring Fig to be a floating window in your ~/.config/xmonad/xmonad.hs file.

See this example configuration.

PS. You can use xprop | grep WM_CLASS to determine the class associated with the Fig app.

mschrage commented 2 years ago

Let's see if r/xmonad has any ideas as well!

aliazani commented 2 years ago

I did that but fig auto complete completely disappeared. I think I should mention that I set ibus env variables in .zshrc because it doesn't working. The output of fig doctor is like below: Let's check if you're logged in... ✔ Logged into Fig

Fig is already running Let's check your dotfiles... ✔ ~/.bashrc contains valid fig hooks ✔ ~/.profile contains valid fig hooks ✔ ~/.bash_profile contains valid fig hooks ✔ ~/.zshrc contains valid fig hooks ✔ ~/.zprofile contains valid fig hooks ✔ ~/.config/fish/conf.d/00_fig_pre.fish contains valid fig hooks ✔ ~/.config/fish/conf.d/99_fig_post.fish contains valid fig hooks

Let's make sure Fig is running... ✔ Fig bin exists ✔ PATH contains ~/.local/bin ✔ Fig Integration ✔ Daemon ✔ Figterm ✔ Insertion lock does not exist ✔ PATH and PseudoTerminal PATH match ✔ Autocomplete dev mode ✔ Plugin dev mode ✔ Mission Control is loading from the correct URL

Let's check if your system is compatible... ● Fig's support for Linux 5.15.60-1-MANJARO - "Manjaro Linux" is in development. It may not work properly on your system.

Let's check fig diagnostic... ✔ Autocomplete is active

Let's check your terminal integrations...

Let's check Linux integrations ✔ IBus Env Check ✔ IBus Check

Fig still not working? Run fig issue to let us know! Or, email us at hello@fig.io!

aliazani commented 2 years ago

After changing configuration for couple of hours, now everything is ok except the position of autosuggestion 2022-08-28-@13-42-13-scrot

mschrage commented 2 years ago

Setting the ibus variables in your zshrc won't work. Needs to be in /etc/environment so that the Alacritty terminal instance itself sees the ibus environment variables, rather than the shell running inside of it.

Add the variables to /etc/environment and then restart your computer.

mschrage commented 2 years ago

Looks like the autocomplete window does not properly set an OverrideRedirect flag or something along those lines to tell the window manager that it would like to not be managed.

If it has any kind of property that you can match on (e.g., a distinguished WM_CLASS), you can create a manageHook to automatically float it until upstream has fixed the issue; something like

appName =? "fig-float" --> doFloat

Looks like we might be able to fix this upstream by setting the override-redirect struct, so no xmonad configuration is required. cc @grant0417

mschrage commented 2 years ago

Is everything working for you now @aliazani?

Also would you mind sharing your xmonad.hs?

aliazani commented 2 years ago

Is everything working for you now @aliazani?

Also would you mind sharing your xmonad.hs?

Every thing looks good for me except the position of the autocomplete box. This is the part of my config file that I've changed.

myManageHook :: XMonad.Query (Data.Monoid.Endo WindowSet)
myManageHook = composeAll
  -- use xprop to findout window detail
  [ className =? "confirm"         --> doFloat
  , className =? "Fig" --> doIgnore -- Ignore Fig
  , isFullscreen -->  doFullFloat
  ] <+> namedScratchpadManageHook myScratchPads

my xmonad.hs

I tried 3 options but doIgnore was the best one. If you wish you can use doFloat, doFullFloat or doCenterFloat but with all of these I found a little blue dot which was annoying for me and also I didn't like the blue shadow around the suggestion box; it would be like below

this this-one I think the best option was doIgnore.

I hope that it would be useful.

mschrage commented 2 years ago

Also worth trying this? https://unix.stackexchange.com/questions/669224/how-to-set-the-override-redirect-flag-on-existing-window

I think that the window position has to do with ibus not being setup correctly but I'm not sure.

aliazani commented 2 years ago

Also worth trying this? https://unix.stackexchange.com/questions/669224/how-to-set-the-override-redirect-flag-on-existing-window

I think that the window position has to do with ibus not being setup correctly but I'm no sure.

It wasn't helpful, I tried that one but nothing happened! I think it's worth mentioning that when I run terminal via fig desktop to set theme and tab function everything is fine even the position of autocomplete box!

If my mind serves me right for ibus I should add an input named fig or something like this but it was in beta version. In the last version I can't find fig in input lists!

aliazani commented 2 years ago

After a call with @grant0417, testing a couple of things now it's clear that the problem is with terminals like alacritty and kitty but gnome-terminal is ok. waiting for fix for alacritty :) @mschrage

squili commented 1 year ago

If my mind serves me right for ibus I should add an input named fig or something like this but it was in beta version. In the last version I can't find fig in input lists!

This is no longer the case! We have removed the requirement of setting Fig as your input engine. The fix for Kitty should be out with 2.6.0 if you want to check what version your local package manager has.